diff --git a/.azure-pipelines/BranchProtectionForPrivateRepo.yml b/.azure-pipelines/BranchProtectionForPrivateRepo.yml
index 7c913b101274..a826a8ecf271 100644
--- a/.azure-pipelines/BranchProtectionForPrivateRepo.yml
+++ b/.azure-pipelines/BranchProtectionForPrivateRepo.yml
@@ -2,7 +2,7 @@ jobs:
- job: "BranchProtectionForPrivateRepo"
pool:
vmImage: 'Ubuntu 16.04'
- condition: and(variables['PRIVATE'], eq(variables['System.PullRequest.TargetBranch'], 'master'))
+ condition: and(variables['PRIVATE'], eq(variables['System.PullRequest.TargetBranch'], 'main'))
steps:
- script: '>&2 echo "the branch is protected"'
failOnStderr: true
diff --git a/.azure-pipelines/PrettierCheck.yml b/.azure-pipelines/PrettierCheck.yml
deleted file mode 100644
index 6880699cf0c2..000000000000
--- a/.azure-pipelines/PrettierCheck.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-jobs:
-- job: "PrettierCheck"
- variables:
- NODE_OPTIONS: '--max-old-space-size=8192'
- pool:
- vmImage: 'Ubuntu 18.04'
- continueOnError: true
- steps:
- - task: Npm@1
- displayName: 'npm install'
- inputs:
- verbose: false
- - script: 'npm run prettier-check'
- displayName: 'Run Prettier Check'
\ No newline at end of file
diff --git a/.azure-pipelines/SDKAutomation.yml b/.azure-pipelines/SDKAutomation.yml
deleted file mode 100644
index 982a0fd77d77..000000000000
--- a/.azure-pipelines/SDKAutomation.yml
+++ /dev/null
@@ -1,94 +0,0 @@
-trigger:
- batch: false
- branches:
- include:
- - master
-
-pr:
- autoCancel: false
-
-variables:
- IMAGE: azopenapi.azurecr.io/openapi/sdk-automation:prod
- REGISTRY_ENDPOINT: azopenapi-registry
-
-jobs:
-- job: "SDKAutomation"
- displayName: SDK
- pool:
- vmImage: 'Ubuntu 18.04'
- timeoutInMinutes: 180
-
- variables:
- NODE_OPTIONS: '--max-old-space-size=8192'
- SPEC_REPO: $(Build.Repository.Name)
- PR_NUMBER: $(System.PullRequest.PullRequestNumber)
- BUILD_ID: $(Build.BuildId)
- strategy:
- matrix:
- Net:
- SDK_REPO_NAME: azure-sdk-for-net
- Java:
- SDK_REPO_NAME: azure-sdk-for-java
- JavaScript:
- SDK_REPO_NAME: azure-sdk-for-js
- Python:
- SDK_REPO_NAME: azure-sdk-for-python
- PythonT2:
- SDK_REPO_NAME: azure-sdk-for-python-track2
- Cliextension:
- SDK_REPO_NAME: azure-cli-extensions
- Go:
- SDK_REPO_NAME: azure-sdk-for-go
- Trenton:
- SDK_REPO_NAME: azure-sdk-for-trenton
- Schema:
- SDK_REPO_NAME: azure-resource-manager-schemas
- steps:
- - checkout: none
- - script: |
- curl \
- -s https://api.github.com/repos/$(Build.Repository.Name)/commits/$(Build.SourceVersion)/pulls \
- -H "Accept: application/vnd.github.groot-preview+json" \
- | python3 -c "import sys,json; a=json.load(sys.stdin); print(f'##vso[task.setvariable variable=PR_NUMBER]{a[0][\"number\"]}' if len(a)>0 and a[0][\"base\"][\"ref\"]=='master' else '##vso[task.logissue type=error]Last commit $(Build.SourceVersion) doesnot have a related PR')"
- displayName: Get PR_NUMBER
- condition: in(variables['Build.Reason'], 'IndividualCI', 'Manual')
- - task: Docker@2
- displayName: Login into ACR
- inputs:
- command: login
- containerRegistry: $(REGISTRY_ENDPOINT)
- - script: |
- docker pull $IMAGE
- docker tag $IMAGE sdk-automation:latest
- 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 SPEC_REPO \
- -e PR_NUMBER \
- -e SDK_REPO_NAME \
- -e AZURE_DEVOPS_EXT_PAT \
- -e BUILD_ID \
- sdk-automation:latest npm start
- condition: or(ne(variables['SDK_REPO_NAME'], 'azure-resource-manager-schemas'), endsWith(variables['SPEC_REPO'], '/azure-rest-api-specs'))
- 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)
- AZURE_DEVOPS_EXT_PAT: $(azure-devops-ext-pat)
- displayName: SDK Automation
diff --git a/.azure-pipelines/ShouldSendPRToMain.yml b/.azure-pipelines/ShouldSendPRToMain.yml
new file mode 100644
index 000000000000..d139949faeb0
--- /dev/null
+++ b/.azure-pipelines/ShouldSendPRToMain.yml
@@ -0,0 +1,8 @@
+jobs:
+ - job: "ShouldSendPRToMain"
+ pool:
+ vmImage: 'Ubuntu 16.04'
+ condition: eq(variables['System.PullRequest.TargetBranch'], 'master')
+ steps:
+ - script: '>&2 echo "##vso[task.logissue type=error]Please edit the pull request to targeting new default branch main"'
+ failOnStderr: true
diff --git a/.azure-pipelines/Spellcheck.yml b/.azure-pipelines/Spellcheck.yml
deleted file mode 100644
index 4adb4fc0c266..000000000000
--- a/.azure-pipelines/Spellcheck.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-jobs:
-- job: "Spellcheck"
- variables:
- NODE_OPTIONS: '--max-old-space-size=8192'
- pool:
- vmImage: 'Ubuntu 16.04'
- continueOnError: true
- steps:
- - task: Npm@1
- displayName: 'npm install'
- inputs:
- verbose: false
- - script: 'npm run spellcheck'
- displayName: 'Run cSpell'
\ No newline at end of file
diff --git a/.azure-pipelines/Syntax.yml b/.azure-pipelines/Syntax.yml
deleted file mode 100644
index dfa882935203..000000000000
--- a/.azure-pipelines/Syntax.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-jobs:
-- job: "Syntax"
- pool:
- vmImage: 'Ubuntu 16.04'
- steps:
- - script: |
- echo TRAVIS: $(TRAVIS)
- echo TRAVIS_BRANCH: $(TRAVIS_BRANCH)
- echo TRAVIS_REPO_SLUG: $(TRAVIS_REPO_SLUG)
- echo TRAVIS_PULL_REQUEST: $(TRAVIS_PULL_REQUEST)
- echo TRAVIS_PULL_REQUEST_SLUG: $(TRAVIS_PULL_REQUEST_SLUG)
- echo TRAVIS_PULL_REQUEST_SHA: $(TRAVIS_PULL_REQUEST_SHA)
- echo PR_ONLY: $(PR_ONLY)
- displayName: "Info"
- - task: Npm@1
- displayName: 'npm install'
- inputs:
- verbose: false
- - script: 'npm test -- test/syntax.js'
- displayName: 'Syntax validation'
\ No newline at end of file
diff --git a/.azure-pipelines/azure-pipelines-data-container.yml b/.azure-pipelines/azure-pipelines-data-container.yml
index ea76cc6346d7..78a12603fcf6 100644
--- a/.azure-pipelines/azure-pipelines-data-container.yml
+++ b/.azure-pipelines/azure-pipelines-data-container.yml
@@ -3,7 +3,7 @@ schedules:
displayName: Daily build
branches:
include:
- - master
+ - main
always: true
pool:
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index fdc860dfdab7..0e3d5a7e270d 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -2,16 +2,16 @@
### Changelog
-Please ensure to add changelog with this PR by answering the following questions.
- 1. What's the purpose of the update?
- - [ ] new service onboarding
- - [ ] new API version
- - [ ] update existing version for new feature
+Add a changelog entry for this PR by answering the following questions:
+ 1. What's the purpose of the update?
+ - [ ] new service onboarding
+ - [ ] new API version
+ - [ ] update existing version for new feature
- [ ] update existing version to fix swagger quality issue in s360
- - [ ] Other, please clarify
- 2. When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet.
- 3. When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
- 4. If it's an update to existing version, please select SDKs of specific language and CLIs that require refresh after swagger is published.
+ - [ ] Other, please clarify
+ 2. When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
+ 3. When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
+ 4. If updating an existing version, please select the specific langauge SDKs and CLIs that must be refreshed after the swagger is published.
- [ ] SDK of .NET (need service team to ensure code readiness)
- [ ] SDK of Python
- [ ] SDK of Java
@@ -20,7 +20,7 @@ Please ensure to add changelog with this PR by answering the following questions
- [ ] PowerShell
- [ ] CLI
- [ ] Terraform
- - [ ] No, no need to refresh for updates in this PR
+ - [ ] No refresh required for updates in this PR
### Contribution checklist:
- [ ] I commit to follow the [Breaking Change Policy](http://aka.ms/bcforapi) of "no breaking changes"
@@ -29,24 +29,32 @@ Please ensure to add changelog with this PR by answering the following questions
If any further question about AME onboarding or validation tools, please view the [FAQ](https://aka.ms/faqinprreview).
-### ARM API Review Checklist
-- [ ] 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.
+### ARM API Review Checklist
+
+> **Applicability**: :warning:
+>
+> If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.
+> - Change to data plane APIs
+> - Adding new properties
+> - All removals
+
+Otherwise your PR may be subject to ARM review requirements. Complete the following:
+- [ ] Check this box if any of the following apply to the PR so that label “WaitForARMFeedback” will be added automatically to begin ARM API Review. Failure to comply may result in delays to the manifest.
+ - Adding a new service
- Adding new API(s)
- Adding a new API version
- - [ ] Ensure to copy the existing version into new directory structure for first commit (including refactoring) and then push new changes including version updates in separate commits. This is required to review the changes efficiently.
- - Adding a new service
+ -[ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit (including refactoring) and then push new changes, including version updates, in separate commits.
-- [ ] Please ensure you've reviewed following [guidelines](https://aka.ms/rpguidelines) including [ARM resource provider contract](https://github.com/Azure/azure-resource-manager-rpc) and [REST guidelines](https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md). Estimated time (4 hours). This is required before you can request review from ARM API Review board.
+- [ ] Ensure you've reviewed following [guidelines](https://aka.ms/rpguidelines) including [ARM resource provider contract](https://github.com/Azure/azure-resource-manager-rpc) and [REST guidelines](https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md). Estimated time (4 hours). This is required before you can request review from ARM API Review board.
- [ ] 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.
### Breaking Change Review Checklist
-If there are following updates in the PR, ensure to request an approval from Breaking Change 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 or public preview version with Breaking Change Validation errors
+If any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the [Breaking Change Policy](http://aka.ms/bcforapi).
+- [ ] Removing API(s) in a stable version
+- [ ] Removing properties in a stable version
+- [ ] Removing API version(s) in a stable version
+- [ ] Updating API in a stable or public preview version with Breaking Change Validation errors
- [ ] Updating API(s) in public preview over 1 year (refer to [Retirement of Previews](https://dev.azure.com/msazure/AzureWiki/_wiki/wikis/AzureWiki.wiki/37683/Retirement-of-Previews))
**Action**: to initiate an evaluation of the breaking change, create a new intake using the [template for breaking changes](https://aka.ms/Breakingchangetemplate). Addition details on the process and office hours are on the [Breaking change Wiki](https://dev.azure.com/msazure/AzureWiki/_wiki/wikis/AzureWiki.wiki/37684/Breaking-Changes).
diff --git a/.github/comment.yml b/.github/comment.yml
index f52e39452a82..c7c59bc9409d 100644
--- a/.github/comment.yml
+++ b/.github/comment.yml
@@ -6,7 +6,7 @@
booleanFilterExpression: "!(ARMSignedOff||ARMChangesRequested||Approved-OkToMerge||WaitForARMRevisit)"
onCheckedLabels:
- WaitForARMFeedback
- onCheckedComments: "Hi, @${PRAuthor} your PR are labelled with WaitForARMFeedback. A notification email will be sent out shortly afterwards to notify ARM review board(armapireview@microsoft.com). cc @${PRAssignee} "
+ onCheckedComments: "Hi, @${PRAuthor} your PR are labelled with WaitForARMFeedback. A notification email will be sent out shortly afterwards to notify ARM review board(armapireview@microsoft.com)."
- rule:
type: label
diff --git a/.github/issue_assignment.yml b/.github/issue_assignment.yml
index db9ce6dfd4a2..f794ce633f5c 100644
--- a/.github/issue_assignment.yml
+++ b/.github/issue_assignment.yml
@@ -2,7 +2,6 @@
- rule:
booleanFilterExpression: "needs-triage"
assignees:
- - PhoenixHe-msft
- raych1
- akning-ms
- leni-msft
diff --git a/.github/pull_request_assignment.yml b/.github/pull_request_assignment.yml
index b6481d867be4..4e2b968803f0 100644
--- a/.github/pull_request_assignment.yml
+++ b/.github/pull_request_assignment.yml
@@ -128,12 +128,6 @@
reviewers:
- fengzhou-msft
-- rule:
- paths:
- - "specification/@(containerservice|containerinstance)/**"
- reviewers:
- - PhoenixHe-msft
-
- rule:
paths:
- "specification/mixedreality/**"
@@ -141,24 +135,12 @@
reviewers:
- leni-msft
-- rule:
- paths:
- - "specification/portal/**"
- reviewers:
- - PhoenixHe-msft
-
- rule:
paths:
- "specification/web/**"
reviewers:
- weidongxu-microsoft
-- rule:
- paths:
- - "specification/testbase/**"
- reviewers:
- - PhoenixHe-msft
-
- rule:
paths:
- "specification/servicelinker/**"
@@ -188,7 +170,6 @@
- ".azure-pipelines-preproduction/**"
reviewers:
- akning-ms
- - PhoenixHe-msft
- raych1
- zhenglaizhang
@@ -197,7 +178,6 @@
paths:
- "**"
reviewers:
- - PhoenixHe-msft
- lirenhe
- weidongxu-microsoft
- ArcturusZhang
@@ -208,3 +188,6 @@
- jianyexi
- zhenglaizhang
- chunyu3
+ - changlong-liu
+ - msyyc
+ - qwordy
diff --git a/CODEOWNERS b/CODEOWNERS
index 6c01da6ca27e..b9c15db2b517 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -8,7 +8,7 @@
/specification/authorization/ @darshanhs90 @stankovski
/specification/automation/ @vrdmr
/specification/azsadmin/ @deathly809
-/specification/batch/ @matthchr @xingwu1
+/specification/batch/ @paterasMSFT @dpwatrous
/specification/batchai/ @alexanderyukhanov
/specification/billing/ @wilcobmsft @asarkar84
/specification/cdn/ @csmengwan @injyzarif @prakharsharma10
@@ -62,7 +62,7 @@
/specification/relay/ @sethmanheim @v-ajnava
/specification/resources/ @Azure/arm-template-deployments @rajshah11 @vivsriaus
/specification/scheduler/ @pinwang81
-/specification/search/data-plane/ @brjohnstmsft @arv100kri @bleroy @heaths @AlexGhiondea @Mohit-Chakraborty
+/specification/search/data-plane/ @brjohnstmsft @arv100kri @bleroy @AlexGhiondea @Mohit-Chakraborty
/specification/search/resource-manager/ @abhi1509 @tjacobhi
/specification/serialconsole/ @amitchat @craigw @asinn826
/specification/service-map/ @daveirwin1
diff --git a/arm-compute/quickstart-templates/aliases.json b/arm-compute/quickstart-templates/aliases.json
index 5d5b1214d514..4c2100de1db4 100644
--- a/arm-compute/quickstart-templates/aliases.json
+++ b/arm-compute/quickstart-templates/aliases.json
@@ -15,18 +15,18 @@
"sku": "7.5",
"version": "latest"
},
- "CoreOS": {
- "publisher": "CoreOS",
- "offer": "CoreOS",
- "sku": "Stable",
- "version": "latest"
- },
"Debian": {
"publisher": "Debian",
"offer": "debian-10",
"sku": "10",
"version": "latest"
},
+ "Flatcar": {
+ "publisher": "kinvolk",
+ "offer": "flatcar-container-linux-free",
+ "sku": "stable",
+ "version": "latest"
+ },
"openSUSE-Leap": {
"publisher": "SUSE",
"offer": "openSUSE-Leap",
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 4a4db2fa538b..96faf6d58c8a 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -19,7 +19,4 @@ variables:
jobs:
- template: .azure-pipelines/BranchProtectionForPrivateRepo.yml
-- template: .azure-pipelines/Syntax.yml
-- template: .azure-pipelines/NetworkValidation.yml
-- template: .azure-pipelines/Spellcheck.yml
-- template: .azure-pipelines/PrettierCheck.yml
+- template: .azure-pipelines/ShouldSendPRToMain.yml
\ No newline at end of file
diff --git a/cSpell.json b/cSpell.json
index 8c55c0f311b5..9a95be8b2983 100644
--- a/cSpell.json
+++ b/cSpell.json
@@ -39,7 +39,7 @@
"softwareTerms",
"typescript"
],
- "overrides": [
+ "overrides": [
{
"filename": "**/specification/databox/resource-manager/Microsoft.DataBox/stable/2018-01-01/databox.json",
"words": [
@@ -70,6 +70,12 @@
"Tera"
]
},
+ {
+ "filename": "**/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/databox.json",
+ "words": [
+ "Tera"
+ ]
+ },
{
"filename": "**/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/Rules.json",
"words": [
@@ -762,6 +768,14 @@
"Fpushpins"
]
},
+ {
+ "filename": "**/specification/maps/data-plane/Render/preview/1.0/render.json",
+ "words": [
+ "Chttp",
+ "Fcontoso",
+ "Fpushpins"
+ ]
+ },
{
"filename": "**/specification/communication/data-plane/Chat/preview/2020-09-21-preview2/communicationserviceschat.json",
"words": [
diff --git a/custom-words.txt b/custom-words.txt
index 21d328170955..cfe6420bea89 100644
--- a/custom-words.txt
+++ b/custom-words.txt
@@ -46,6 +46,7 @@ affinitized
AFRINIC
agentpool
aggregatedcost
+Agri
AHUB
AIAPI
Akamai
@@ -55,6 +56,7 @@ alertrule
alertrules
alertsmanagement
alertstate
+alibaba
Alexa
Algo
allowlist
@@ -137,6 +139,7 @@ asciifolding
Asns
aspnet
assessmentprojects
+Associable
Asturian
asyncinfo
asyncoperation
@@ -290,6 +293,7 @@ BYOK
BYOL
BYOS
bzip
+byoa
cacerts
calculatebaseline
canadacentral
@@ -552,6 +556,11 @@ dewpoint
dhcp
diagnosticcontext
diarization
+DICOM
+Dicom
+dicom
+dicomservice
+dicomservices
digitaltwins
DIMM
Directline
@@ -566,6 +575,7 @@ diskoperations
Distcp
Distro
dllpath
+DMSDB
DMTS
Dnat
dnsname
@@ -681,6 +691,10 @@ featurized
Featurizer
feedbacktype
FHIR
+fhirdestination
+fhirdestinations
+fhirservice
+fhirservices
filegroup
filepath
fileserver
@@ -701,6 +715,7 @@ FPGA
fqdn
FQDNs
Français
+freebsd
freeflow
frontdoor
fsaction
@@ -790,6 +805,7 @@ Haag
haase
Había
hadoop
+HADR
hana
hanaonazure
Hani
@@ -826,6 +842,7 @@ hotpatching
HSLA
HSMs
Hubspot
+Hugepages
hybridconnection
hybriddata
hybriddatamanager
@@ -849,6 +866,7 @@ IDRG
IKEV
ilearner
iloveyou
+illumos
IMAGEBUILDER
Imagelist
imagelists
@@ -886,6 +904,8 @@ INVALIDARG
IOPS
IOSMAM
iotcentral
+iotconnector
+iotconnectors
iotdps
iothub
iothubprovisioningservices
@@ -908,6 +928,7 @@ isdirectory
isfolder
ishostingenvironmentnameavailable
ishostnameavailable
+isIdentityCertExprired
isnullable
isochrone
isordered
@@ -931,6 +952,7 @@ jobschedule
jobscheduler
jobschedules
johnc
+JOHNDEERE
johnsmith
JSONLD
Jtoken
@@ -1060,6 +1082,7 @@ machinelearningcompute
machinelearningexperimentation
machinelearningservices
machinewithhints
+madvise
Magadan
Magento
maintenancewindows
@@ -1090,6 +1113,7 @@ maxmemory
maxpagesize
maxresults
MAXSIZE
+maxzoom
mbaldwin
Mbps
MCAS
@@ -1107,6 +1131,7 @@ Metastores
Metric's
metricdefinitions
metricmetadata
+metricname
metricnames
metricnamespace
metricsadvisor
@@ -1124,11 +1149,14 @@ minidump
minimalmetadata
ministamps
Minkowski
+mipsle
+minzoom
mixedreality
Mkdirs
mktorest
ML's
mlapi
+mlFlowTrackingUri
mnist
modelmanagement
modifiedtime
@@ -1205,8 +1233,11 @@ nchar
ndjson
ndvi
NDVI
+ndwi
+NDWI
Neighbourhood
netapp
+netbsd
netdev
Netdev
netezza
@@ -1215,6 +1246,7 @@ Netfilter
networkruleset
networkrulesets
networkstatus
+networktraversal
networkwatcher
newpassword
newrelapp
@@ -1260,6 +1292,7 @@ nsxt
ntext
ntfs
ntlm
+numa
numrecords
nvarchar
Nynorsk
@@ -1288,6 +1321,7 @@ onpremises
oobe
Oozie
openapi
+openbsd
opencode
opencontainers
openid
@@ -1358,6 +1392,7 @@ phraselist
phraselists
Pids
pipelineruns
+piqd
PITR
pixelated
pkcs
@@ -1427,6 +1462,7 @@ provisioningservices
provisioningState
Psec
PSNR
+pstn
ptrdname
publicipaddresses
publicpreview
@@ -1467,6 +1503,7 @@ RAGZRS
randint
Rankable
rasterize
+rasterized
ratelimit
ravbhatnagar
rawwebsockets
@@ -1586,6 +1623,7 @@ rhel
RIRs
rmem
Rmem
+rmpl
Rolledback
Rollforward
rollouts
@@ -1593,6 +1631,7 @@ rolloverdetails
rootfs
rosettanetprocessconfigurations
rotatediskencryptionkey
+rotationpolicy
routable
routingendpointhealth
rpki
@@ -1691,6 +1730,7 @@ sfhealthid
sfpkg
shamir_share
shapefile
+shapefiles
sharded
sharedkey
sharename
@@ -1743,6 +1783,8 @@ southcentralus
southeastasia
southindia
sparkconf
+sparkconfiguration
+sparkconfigurations
sparkr
sparql
SPDX
@@ -1804,6 +1846,7 @@ streamingendpoint
streamingjobs
streamingservice
subcause
+subcode
subcomponent
subcomponents
subdir
@@ -1904,8 +1947,12 @@ textanalytics
TFIDF
Tful
Tfvc
+tilejson
tileset
tilesets
+timeasc
+timedesc
+timedout
timeframe
timegrain
timeseries
@@ -1966,6 +2013,7 @@ Undeleting
unencrypted
unexamined
unhide
+unhold
Unigrams
uniqueidentifier
uniquestring
@@ -2108,6 +2156,8 @@ Walser
WANAs
WANs
WASB
+wasm
+Wasm
watchlist
Watchlist
watchlists
@@ -2199,6 +2249,7 @@ Unparented
scanrulesets
Ruleset
Rulesets
+Ruleproperties
XLSB
Miti
DOCM
@@ -2207,3 +2258,4 @@ PPTM
XLSM
DOCM
multislot
+Tebibytes
diff --git a/documentation/ci-fix.md b/documentation/ci-fix.md
index 5380826c32c4..6b6cf99fd4d0 100644
--- a/documentation/ci-fix.md
+++ b/documentation/ci-fix.md
@@ -49,18 +49,29 @@ Or you can run it in [OpenAPI Hub](https://portal.azure-devex-tools.com/tools/st
Refer to [Semantic and Model Violations Reference](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/Semantic-and-Model-Violations-Reference.md) for detailed description of validations and how-to-fix guidance.
## Breaking Change Check
+- An API contract is identified by its api-version value. Once published, no changes to this API contract are allowed. This applies regardless of whether the API contract is for private preview, public preview, or GA (stable).
+ - The same-version breaking change linter rules check for changes to an existing api-version swagger.
+- When introducing a new API contract (preview or not), the new API contract must be backwards compatible with the previous GA’s API contract.
+ - However, during a (private or public) preview cycle, a new preview API contract does not have to be backwards compatible with the previous preview API contract although it must still be backwards compatible with the latest GA API contract.
+ - The cross version breaking change linter rules checks for this by comparing the new swagger with the latest GA swagger. If there is no latest GA swagger, then the latest preview if it > 1 year old. If nether a GA or preview > 1 year old exists, then the swagger is considered good.
+### adding label on PR automatically
+The breaking change check has two types of violations: one is breaking change in the same version but not breaking change in a new version, the other is breaking change even in a new version.
+For the former, a label 'NewApiVersionRequired' will be added automatically; For the latter , a label 'BreakingChangeReviewRequired' will be added automatically. Adding each label will trigger a github comment with guildance on how to fix.
+
+### run locally
run oad locally (the breaking change is reported by oad tool):
```
-npm install -g oad
+npm install -g @azure/oad
oad compare
```
Please see [readme](https://github.com/Azure/openapi-diff/blob/master/README.md) for how to install or run tool in details.
Or you can run it in [OpenAPI Hub](https://portal.azure-devex-tools.com/tools/diff).
-Refer to [Oad Docs](https://github.com/Azure/openapi-diff/tree/master/docs) for detailed description of all oad rules and how-to-fix guidance.
+Refer to [Oad Docs](https://github.com/Azure/openapi-diff/tree/master/docs) for detailed description of all oad rules.
-## Linter Validation
+## Linter Diff Validation
+The lint diff validation is to run linter against the currect spec and the spec before current PR , the final result is the differece set between the result running against current specs and the result running against the specs before current PR.
### Run linter locally:
#### Prerequisites:
@@ -75,7 +86,6 @@ autorest --validation --azure-validator --use=@microsoft.azure/classic-openapi-v
autorest --validation --azure-validator --use=@microsoft.azure/classic-openapi-validator@latest --use=@microsoft.azure/openapi-validator@latest [--tag=]
```
-### Document
Please see [readme](https://github.com/Azure/azure-openapi-validator/blob/master/README.md) for how to install or run tool in details.
Or you can run it in [OpenAPI Hub](https://portal.azure-devex-tools.com/tools/linter).
Refer to [openapi-authoring-automated-guidelines](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/openapi-authoring-automated-guidelines.md) for detailed description of all lint rules and how-to-fix guidance.
diff --git a/documentation/openapi-authoring-automated-guidelines.md b/documentation/openapi-authoring-automated-guidelines.md
index 039bfe8cc913..69305028536d 100644
--- a/documentation/openapi-authoring-automated-guidelines.md
+++ b/documentation/openapi-authoring-automated-guidelines.md
@@ -46,8 +46,6 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| [R3030](#R3030) | [PathResourceProviderMatchNamespace](#R3030) | ARM OpenAPI(swagger) specs |
| [R2016](#r2016) | [PatchBodyParametersSchema](#r2016) | ARM and Data plane OpenAPI(swagger) specs |
| [R2062](#r2062) | [XmsResourceInPutResponse](#r2062) | ARM OpenAPI(swagger) specs |
-| [R3027](#r3027) | [TrackedResourceListByResourceGroup](#r3027) | ARM OpenAPI(swagger) specs |
-| [R3028](#r3028) | [TrackedResourceListBySubscription](#r3028) | ARM OpenAPI(swagger) specs |
| [R3011](#r3011) | [DescriptionMustNotBeNodeName](#r3011) | ARM and Data plane OpenAPI(swagger) specs |
| [R2020](#r2020) | [RequiredPropertiesMissingInResourceModel](#r2020) | ARM OpenAPI(swagger) specs |
| [R3020](#r3020) | [PathResourceProviderNamePascalCase](#r3020) | ARM OpenAPI(swagger) specs |
@@ -71,6 +69,8 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| [R3017](#r3017) | [GuidUsage](#r3017) | ARM and Data plane OpenAPI(swagger) specs |
| [R2057](#r2057) | [InvalidSkuModel](#r2057) | ARM OpenAPI(swagger) specs |
| [R3010](#r3010) | [TrackedResourceListByImmediateParent](#r3010) | ARM OpenAPI(swagger) specs |
+| [R3027](#r3027) | [TrackedResourceListByResourceGroup](#r3027) | ARM OpenAPI(swagger) specs |
+| [R3028](#r3028) | [TrackedResourceListBySubscription](#r3028) | ARM OpenAPI(swagger) specs |
| [R2004](#r2004) | [NonApplicationJsonType](#r2004) | ARM OpenAPI(swagger) specs |
| [R4014](#r4014) | [AllResourcesMustHaveGetOperation](#r4014) | ARM OpenAPI(swagger) specs |
### SDK Violations
@@ -116,7 +116,7 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| [R4034](#r4034) | [AzureResourceTagsSchemaValidation](#r4034) | ARM OpenAPI(swagger) specs |
| [R4035](#r4035) | [PrivateEndpointResourceSchemaValidation](#r4035) | ARM OpenAPI(swagger) specs |
| [R4036](#r4036) | [ImplementPrivateEndpointAPIs](#r4036) | ARM OpenAPI(swagger) specs |
-
+| [R4037](#r4037) | [MissingTypeObject](#r4037) | ARM and Data plan OpenAPI(swagger) specs |
#### SDK Warnings
| Id | Rule Name | Applies to |
@@ -237,15 +237,19 @@ For more capitalization guidance, see: [https://msdn.microsoft.com/en-us/library
* fooBarBaz
* resourceKey
* resourceApiKey
+* publicIPAddress
+* enableSsl
**Bad Examples**: The following would be invalid:
* PascalCase
* UpperCamelCase
* resourceAPIKey
+* enableSSL
**Bad Examples**: The following violate these guidelines but would not be caught by automation:
* alllowercase - If there are multiple words, please capitalize starting with the second word
* miXeDcApItAlIzAtIoN - Please capitalize the first letter of each word (and not seemingly random letters)
+* resourceAPIkey - Automation would incorrectly recognize "Ikey" as a word and not flag the property name
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)
@@ -292,7 +296,7 @@ If the resource pointed by the rule is not a tracked resource, this warning may
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)
### R3027 TrackedResourceListByResourceGroup
-**Category** : ARM Error
+**Category** : ARM Warning
**Applies to** : ARM OpenAPI(swagger) specs
@@ -313,7 +317,7 @@ If the resource pointed by the rule is not a tracked resource or the operation t
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)
### R3028 TrackedResourceListBySubscription
-**Category** : ARM Error
+**Category** : ARM Warning
**Applies to** : ARM OpenAPI(swagger) specs
@@ -1595,7 +1599,8 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Output Message**: A '{0}' operation '{1}' with x-ms-long-running-operation extension must have a valid terminal success status code {2}.
-**Description**: The allowed response status codes for a long DELETE operation are "200", "204". The allowed response status codes for a POST operation are "200", "201" ,"202", & "204". The allowed response status codes for a PUT operation are "200" & "201".
+**Description**: For ARM spec, the allowed response status codes for a long DELETE operation are "200" & "204"; the allowed response status codes for a POST operation are "200", "201" ,"202", & "204"; the allowed response status codes for a PUT/PATCH operation are "200" & "201".
+ For Data plane spec, the allowed response status codes for a long DELETE operation are "200","202", & "204"; the allowed response status codes for a POST operation are "200", "201" ,"202", & "204"; the allowed response status codes for a PUT/PATCH operation are "200","201", & "202".
**Why the rule is important**: This will ensure that the DELETE/POST/PUT operations are designed correctly.Please refer [here](./swagger-extensions.md#x-ms-long-running-operation) for further details.
@@ -1907,7 +1912,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
In case of LRO Post operation with return schema, it MAY be ambiguous for the SDK to understand automatically what the return schema is modeling. To avoid any confusion that would lead SDK to incorrectly instantiate the return type, service team needs to explain if the return schema is modeling a result from a "Location" header, or from an "Azure-AsyncOperation" header.
-More details on LRO operation could be found [here](https://github.com/Azure/adx-documentation-pr/blob/master/sdks/LRO/LRO_AzureSDK.md)
+More details on LRO operation could be found [here](https://github.com/Azure/autorest/blob/master/docs/extensions/readme.md#x-ms-long-running-operation)
**How to fix the violation**: For a Post LRO operation, add "x-ms-long-running-operation-options" extension with "final-state-via" property.
``` json
@@ -3459,4 +3464,51 @@ GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{
**How to fix the violation**: Please add the missing private endpoint API path and operation to the swagger.
-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
+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)
+
+
+### R4037 MissingTypeObject
+
+**Category** : SDK Error
+
+**Applies to** : ARM and Data plane OpenAPI(swagger) specs
+
+**Output Message** : The schema '{json path}' is considered an object but without a 'type:object', please add the missing 'type:object'.
+
+**Description**: The rule should apply to any schema with "properties" or "additionalProperties". It is to ensure a schema with "properties" or "additionalProperties" must have explicit "type:object" statement, which means a schema is an object.
+
+**CreatedAt**: May 24, 2021
+
+**LastModifiedAt**: May 24, 2021
+
+**Why this rule is important**: The semantics of with and without "type:object" are different. With “type:object” means “it has to be an object”. Without “type: object” means “it could be any type”. Azure SDK Track 2 generator will honor the difference, and generate different SDK codes.
+A free-form object would like:
+
+**How to fix the violation**:
+Just add the missing 'type:object'.
+
+The following would be valid:
+
+```json
+ "foo": {
+ "type":"object",
+ "properties": {
+ "a" : {
+ "type":"string"
+ }
+ ...
+ }
+ }
+```
+The following would be invalid by default (unless you do it on purpose , then a suppression is required):
+
+```json
+ "foo": {
+ "properties": {
+ "a" : {
+ "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)
diff --git a/documentation/samplefiles/readme.go.md b/documentation/samplefiles/readme.go.md
index 2bef6f16af36..f755026a6888 100644
--- a/documentation/samplefiles/readme.go.md
+++ b/documentation/samplefiles/readme.go.md
@@ -2,25 +2,10 @@
These settings apply only when `--go` is specified on the command line.
-```yaml $(go)
-go:
- license-header: MICROSOFT_MIT_NO_VERSION
- namespace: [[ServiceName]]
- clear-output-folder: true
-```
-
-### Go multi-api
-
-``` yaml $(go) && $(multiapi)
-batch:
- - tag: package-[[Version]][[-ReleaseState]]
-```
-
-### Tag: package-[[Version]][[-ReleaseState]] and go
-
-These settings apply only when `--tag=package-[[Version]][[-ReleaseState]] --go` is specified on the command line.
-Please also specify `--go-sdk-folder=`.
-
-```yaml $(tag) == 'package-[[Version]][[-ReleaseState]]' && $(go)
-output-folder: $(go-sdk-folder)/services[[/ReleaseState]]/$(namespace)/mgmt/[[Version]]/$(namespace)
+```yaml $(go) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/[[ServiceName]]/arm[[ServiceName]]
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
```
diff --git a/documentation/samplefiles/samplereadme.md b/documentation/samplefiles/samplereadme.md
index bce1228cf02e..87547f82a67b 100644
--- a/documentation/samplefiles/samplereadme.md
+++ b/documentation/samplefiles/samplereadme.md
@@ -51,7 +51,7 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-js
- repo: azure-resource-manager-schemas
- repo: azure-cli-extensions
diff --git a/documentation/sdkautomation/README.md b/documentation/sdkautomation/README.md
index a425d04862c5..3d47e9c1745e 100644
--- a/documentation/sdkautomation/README.md
+++ b/documentation/sdkautomation/README.md
@@ -34,7 +34,7 @@ If the configured language is not found here, generation for this readme.md will
7. Launch __initScript__ defined in [SwaggerToSdkConfig](#swaggertosdkconfig). All the script's working directory is root folder of cloned SDK repository.
-8. Calculate __PR diff__ and related `readme.md`. If __generationCallMode__ is __one-for-all-configs__ then run ___one pass for the rest steps___, else (__one-per-configs__) ___loop the rest steps___ with each `readme.md`.
+8. Calculate __PR diff__ and related `readme.md`. If __generationCallMode__ is __one-for-all-configs__ then run ___one pass for the rest steps___, else (__one-per-config__) ___loop the rest steps___ with each `readme.md`.
9. Launch __generateScript__ defined in [SwaggerToSdkConfig](#swaggertosdkconfig) with [generateInput.json](#generateinput). The script should produce [generateOutput.json](#generateoutput) if __parseGenerateOutput__ is true. If dryRun is set to true then first run of __generateScript__ will be used to collect package information , then loop each package info and checkout package related branch and launch __generateScript__ with package related readmeMd and dryRun set to false.
@@ -250,7 +250,7 @@ Output file for generate script.
"full": "To install something...",
"lite": "dotnet something"
},
- "result": "success"
+ "result": "succeeded"
}
]
}
@@ -329,4 +329,4 @@ See [./InstallInstructionScriptOutput.json](https://github.com/Azure/azure-rest-
}
}
}
-```
\ No newline at end of file
+```
diff --git a/package-lock.json b/package-lock.json
index c112b7c88c93..dd8689cf81f3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -25,82 +25,6 @@
"yargs": "^15.3.1"
}
},
- "@azure/oad": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/@azure/oad/-/oad-0.8.2.tgz",
- "integrity": "sha512-cYEdLqBesAJ0m1MAnKkHWzaCK9i1tNWgbMXF1J2xK+S9H0kVGJ6UL8+aJlBa0kq24rcJfqcSdjOfr51B4XXZJw==",
- "dev": true,
- "requires": {
- "@ts-common/fs": "^0.2.0",
- "@ts-common/iterator": "^0.3.6",
- "@ts-common/json": "^0.3.1",
- "@ts-common/json-parser": "^0.9.0",
- "@ts-common/source-map": "^0.5.0",
- "@ts-common/string-map": "^0.3.0",
- "autorest": "^2.0.4407",
- "glob": "^7.1.3",
- "js-yaml": "^3.13.1",
- "json-pointer": "^0.6.0",
- "json-refs": "^3.0.13",
- "request": "^2.88.0",
- "source-map": "^0.7.3",
- "tslib": "^1.9.3",
- "winston": "^2.3.0",
- "yargs": "^13.2.2"
- },
- "dependencies": {
- "cliui": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
- "dev": true,
- "requires": {
- "string-width": "^3.1.0",
- "strip-ansi": "^5.2.0",
- "wrap-ansi": "^5.1.0"
- }
- },
- "wrap-ansi": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.0",
- "string-width": "^3.0.0",
- "strip-ansi": "^5.0.0"
- }
- },
- "yargs": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
- "dev": true,
- "requires": {
- "cliui": "^5.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^2.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^3.0.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^13.1.2"
- }
- },
- "yargs-parser": {
- "version": "13.1.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- }
- }
- },
"@azure/openapi-markdown": {
"version": "0.9.2",
"resolved": "https://registry.npmjs.org/@azure/openapi-markdown/-/openapi-markdown-0.9.2.tgz",
@@ -130,6026 +54,1401 @@
}
}
},
- "@azure/rest-api-specs-scripts": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@azure/rest-api-specs-scripts/-/rest-api-specs-scripts-0.14.0.tgz",
- "integrity": "sha512-5V2KidA4lEx2ARpEw3fCJ04sQJfUfSM28pOVbTqVy3RvOhVHnG4LUfw/CgzCz1OzmxBuwt2hFJWORHxAxKgLSw==",
- "dev": true,
- "requires": {
- "@azure/avocado": "^0.4.1",
- "@azure/oad": "^0.8.1",
- "@azure/swagger-validation-common": "^0.1.2",
- "@octokit/rest": "^16.42.0",
- "@ts-common/string-map": "^0.3.0",
- "commonmark": "0.27.0",
- "fs-extra": "^7.0.1",
- "glob": "^7.1.3",
- "js-yaml": "^3.13.1",
- "oav": "^0.22.9",
- "request": "^2.88.0"
- },
- "dependencies": {
- "@azure/avocado": {
- "version": "0.4.10",
- "resolved": "https://registry.npmjs.org/@azure/avocado/-/avocado-0.4.10.tgz",
- "integrity": "sha512-0zPM0gE/QkQEGZkqyFW2+UgmbhvR1D0MzEucVg1fbVIXpHktVzo0O95bEm6jrg07XrCO3yj9eZmOwTDqotnp9A==",
- "dev": true,
- "requires": {
- "@azure/openapi-markdown": "^0.9.1",
- "@ts-common/async-iterator": "^0.2.2",
- "@ts-common/commonmark-to-markdown": "^1.2.0",
- "@ts-common/fs": "^0.2.0",
- "@ts-common/iterator": "^0.3.6",
- "@ts-common/json": "^0.3.1",
- "@ts-common/json-parser": "^0.8.0",
- "@ts-common/string-map": "^0.3.0",
- "commonmark": "^0.29.0",
- "js-yaml": "^3.13.1",
- "node-object-hash": "^1.4.2"
- },
- "dependencies": {
- "commonmark": {
- "version": "0.29.2",
- "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.29.2.tgz",
- "integrity": "sha512-spe43MvEIaPpHss1T7z4yQaFQfLGmMu+yvCwv6xqhELIwkG/ZGgDpxOPzKxnuYzYT2c+aziCCc8m2rBVLA7jUA==",
- "dev": true,
- "requires": {
- "entities": "~2.0",
- "mdurl": "~1.0.1",
- "minimist": ">=1.2.2",
- "string.prototype.repeat": "^0.2.0"
- }
- }
- }
- },
- "@azure/swagger-validation-common": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/@azure/swagger-validation-common/-/swagger-validation-common-0.1.2.tgz",
- "integrity": "sha512-QjmSpAliTzc77WTCnm3+zS2qVGv5U9/2h2y1ICZKQp5+0JSMcy3dPbS9WiKKkpsGQ2b1BJbDugJqKVg6a+8AeA==",
- "dev": true
- },
- "@ts-common/json-parser": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@ts-common/json-parser/-/json-parser-0.8.0.tgz",
- "integrity": "sha512-mlScUHhZiyUH9Am1zGv4r5ce8SM5OkBz9UpnzQrSK8PDHsgnHVHAukMUKxyvqWB9V2JemTXcbnQkjnrBH02QIQ==",
- "dev": true,
- "requires": {
- "@ts-common/add-position": "0.0.2",
- "@ts-common/iterator": "^0.3.5",
- "@ts-common/json": "^0.3.1",
- "@ts-common/source-map": "^0.5.0",
- "@ts-common/string-map": "^0.3.0",
- "tslib": "^1.9.3"
- }
- },
- "commonmark": {
- "version": "0.27.0",
- "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.27.0.tgz",
- "integrity": "sha1-2GwmK5YoIelIPGnFR7xYhAwEezQ=",
- "dev": true,
- "requires": {
- "entities": "~ 1.1.1",
- "mdurl": "~ 1.0.1",
- "minimist": "~ 1.2.0",
- "string.prototype.repeat": "^0.2.0"
- },
- "dependencies": {
- "entities": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
- "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
- "dev": true
- }
- }
- },
- "entities": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
- "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==",
- "dev": true
- }
- }
- },
"@azure/swagger-validation-common": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/@azure/swagger-validation-common/-/swagger-validation-common-0.0.5.tgz",
"integrity": "sha512-oc6OHLdoLlOpO5GjMcOFETEhJi45CI3MVIhvVY/yqyGw9AtaqOYw5HzO3wTuYgYFeGS4v9iqFah0SNLZrpk3Sg==",
"dev": true
},
- "@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "@ts-common/add-position": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/@ts-common/add-position/-/add-position-0.0.2.tgz",
+ "integrity": "sha512-ENfIN5410jyxqXbQZXmj1ifFPjnhXOuJdQjglDXhLR8vyD74PTUz277BN9Voua2DKeOjlAnyBK7ml1ciMsBqhw==",
"dev": true,
"requires": {
- "@babel/highlight": "^7.10.4"
+ "@ts-common/iterator": "^0.3.5"
}
},
- "@babel/core": {
- "version": "7.12.9",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz",
- "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==",
+ "@ts-common/async-iterator": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@ts-common/async-iterator/-/async-iterator-0.2.3.tgz",
+ "integrity": "sha512-szLdrutwQxBCIECaO2RTFcUPFj+9QVk4xKAj+APgeeLoEs67tNjXFgvfU0kOfF04qTHlPNPqcutSqxMHqzG3qA==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.12.5",
- "@babel/helper-module-transforms": "^7.12.1",
- "@babel/helpers": "^7.12.5",
- "@babel/parser": "^7.12.7",
- "@babel/template": "^7.12.7",
- "@babel/traverse": "^7.12.9",
- "@babel/types": "^7.12.7",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.1",
- "json5": "^2.1.2",
- "lodash": "^4.17.19",
- "resolve": "^1.3.2",
- "semver": "^5.4.1",
- "source-map": "^0.5.0"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "resolve": {
- "version": "1.19.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
- "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
- "dev": true,
- "requires": {
- "is-core-module": "^2.1.0",
- "path-parse": "^1.0.6"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- }
+ "@ts-common/iterator": "^0.3.6",
+ "tslib": "^1.10.0"
}
},
- "@babel/generator": {
- "version": "7.12.5",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz",
- "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==",
+ "@ts-common/commonmark-to-markdown": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@ts-common/commonmark-to-markdown/-/commonmark-to-markdown-1.2.0.tgz",
+ "integrity": "sha1-Gy257ada2oNjbwcopc3sic0D08M=",
"dev": true,
"requires": {
- "@babel/types": "^7.12.5",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
+ "@ts-common/iterator": "^0.3.0",
+ "@types/commonmark": "^0.27.3",
+ "commonmark": "^0.28.1",
+ "front-matter": "^3.0.1"
},
"dependencies": {
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
+ "commonmark": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.28.1.tgz",
+ "integrity": "sha1-Buq41SM4uDn6Gi11rwCF7tGxvq4=",
+ "dev": true,
+ "requires": {
+ "entities": "~ 1.1.1",
+ "mdurl": "~ 1.0.1",
+ "minimist": "~ 1.2.0",
+ "string.prototype.repeat": "^0.2.0"
+ }
}
}
},
- "@babel/helper-function-name": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
- "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
+ "@ts-common/fs": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@ts-common/fs/-/fs-0.2.0.tgz",
+ "integrity": "sha1-FMvf3smooaVjKNr1Ztm8k7iJgrk=",
"dev": true,
"requires": {
- "@babel/helper-get-function-arity": "^7.10.4",
- "@babel/template": "^7.10.4",
- "@babel/types": "^7.10.4"
+ "@ts-common/async-iterator": "^0.2.0",
+ "@types/node": "^10.12.18",
+ "tslib": "^1.9.3"
}
},
- "@babel/helper-get-function-arity": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
- "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.10.4"
- }
+ "@ts-common/iterator": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/@ts-common/iterator/-/iterator-0.3.6.tgz",
+ "integrity": "sha1-/6FLXYkTxIMKXSMdPssHXQLKfm0=",
+ "dev": true
},
- "@babel/helper-member-expression-to-functions": {
- "version": "7.12.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz",
- "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==",
+ "@ts-common/json": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/@ts-common/json/-/json-0.3.1.tgz",
+ "integrity": "sha512-vaplNdZPdeWr4p+hLJGdn08UMTSgYQrlRtxrAS0fAWyMlmFalBm/XRhHnohgiflRaj2jxl7ZxihjNlC/LZ/1YQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.12.7"
+ "@ts-common/iterator": "^0.3.1",
+ "@ts-common/string-map": "^0.3.0"
}
},
- "@babel/helper-module-imports": {
- "version": "7.12.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz",
- "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==",
+ "@ts-common/json-parser": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/@ts-common/json-parser/-/json-parser-0.9.0.tgz",
+ "integrity": "sha512-how0z/Ak7Bay+feIYfJFVV8UMw8Ky2Czoo5XwN7QigCOlN4HyW6wSNup4zrZ7t6NUB0002tW/+IOKCH2lAVJOg==",
"dev": true,
"requires": {
- "@babel/types": "^7.12.5"
+ "@ts-common/add-position": "0.0.2",
+ "@ts-common/iterator": "^0.3.5",
+ "@ts-common/json": "^0.3.1",
+ "@ts-common/source-map": "^0.5.0",
+ "@ts-common/string-map": "^0.3.0",
+ "tslib": "^1.9.3"
}
},
- "@babel/helper-module-transforms": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz",
- "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==",
- "dev": true,
- "requires": {
- "@babel/helper-module-imports": "^7.12.1",
- "@babel/helper-replace-supers": "^7.12.1",
- "@babel/helper-simple-access": "^7.12.1",
- "@babel/helper-split-export-declaration": "^7.11.0",
- "@babel/helper-validator-identifier": "^7.10.4",
- "@babel/template": "^7.10.4",
- "@babel/traverse": "^7.12.1",
- "@babel/types": "^7.12.1",
- "lodash": "^4.17.19"
- }
+ "@ts-common/property-set": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@ts-common/property-set/-/property-set-0.1.0.tgz",
+ "integrity": "sha512-Mw/CPiksQI/Tvp8/bmne6ZYmOcgHuMOrflairbzdpfgMz7lrINFu8PyDQw6yTnIASeZR4yW0xljb66gCE4Jj0w==",
+ "dev": true
},
- "@babel/helper-optimise-call-expression": {
- "version": "7.12.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.7.tgz",
- "integrity": "sha512-I5xc9oSJ2h59OwyUqjv95HRyzxj53DAubUERgQMrpcCEYQyToeHA+NEcUEsVWB4j53RDeskeBJ0SgRAYHDBckw==",
+ "@ts-common/source-map": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/@ts-common/source-map/-/source-map-0.5.0.tgz",
+ "integrity": "sha512-aKFWvuN5uALt+hUtkPA4gHjtloDy2qHW1FB1r758KCTI0h0lP3dNJGcfwg7NnmD0qKQiZAY/J73/NYrbuTfT3A==",
"dev": true,
"requires": {
- "@babel/types": "^7.12.7"
+ "@ts-common/iterator": "^0.3.0",
+ "@ts-common/json": "^0.3.0",
+ "@ts-common/property-set": "^0.1.0",
+ "@ts-common/string-map": "^0.3.0"
}
},
- "@babel/helper-replace-supers": {
- "version": "7.12.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz",
- "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==",
+ "@ts-common/string-map": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@ts-common/string-map/-/string-map-0.3.0.tgz",
+ "integrity": "sha512-tikHtQPV/R48VAnlolyl1FIHciror68LXyruelvYf+lRE6ysjIGB2iNyw7wN6aDcUs2wN/CD6fF8Ye7lVIWNTQ==",
"dev": true,
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.12.1",
- "@babel/helper-optimise-call-expression": "^7.10.4",
- "@babel/traverse": "^7.12.5",
- "@babel/types": "^7.12.5"
+ "@ts-common/iterator": "^0.3.0"
}
},
- "@babel/helper-simple-access": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz",
- "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==",
+ "@ts-common/virtual-fs": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@ts-common/virtual-fs/-/virtual-fs-0.3.0.tgz",
+ "integrity": "sha512-ryoXw52FTLhiexoNBA/hcAlW8gxPhrKEuZODgpCiF0wswNJdg/j+rCb9k1VppJdeIJ30b0Wg+2vPsrOrdnYTIw==",
"dev": true,
"requires": {
- "@babel/types": "^7.12.1"
+ "@ts-common/fs": "^0.2.0",
+ "@ts-common/iterator": "^0.3.0",
+ "@types/async-retry": "^1.4.1",
+ "@types/node-fetch": "^2.5.5",
+ "async-retry": "^1.3.1",
+ "node-fetch": "^2.6.0"
}
},
- "@babel/helper-split-export-declaration": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
- "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.11.0"
- }
+ "@tsconfig/node10": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz",
+ "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==",
+ "dev": true
},
- "@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "@tsconfig/node12": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz",
+ "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==",
"dev": true
},
- "@babel/helpers": {
- "version": "7.12.5",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz",
- "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.10.4",
- "@babel/traverse": "^7.12.5",
- "@babel/types": "^7.12.5"
- }
+ "@tsconfig/node14": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz",
+ "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==",
+ "dev": true
},
- "@babel/highlight": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
- "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "@tsconfig/node16": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz",
+ "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==",
+ "dev": true
+ },
+ "@types/async-retry": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/@types/async-retry/-/async-retry-1.4.2.tgz",
+ "integrity": "sha512-GUDuJURF0YiJZ+CBjNQA0+vbP/VHlJbB0sFqkzsV7EcOPRfurVonXpXKAt3w8qIjM1TEzpz6hc6POocPvHOS3w==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.10.4",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
+ "@types/retry": "*"
}
},
- "@babel/parser": {
- "version": "7.12.7",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.7.tgz",
- "integrity": "sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==",
+ "@types/commonmark": {
+ "version": "0.27.4",
+ "resolved": "https://registry.npmjs.org/@types/commonmark/-/commonmark-0.27.4.tgz",
+ "integrity": "sha512-7koSjp08QxKoS1/+3T15+kD7+vqOUvZRHvM8PutF3Xsk5aAEkdlIGRsHJ3/XsC3izoqTwBdRW/vH7rzCKkIicA==",
"dev": true
},
- "@babel/template": {
- "version": "7.12.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz",
- "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.10.4",
- "@babel/parser": "^7.12.7",
- "@babel/types": "^7.12.7"
- }
+ "@types/js-yaml": {
+ "version": "3.12.1",
+ "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.1.tgz",
+ "integrity": "sha512-SGGAhXLHDx+PK4YLNcNGa6goPf9XRWQNAUUbffkwVGGXIxmDKWyGGL4inzq2sPmExu431Ekb9aEMn9BkPqEYFA==",
+ "dev": true
},
- "@babel/traverse": {
- "version": "7.12.9",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.9.tgz",
- "integrity": "sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.12.5",
- "@babel/helper-function-name": "^7.10.4",
- "@babel/helper-split-export-declaration": "^7.11.0",
- "@babel/parser": "^7.12.7",
- "@babel/types": "^7.12.7",
- "debug": "^4.1.0",
- "globals": "^11.1.0",
- "lodash": "^4.17.19"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- }
- }
+ "@types/mocha": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.0.0.tgz",
+ "integrity": "sha512-scN0hAWyLVAvLR9AyW7HoFF5sJZglyBsbPuHO4fv7JRvfmPBMfp1ozWqOf/e4wwPNxezBZXRfWzMb6iFLgEVRA==",
+ "dev": true
},
- "@babel/types": {
- "version": "7.12.7",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.7.tgz",
- "integrity": "sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.10.4",
- "lodash": "^4.17.19",
- "to-fast-properties": "^2.0.0"
- }
+ "@types/node": {
+ "version": "10.14.16",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.16.tgz",
+ "integrity": "sha512-/opXIbfn0P+VLt+N8DE4l8Mn8rbhiJgabU96ZJ0p9mxOkIks5gh6RUnpHak7Yh0SFkyjO/ODbxsQQPV2bpMmyA==",
+ "dev": true
},
- "@dabh/diagnostics": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz",
- "integrity": "sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==",
+ "@types/node-fetch": {
+ "version": "2.5.7",
+ "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz",
+ "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==",
"dev": true,
"requires": {
- "colorspace": "1.1.x",
- "enabled": "2.0.x",
- "kuler": "^2.0.0"
+ "@types/node": "*",
+ "form-data": "^3.0.0"
}
},
- "@istanbuljs/load-nyc-config": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
- "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
- "dev": true,
- "requires": {
- "camelcase": "^5.3.1",
- "find-up": "^4.1.0",
- "get-package-type": "^0.1.0",
- "js-yaml": "^3.13.1",
- "resolve-from": "^5.0.0"
- },
- "dependencies": {
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- }
- }
+ "@types/prettier": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.0.tgz",
+ "integrity": "sha512-hkc1DATxFLQo4VxPDpMH1gCkPpBbpOoJ/4nhuXw4n63/0R6bCpQECj4+K226UJ4JO/eJQz+1mC2I7JsWanAdQw==",
+ "dev": true
},
- "@istanbuljs/schema": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz",
- "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==",
+ "@types/retry": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
"dev": true
},
- "@microsoft.azure/autorest-extension-base": {
- "version": "1.0.13",
- "resolved": "https://registry.npmjs.org/@microsoft.azure/autorest-extension-base/-/autorest-extension-base-1.0.13.tgz",
- "integrity": "sha1-/VobUj8CzK3525vK8Jez/5mSgeY=",
- "dev": true,
- "requires": {
- "vscode-jsonrpc": "^3.5.0"
- }
+ "ansi-colors": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
+ "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
+ "dev": true
},
- "@mrmlnc/readdir-enhanced": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
- "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": {
- "call-me-maybe": "^1.0.1",
- "glob-to-regexp": "^0.3.0"
+ "color-convert": "^1.9.0"
}
},
- "@nodelib/fs.stat": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
- "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
+ "arg": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
"dev": true
},
- "@octokit/auth-token": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.4.tgz",
- "integrity": "sha512-LNfGu3Ro9uFAYh10MUZVaT7X2CnNm2C8IDQmabx+3DygYIQjs9FwzFAHN/0t6mu5HEPhxcb1XOuxdpY82vCg2Q==",
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
"requires": {
- "@octokit/types": "^6.0.0"
+ "sprintf-js": "~1.0.2"
}
},
- "@octokit/endpoint": {
- "version": "6.0.10",
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.10.tgz",
- "integrity": "sha512-9+Xef8nT7OKZglfkOMm7IL6VwxXUQyR7DUSU0LH/F7VNqs8vyd7es5pTfz9E7DwUIx7R3pGscxu1EBhYljyu7Q==",
+ "async-retry": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.1.tgz",
+ "integrity": "sha512-aiieFW/7h3hY0Bq5d+ktDBejxuwR78vRu9hDUdR8rNhSaQ29VzPL4AoIRG7D/c7tdenwOcKvgPM6tIxB3cB6HA==",
"dev": true,
"requires": {
- "@octokit/types": "^6.0.0",
- "is-plain-object": "^5.0.0",
- "universal-user-agent": "^6.0.0"
- },
- "dependencies": {
- "universal-user-agent": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
- "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==",
- "dev": true
- }
+ "retry": "0.12.0"
}
},
- "@octokit/openapi-types": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-1.2.2.tgz",
- "integrity": "sha512-vrKDLd/Rq4IE16oT+jJkDBx0r29NFkdkU8GwqVSP4RajsAvP23CMGtFhVK0pedUhAiMvG1bGnFcTC/xCKaKgmw==",
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
- "@octokit/plugin-paginate-rest": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz",
- "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==",
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": {
- "@octokit/types": "^2.0.1"
- },
- "dependencies": {
- "@octokit/types": {
- "version": "2.16.2",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
- "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
- "dev": true,
- "requires": {
- "@types/node": ">= 8"
- }
- }
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
}
},
- "@octokit/plugin-request-log": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.2.tgz",
- "integrity": "sha512-oTJSNAmBqyDR41uSMunLQKMX0jmEXbwD1fpz8FG27lScV3RhtGfBa1/BBLym+PxcC16IBlF7KH9vP1BUYxA+Eg==",
+ "browser-stdout": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
+ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
+ "dev": true
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+ "dev": true
+ },
+ "call-me-maybe": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
+ "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"dev": true
},
- "@octokit/plugin-rest-endpoint-methods": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz",
- "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==",
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
- "@octokit/types": "^2.0.1",
- "deprecation": "^2.3.1"
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
},
"dependencies": {
- "@octokit/types": {
- "version": "2.16.2",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
- "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
- "@types/node": ">= 8"
+ "has-flag": "^3.0.0"
}
}
}
},
- "@octokit/request": {
- "version": "5.4.11",
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.11.tgz",
- "integrity": "sha512-vskebNjuz4oTdPIv+9cQjHvjk8vjrMv2fOmSo6zr7IIaFHeVsJlG/C07MXiSS/+g/qU1GHjkPG1XW3faz57EoQ==",
+ "cliui": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
"dev": true,
"requires": {
- "@octokit/endpoint": "^6.0.1",
- "@octokit/request-error": "^2.0.0",
- "@octokit/types": "^6.0.0",
- "deprecation": "^2.0.0",
- "is-plain-object": "^5.0.0",
- "node-fetch": "^2.6.1",
- "once": "^1.4.0",
- "universal-user-agent": "^6.0.0"
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
},
"dependencies": {
- "@octokit/request-error": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.4.tgz",
- "integrity": "sha512-LjkSiTbsxIErBiRh5wSZvpZqT4t0/c9+4dOe0PII+6jXR+oj/h66s7E4a/MghV7iT8W9ffoQ5Skoxzs96+gBPA==",
+ "ansi-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "dev": true
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "@octokit/types": "^6.0.0",
- "deprecation": "^2.0.0",
- "once": "^1.4.0"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
}
},
- "universal-user-agent": {
+ "strip-ansi": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
- "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==",
- "dev": true
- }
- }
- },
- "@octokit/request-error": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz",
- "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==",
- "dev": true,
- "requires": {
- "@octokit/types": "^2.0.0",
- "deprecation": "^2.0.0",
- "once": "^1.4.0"
- },
- "dependencies": {
- "@octokit/types": {
- "version": "2.16.2",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
- "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
"dev": true,
"requires": {
- "@types/node": ">= 8"
+ "ansi-regex": "^5.0.0"
}
}
}
},
- "@octokit/rest": {
- "version": "16.43.2",
- "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz",
- "integrity": "sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==",
- "dev": true,
- "requires": {
- "@octokit/auth-token": "^2.4.0",
- "@octokit/plugin-paginate-rest": "^1.1.1",
- "@octokit/plugin-request-log": "^1.0.0",
- "@octokit/plugin-rest-endpoint-methods": "2.4.0",
- "@octokit/request": "^5.2.0",
- "@octokit/request-error": "^1.0.2",
- "atob-lite": "^2.0.0",
- "before-after-hook": "^2.0.0",
- "btoa-lite": "^1.0.0",
- "deprecation": "^2.0.0",
- "lodash.get": "^4.4.2",
- "lodash.set": "^4.3.2",
- "lodash.uniq": "^4.5.0",
- "octokit-pagination-methods": "^1.1.0",
- "once": "^1.4.0",
- "universal-user-agent": "^4.0.0"
- }
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
},
- "@octokit/types": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.0.1.tgz",
- "integrity": "sha512-H/DnTKC+U09en2GFLH/MfAPNDaYb1isieD4Hx4NLpEt/I1PgtZP/8a+Ehc/j9GHuVF/UvGtOVD8AF9XXvws53w==",
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
"requires": {
- "@octokit/openapi-types": "^1.2.0",
- "@types/node": ">= 8"
+ "color-name": "1.1.3"
}
},
- "@ts-common/add-position": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/@ts-common/add-position/-/add-position-0.0.2.tgz",
- "integrity": "sha512-ENfIN5410jyxqXbQZXmj1ifFPjnhXOuJdQjglDXhLR8vyD74PTUz277BN9Voua2DKeOjlAnyBK7ml1ciMsBqhw==",
- "dev": true,
- "requires": {
- "@ts-common/iterator": "^0.3.5"
- }
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
},
- "@ts-common/async-iterator": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@ts-common/async-iterator/-/async-iterator-0.2.3.tgz",
- "integrity": "sha512-szLdrutwQxBCIECaO2RTFcUPFj+9QVk4xKAj+APgeeLoEs67tNjXFgvfU0kOfF04qTHlPNPqcutSqxMHqzG3qA==",
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dev": true,
"requires": {
- "@ts-common/iterator": "^0.3.6",
- "tslib": "^1.10.0"
+ "delayed-stream": "~1.0.0"
}
},
- "@ts-common/commonmark-to-markdown": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@ts-common/commonmark-to-markdown/-/commonmark-to-markdown-1.2.0.tgz",
- "integrity": "sha1-Gy257ada2oNjbwcopc3sic0D08M=",
+ "commonmark": {
+ "version": "0.29.2",
+ "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.29.2.tgz",
+ "integrity": "sha512-spe43MvEIaPpHss1T7z4yQaFQfLGmMu+yvCwv6xqhELIwkG/ZGgDpxOPzKxnuYzYT2c+aziCCc8m2rBVLA7jUA==",
"dev": true,
"requires": {
- "@ts-common/iterator": "^0.3.0",
- "@types/commonmark": "^0.27.3",
- "commonmark": "^0.28.1",
- "front-matter": "^3.0.1"
+ "entities": "~2.0",
+ "mdurl": "~1.0.1",
+ "minimist": ">=1.2.2",
+ "string.prototype.repeat": "^0.2.0"
},
"dependencies": {
- "commonmark": {
- "version": "0.28.1",
- "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.28.1.tgz",
- "integrity": "sha1-Buq41SM4uDn6Gi11rwCF7tGxvq4=",
- "dev": true,
- "requires": {
- "entities": "~ 1.1.1",
- "mdurl": "~ 1.0.1",
- "minimist": "~ 1.2.0",
- "string.prototype.repeat": "^0.2.0"
- }
- }
- }
- },
- "@ts-common/fs": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@ts-common/fs/-/fs-0.2.0.tgz",
- "integrity": "sha1-FMvf3smooaVjKNr1Ztm8k7iJgrk=",
- "dev": true,
- "requires": {
- "@ts-common/async-iterator": "^0.2.0",
- "@types/node": "^10.12.18",
- "tslib": "^1.9.3"
+ "entities": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
+ "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==",
+ "dev": true
+ }
}
},
- "@ts-common/iterator": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/@ts-common/iterator/-/iterator-0.3.6.tgz",
- "integrity": "sha1-/6FLXYkTxIMKXSMdPssHXQLKfm0=",
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
- "@ts-common/json": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@ts-common/json/-/json-0.3.1.tgz",
- "integrity": "sha512-vaplNdZPdeWr4p+hLJGdn08UMTSgYQrlRtxrAS0fAWyMlmFalBm/XRhHnohgiflRaj2jxl7ZxihjNlC/LZ/1YQ==",
- "dev": true,
- "requires": {
- "@ts-common/iterator": "^0.3.1",
- "@ts-common/string-map": "^0.3.0"
- }
- },
- "@ts-common/json-parser": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/@ts-common/json-parser/-/json-parser-0.9.0.tgz",
- "integrity": "sha512-how0z/Ak7Bay+feIYfJFVV8UMw8Ky2Czoo5XwN7QigCOlN4HyW6wSNup4zrZ7t6NUB0002tW/+IOKCH2lAVJOg==",
- "dev": true,
- "requires": {
- "@ts-common/add-position": "0.0.2",
- "@ts-common/iterator": "^0.3.5",
- "@ts-common/json": "^0.3.1",
- "@ts-common/source-map": "^0.5.0",
- "@ts-common/string-map": "^0.3.0",
- "tslib": "^1.9.3"
- }
- },
- "@ts-common/property-set": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@ts-common/property-set/-/property-set-0.1.0.tgz",
- "integrity": "sha512-Mw/CPiksQI/Tvp8/bmne6ZYmOcgHuMOrflairbzdpfgMz7lrINFu8PyDQw6yTnIASeZR4yW0xljb66gCE4Jj0w==",
+ "create-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
+ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
"dev": true
},
- "@ts-common/source-map": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@ts-common/source-map/-/source-map-0.5.0.tgz",
- "integrity": "sha512-aKFWvuN5uALt+hUtkPA4gHjtloDy2qHW1FB1r758KCTI0h0lP3dNJGcfwg7NnmD0qKQiZAY/J73/NYrbuTfT3A==",
- "dev": true,
- "requires": {
- "@ts-common/iterator": "^0.3.0",
- "@ts-common/json": "^0.3.0",
- "@ts-common/property-set": "^0.1.0",
- "@ts-common/string-map": "^0.3.0"
- }
- },
- "@ts-common/string-map": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@ts-common/string-map/-/string-map-0.3.0.tgz",
- "integrity": "sha512-tikHtQPV/R48VAnlolyl1FIHciror68LXyruelvYf+lRE6ysjIGB2iNyw7wN6aDcUs2wN/CD6fF8Ye7lVIWNTQ==",
- "dev": true,
- "requires": {
- "@ts-common/iterator": "^0.3.0"
- }
- },
- "@ts-common/virtual-fs": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@ts-common/virtual-fs/-/virtual-fs-0.3.0.tgz",
- "integrity": "sha512-ryoXw52FTLhiexoNBA/hcAlW8gxPhrKEuZODgpCiF0wswNJdg/j+rCb9k1VppJdeIJ30b0Wg+2vPsrOrdnYTIw==",
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"dev": true,
"requires": {
- "@ts-common/fs": "^0.2.0",
- "@ts-common/iterator": "^0.3.0",
- "@types/async-retry": "^1.4.1",
- "@types/node-fetch": "^2.5.5",
- "async-retry": "^1.3.1",
- "node-fetch": "^2.6.0"
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
}
},
- "@types/async-retry": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/@types/async-retry/-/async-retry-1.4.2.tgz",
- "integrity": "sha512-GUDuJURF0YiJZ+CBjNQA0+vbP/VHlJbB0sFqkzsV7EcOPRfurVonXpXKAt3w8qIjM1TEzpz6hc6POocPvHOS3w==",
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
"dev": true,
"requires": {
- "@types/retry": "*"
+ "ms": "^2.1.1"
}
},
- "@types/commonmark": {
- "version": "0.27.4",
- "resolved": "https://registry.npmjs.org/@types/commonmark/-/commonmark-0.27.4.tgz",
- "integrity": "sha512-7koSjp08QxKoS1/+3T15+kD7+vqOUvZRHvM8PutF3Xsk5aAEkdlIGRsHJ3/XsC3izoqTwBdRW/vH7rzCKkIicA==",
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
"dev": true
},
- "@types/glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
+ "define-properties": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
"dev": true,
"requires": {
- "@types/minimatch": "*",
- "@types/node": "*"
+ "object-keys": "^1.0.12"
}
},
- "@types/js-yaml": {
- "version": "3.12.1",
- "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.1.tgz",
- "integrity": "sha512-SGGAhXLHDx+PK4YLNcNGa6goPf9XRWQNAUUbffkwVGGXIxmDKWyGGL4inzq2sPmExu431Ekb9aEMn9BkPqEYFA==",
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"dev": true
},
- "@types/jsonpath": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@types/jsonpath/-/jsonpath-0.2.0.tgz",
- "integrity": "sha512-v7qlPA0VpKUlEdhghbDqRoKMxFB3h3Ch688TApBJ6v+XLDdvWCGLJIYiPKGZnS6MAOie+IorCfNYVHOPIHSWwQ==",
+ "diff": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
"dev": true
},
- "@types/minimatch": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
- "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
+ "emoji-regex": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
"dev": true
},
- "@types/mocha": {
- "version": "5.2.7",
- "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz",
- "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=",
- "dev": true
+ "end-of-stream": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+ "dev": true,
+ "requires": {
+ "once": "^1.4.0"
+ }
},
- "@types/node": {
- "version": "10.14.16",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.16.tgz",
- "integrity": "sha512-/opXIbfn0P+VLt+N8DE4l8Mn8rbhiJgabU96ZJ0p9mxOkIks5gh6RUnpHak7Yh0SFkyjO/ODbxsQQPV2bpMmyA==",
+ "entities": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
+ "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
"dev": true
},
- "@types/node-fetch": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz",
- "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==",
+ "es-abstract": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
+ "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
"dev": true,
"requires": {
- "@types/node": "*",
- "form-data": "^3.0.0"
+ "es-to-primitive": "^1.2.0",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "is-callable": "^1.1.4",
+ "is-regex": "^1.0.4",
+ "object-keys": "^1.0.12"
}
},
- "@types/prettier": {
- "version": "1.18.3",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.18.3.tgz",
- "integrity": "sha512-48rnerQdcZ26odp+HOvDGX8IcUkYOCuMc2BodWYTe956MqkHlOGAG4oFQ83cjZ0a4GAgj7mb4GUClxYd2Hlodg==",
- "dev": true
+ "es-to-primitive": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
+ "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
},
- "@types/retry": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
- "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
- "abab": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
- "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==",
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true
},
- "abbrev": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
- "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=",
- "dev": true
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
},
- "acorn": {
- "version": "5.7.4",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz",
- "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==",
- "dev": true
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
},
- "acorn-globals": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz",
- "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
+ "flat": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz",
+ "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==",
"dev": true,
"requires": {
- "acorn": "^6.0.1",
- "acorn-walk": "^6.0.1"
+ "is-buffer": "~2.0.3"
},
"dependencies": {
- "acorn": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
- "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
+ "is-buffer": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz",
+ "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==",
"dev": true
}
}
},
- "acorn-walk": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
- "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==",
- "dev": true
- },
- "aggregate-error": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
- "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+ "form-data": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz",
+ "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==",
"dev": true,
"requires": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
}
},
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "format-util": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/format-util/-/format-util-1.0.3.tgz",
+ "integrity": "sha1-Ay3KShFiYqEsQ/TD7IVmQWxbLZU=",
+ "dev": true
+ },
+ "front-matter": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-3.0.2.tgz",
+ "integrity": "sha512-iBGZaWyzqgsrPGsqrXZP6N4hp5FzSKDi18nfAoYpgz3qK5sAwFv/ojmn3VS60SOgLvq6CtojNqy0y6ZNz05IzQ==",
"dev": true,
"requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
+ "js-yaml": "^3.13.1"
}
},
- "amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
- "dev": true,
- "optional": true
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
},
- "ansi-colors": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
- "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true
},
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
"dev": true,
"requires": {
- "color-convert": "^1.9.0"
+ "pump": "^3.0.0"
}
},
- "append-transform": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
- "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
+ "growl": {
+ "version": "1.10.5",
+ "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
+ "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
+ "dev": true
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"requires": {
- "default-require-extensions": "^3.0.0"
+ "function-bind": "^1.1.1"
}
},
- "archy": {
+ "has-symbols": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
- "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+ "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
"dev": true
},
- "arg": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.1.tgz",
- "integrity": "sha512-SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw==",
+ "he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true
},
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
- "sprintf-js": "~1.0.2"
+ "once": "^1.3.0",
+ "wrappy": "1"
}
},
- "arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
- "arr-flatten": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "is-callable": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
+ "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
"dev": true
},
- "arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "is-date-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
+ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
"dev": true
},
- "array-equal": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
- "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
- "array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "is-regex": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
+ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
"dev": true,
"requires": {
- "array-uniq": "^1.0.1"
+ "has": "^1.0.1"
}
},
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
- "dev": true
- },
- "array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
"dev": true
},
- "asn1": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
- "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "is-symbol": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
+ "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
"dev": true,
"requires": {
- "safer-buffer": "~2.1.0"
+ "has-symbols": "^1.0.0"
}
},
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
- },
- "assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
- "dev": true
- },
- "async": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz",
- "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=",
- "dev": true
- },
- "async-limiter": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
- "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
"dev": true
},
- "async-retry": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.1.tgz",
- "integrity": "sha512-aiieFW/7h3hY0Bq5d+ktDBejxuwR78vRu9hDUdR8rNhSaQ29VzPL4AoIRG7D/c7tdenwOcKvgPM6tIxB3cB6HA==",
+ "js-yaml": {
+ "version": "3.13.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
+ "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
"dev": true,
"requires": {
- "retry": "0.12.0"
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
}
},
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
+ "json-schema-ref-parser": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-6.1.0.tgz",
+ "integrity": "sha1-MK80rqtb7gQx2oBdrA6yG1dL9j0=",
+ "dev": true,
+ "requires": {
+ "call-me-maybe": "^1.0.1",
+ "js-yaml": "^3.12.1",
+ "ono": "^4.0.11"
+ }
},
- "atob": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
- "dev": true
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
},
- "atob-lite": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz",
- "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=",
+ "lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
- "autorest": {
- "version": "2.0.4413",
- "resolved": "https://registry.npmjs.org/autorest/-/autorest-2.0.4413.tgz",
- "integrity": "sha512-Ttx/O6Yag5q8fpJDvllgf/joLuVPBySkbAqDF7+9jAmscCPQplYjA9H/N12bwkhh+6YR3ugWZHQq3NTN33hkAg==",
- "dev": true
+ "log-symbols": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.1"
+ }
},
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "make-error": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
"dev": true
},
- "aws4": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
- "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
- "dev": true
+ "map-age-cleaner": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
+ "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
+ "dev": true,
+ "requires": {
+ "p-defer": "^1.0.0"
+ }
},
- "balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "mdurl": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
+ "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
"dev": true
},
- "base": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "mem": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
+ "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
"dev": true,
"requires": {
- "cache-base": "^1.0.1",
- "class-utils": "^0.3.5",
- "component-emitter": "^1.2.1",
- "define-property": "^1.0.0",
- "isobject": "^3.0.1",
- "mixin-deep": "^1.2.0",
- "pascalcase": "^0.1.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
+ "map-age-cleaner": "^0.1.1",
+ "mimic-fn": "^2.0.0",
+ "p-is-promise": "^2.0.0"
}
},
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "mime-db": {
+ "version": "1.44.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
+ "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.27",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
+ "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
"dev": true,
"requires": {
- "tweetnacl": "^0.14.3"
+ "mime-db": "1.44.0"
}
},
- "before-after-hook": {
+ "mimic-fn": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz",
- "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
"dev": true
},
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "brace-expansion": "^1.1.7"
}
},
- "braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true,
"requires": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
+ "minimist": "0.0.8"
},
"dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
}
}
},
- "browser-process-hrtime": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
- "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
- "dev": true
- },
- "browser-stdout": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
- "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
- "dev": true
- },
- "btoa-lite": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz",
- "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=",
- "dev": true
- },
- "buffer-from": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
- "dev": true
- },
- "cache-base": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
- "dev": true,
- "requires": {
- "collection-visit": "^1.0.0",
- "component-emitter": "^1.2.1",
- "get-value": "^2.0.6",
- "has-value": "^1.0.0",
- "isobject": "^3.0.1",
- "set-value": "^2.0.0",
- "to-object-path": "^0.3.0",
- "union-value": "^1.0.0",
- "unset-value": "^1.0.0"
- }
- },
- "caching-transform": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz",
- "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==",
- "dev": true,
- "requires": {
- "hasha": "^5.0.0",
- "make-dir": "^3.0.0",
- "package-hash": "^4.0.0",
- "write-file-atomic": "^3.0.0"
- }
- },
- "call-me-maybe": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
- "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
- "dev": true
- },
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- },
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "dependencies": {
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "class-utils": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
- "dev": true,
- "requires": {
- "arr-union": "^3.1.0",
- "define-property": "^0.2.5",
- "isobject": "^3.0.0",
- "static-extend": "^0.1.1"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- }
- }
- },
- "clean-stack": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
- "dev": true
- },
- "cliui": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
- "dev": true,
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^6.2.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- }
- }
- },
- "clone-deep": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
- "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.4",
- "kind-of": "^6.0.2",
- "shallow-clone": "^3.0.0"
- },
- "dependencies": {
- "is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true,
- "requires": {
- "isobject": "^3.0.1"
- }
- }
- }
- },
- "code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
- "dev": true
- },
- "collection-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
- "dev": true,
- "requires": {
- "map-visit": "^1.0.0",
- "object-visit": "^1.0.0"
- }
- },
- "color": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz",
- "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.1",
- "color-string": "^1.5.2"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- },
- "color-string": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz",
- "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==",
- "dev": true,
- "requires": {
- "color-name": "^1.0.0",
- "simple-swizzle": "^0.2.2"
- }
- },
- "colors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
- "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
- "dev": true
- },
- "colorspace": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz",
- "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==",
- "dev": true,
- "requires": {
- "color": "3.0.x",
- "text-hex": "1.0.x"
- }
- },
- "combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "commander": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
- "dev": true
- },
- "comment-json": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-1.1.3.tgz",
- "integrity": "sha1-aYbDMw/uDEyeAMI5jNYa+l2PI54=",
- "dev": true,
- "requires": {
- "json-parser": "^1.0.0"
- }
- },
- "commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
- "dev": true
- },
- "commonmark": {
- "version": "0.29.2",
- "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.29.2.tgz",
- "integrity": "sha512-spe43MvEIaPpHss1T7z4yQaFQfLGmMu+yvCwv6xqhELIwkG/ZGgDpxOPzKxnuYzYT2c+aziCCc8m2rBVLA7jUA==",
- "dev": true,
- "requires": {
- "entities": "~2.0",
- "mdurl": "~1.0.1",
- "minimist": ">=1.2.2",
- "string.prototype.repeat": "^0.2.0"
- },
- "dependencies": {
- "entities": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
- "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==",
- "dev": true
- }
- }
- },
- "component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "configstore": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.0.tgz",
- "integrity": "sha512-eE/hvMs7qw7DlcB5JPRnthmrITuHMmACUJAp89v6PT6iOqzoLS7HRWhBtuHMlhNHo2AhUSA/3Dh1bKNJHcublQ==",
- "dev": true,
- "requires": {
- "dot-prop": "^5.1.0",
- "graceful-fs": "^4.1.2",
- "make-dir": "^3.0.0",
- "unique-string": "^2.0.0",
- "write-file-atomic": "^3.0.0",
- "xdg-basedir": "^4.0.0"
- }
- },
- "convert-source-map": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
- "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.1"
- }
- },
- "cookiejar": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz",
- "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==",
- "dev": true
- },
- "copy-descriptor": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
- "dev": true
- },
- "core-js": {
- "version": "2.6.12",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
- "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
- "dev": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
- },
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "crypto-random-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
- "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
- "dev": true
- },
- "cspell": {
- "version": "4.0.30",
- "resolved": "https://registry.npmjs.org/cspell/-/cspell-4.0.30.tgz",
- "integrity": "sha512-dazX00rCgRSL8TAphqFSw7D9p3QdBGh09J8/bFH+hLpz01Yry/XzXjDiyKPlAXFkeFH5Sikgq0Cy/t3cHaLBeQ==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.2",
- "commander": "^2.20.0",
- "comment-json": "^1.1.3",
- "cspell-glob": "^0.1.11",
- "cspell-lib": "^4.1.0",
- "fs-extra": "^8.1.0",
- "gensequence": "^2.1.2",
- "get-stdin": "^7.0.0",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
- },
- "dependencies": {
- "commander": {
- "version": "2.20.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
- "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
- "dev": true
- },
- "fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- }
- }
- },
- "cspell-dict-companies": {
- "version": "1.0.15",
- "resolved": "https://registry.npmjs.org/cspell-dict-companies/-/cspell-dict-companies-1.0.15.tgz",
- "integrity": "sha512-IS3rnqkkZhgyKVsure5g+88q3PyLpgZw3xRB3Fo2W30NgoNW2Zpbh4/H6NR839f94IX2/qUvM/zanQy0B7ogMQ==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-dict-cpp": {
- "version": "1.1.23",
- "resolved": "https://registry.npmjs.org/cspell-dict-cpp/-/cspell-dict-cpp-1.1.23.tgz",
- "integrity": "sha512-vR24jdt3oCE51sfrTPEmzlw1JVltKNkUnS/1kjeauY5VAQjx04Q1XOBPHJHmTNRXdmcX/MvNFR8z3qbpC2pbMA==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-dict-django": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/cspell-dict-django/-/cspell-dict-django-1.0.12.tgz",
- "integrity": "sha512-ChBzWNltlqIs7FSYjQV6qTdkxt4VFQJm2XGlfIoNUZ1kwrOpzVdEUuVpRhWtj9NVB6AJqJxWjm/HzVvMYEY2cg==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-dict-elixir": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/cspell-dict-elixir/-/cspell-dict-elixir-1.0.10.tgz",
- "integrity": "sha512-Z+9K1ZHGo5XnbS2AZ5DG2bpEA9wJ4BdsTa69VIqPgZ6vEfVLqeMidk70FF0Y/DY49+Qyg3ngY0WyE5Je/Romzw==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-dict-en-gb": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/cspell-dict-en-gb/-/cspell-dict-en-gb-1.1.11.tgz",
- "integrity": "sha512-UnmAeMDzf/YeXuI85BIaQzpArXlt+m+I9S9uy88nvUfq6goOfUFN8Axh0idDtqsFNoaMS5TgSzvjP7DgMXArYg==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-dict-en_us": {
- "version": "1.2.18",
- "resolved": "https://registry.npmjs.org/cspell-dict-en_us/-/cspell-dict-en_us-1.2.18.tgz",
- "integrity": "sha512-P2TRblBVd9KOfwjvI5mxzEXMGBvvTIfqcKSQ+0RbpwC2S4ImW9k++LYxy9LtfSRmdSGjHbejYYtsrgvId1KcoA==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-dict-fullstack": {
- "version": "1.0.18",
- "resolved": "https://registry.npmjs.org/cspell-dict-fullstack/-/cspell-dict-fullstack-1.0.18.tgz",
- "integrity": "sha512-vEVf+ppML1PP9vdfkXnydABIYNyDORVN28sniBo0ILLhqFjCJvs1SNQuZxWhak5sgSZ9z4xiHU9TqCEUqhf1jw==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-dict-golang": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/cspell-dict-golang/-/cspell-dict-golang-1.1.12.tgz",
- "integrity": "sha512-G3D5CIJfwPdzpgM/N5d/9hImG637GHn3FUkPzC3Kz1QN2G6JTwTAYPnsKybvLE80U9PUwrylZTZBM+cRZSWPzQ==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-dict-haskell": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/cspell-dict-haskell/-/cspell-dict-haskell-1.0.2.tgz",
- "integrity": "sha512-d+pFdRUGZjusiXRqWW05pZqeFKsR5Nvrp/8qlowp/mwNFRBoMzrrAHnP7DZrfo/zHHpzCR3SnmT0ImnCv2MDcQ==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-dict-html-symbol-entities": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/cspell-dict-html-symbol-entities/-/cspell-dict-html-symbol-entities-1.0.11.tgz",
- "integrity": "sha512-8uqZOa+8jDg/FH1LPfwfgOWT/0+3CXPWoWf4t+SjEhNVRoih2HVweQZCwVr+CsmEHgVON8Tem3OWwz+e1zJwNA==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-dict-java": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/cspell-dict-java/-/cspell-dict-java-1.0.10.tgz",
- "integrity": "sha512-GKgJ+HSii7Xp+LT0Gajy4ipcQgapwsM3fmmZS6pZBZMoodJ0BRzga6QZrBuJSHVhSBV4rFIPJwI4oBGYZCGSpQ==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-dict-latex": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/cspell-dict-latex/-/cspell-dict-latex-1.0.11.tgz",
- "integrity": "sha512-z/mejOvZAHIL76wnk7i/RT1v1IkSCYlk1l8pLW8l/KA76MCdNAB5xA6zfyBCftbhEOBJA9Fx60JU2T2aba4isg==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-dict-lorem-ipsum": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/cspell-dict-lorem-ipsum/-/cspell-dict-lorem-ipsum-1.0.10.tgz",
- "integrity": "sha512-UlboQ3xH+D3l+hemLO4J5yz8EM60SH91f1dJIy2s94AeePZXtwYh1hTFM5dEsXI2CAQkfTu3ZdPWflLsInPfrA==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-dict-php": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/cspell-dict-php/-/cspell-dict-php-1.0.11.tgz",
- "integrity": "sha512-0aC8PWVqEVg5II9+U9DBcUv6k9x1DpclH7l5cbvoiR8u69O/LnVlnSol1nSdzAwBhC6fWQ9mfOiMyDIHNZ2GfA==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-dict-powershell": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/cspell-dict-powershell/-/cspell-dict-powershell-1.0.3.tgz",
- "integrity": "sha512-YHVe8NkjtZmBvdclXev7dkoTODxweiq8H/Z8N0H5jc8pW1IJGBIXIFxlk1AjRW3bS19D5OZIx13J8ims6i5s8w==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-dict-python": {
- "version": "1.0.14",
- "resolved": "https://registry.npmjs.org/cspell-dict-python/-/cspell-dict-python-1.0.14.tgz",
- "integrity": "sha512-w8kevjvayndKkZqY4yt877UzGXUNTG6gB0zoeOCVxnAFFqTexVvmJ9Johc+eOdqd+dnUu6gF8XfX4ZdX5J+Rxw==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-dict-rust": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/cspell-dict-rust/-/cspell-dict-rust-1.0.10.tgz",
- "integrity": "sha512-iwWMVqOMnkTtb2Z50pGs+x9HM6ghqVotVguqgeJUVD62gqjHMHOTXAw/p7e8VFMXEPfVJeCZg3KGT3Ut6b+8Zg==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-dict-scala": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/cspell-dict-scala/-/cspell-dict-scala-1.0.9.tgz",
- "integrity": "sha512-wWMjYe4OLFqeQpHYqBoAlXCwEgANu4DuJIg8Vg9Ig8arzobWX9uzmSwsicyGKtCjyno99/MIHAhksTTr7ccMzQ==",
- "dev": true,
- "requires": {
- "configstore": "^5.0.0"
- }
- },
- "cspell-glob": {
- "version": "0.1.11",
- "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-0.1.11.tgz",
- "integrity": "sha512-1s9539g+AB+V0gX4TPfCvhwWYso/fKlWQIX5w31BuqLjV6e8542x9vpdO/GS7aq1y1vec4ocx0B9I/d1SGFDSg==",
- "dev": true,
- "requires": {
- "micromatch": "^4.0.2"
- },
- "dependencies": {
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
- "dev": true,
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.0.5"
- }
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- }
- }
- },
- "cspell-io": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-4.0.18.tgz",
- "integrity": "sha512-gE3C9bzE8+1W0ThLZ5xeYY5/xqbvUTtnEdsSGQ4VStNyAzcMTzfvWDTtL478z4luAiOxiyNPtQ4clWLGAugSJQ==",
- "dev": true,
- "requires": {
- "iconv-lite": "^0.4.24",
- "iterable-to-stream": "^1.0.1"
- }
- },
- "cspell-lib": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-4.1.0.tgz",
- "integrity": "sha512-2ems0LpIONO51TIQRSiLvECR8RLT8dE2kcEtJS1TVAbh3VQMB2KnAWLLcbBCgqqmCRnYZ/hDrRScd5ZJ+9uZxQ==",
- "dev": true,
- "requires": {
- "comment-json": "^1.1.3",
- "configstore": "^5.0.0",
- "cspell-dict-companies": "^1.0.12",
- "cspell-dict-cpp": "^1.1.21",
- "cspell-dict-django": "^1.0.12",
- "cspell-dict-elixir": "^1.0.10",
- "cspell-dict-en-gb": "^1.1.11",
- "cspell-dict-en_us": "^1.2.18",
- "cspell-dict-fullstack": "^1.0.15",
- "cspell-dict-golang": "^1.1.12",
- "cspell-dict-haskell": "^1.0.2",
- "cspell-dict-html-symbol-entities": "^1.0.11",
- "cspell-dict-java": "^1.0.10",
- "cspell-dict-latex": "^1.0.11",
- "cspell-dict-lorem-ipsum": "^1.0.10",
- "cspell-dict-php": "^1.0.11",
- "cspell-dict-powershell": "^1.0.2",
- "cspell-dict-python": "^1.0.14",
- "cspell-dict-rust": "^1.0.10",
- "cspell-dict-scala": "^1.0.9",
- "cspell-io": "^4.0.18",
- "cspell-trie-lib": "^4.1.0",
- "cspell-util-bundle": "^4.0.5",
- "fs-extra": "^8.1.0",
- "gensequence": "^2.1.2",
- "vscode-uri": "^2.0.3"
- },
- "dependencies": {
- "fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- }
- }
- },
- "cspell-trie-lib": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-4.1.0.tgz",
- "integrity": "sha512-R7omOBBhiz1yu0Wp1an1Vcv+upNREQEel8c4XcUp3kJFpQIP39T4KQc4+oJ4D1g5To3flB0567vVuLAY9orMdg==",
- "dev": true,
- "requires": {
- "gensequence": "^2.1.2",
- "js-xxhash": "^1.0.1"
- }
- },
- "cspell-util-bundle": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/cspell-util-bundle/-/cspell-util-bundle-4.0.5.tgz",
- "integrity": "sha512-luu/xIjoTRt82eJJxf77fhgjU6XJve+CfoTyfejOj7niYDRvoZkt0rTSHPgTI6MADjaZxlCLleSihEgqidt5WQ==",
- "dev": true
- },
- "cssom": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
- "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
- "dev": true
- },
- "cssstyle": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz",
- "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==",
- "dev": true,
- "requires": {
- "cssom": "0.3.x"
- }
- },
- "cycle": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",
- "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=",
- "dev": true
- },
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "data-urls": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
- "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
- "dev": true,
- "requires": {
- "abab": "^2.0.0",
- "whatwg-mimetype": "^2.2.0",
- "whatwg-url": "^7.0.0"
- },
- "dependencies": {
- "whatwg-url": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
- "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
- "dev": true,
- "requires": {
- "lodash.sortby": "^4.7.0",
- "tr46": "^1.0.1",
- "webidl-conversions": "^4.0.2"
- }
- }
- }
- },
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
- "dev": true
- },
- "decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
- "dev": true
- },
- "deep-is": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
- "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
- "dev": true
- },
- "default-require-extensions": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz",
- "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==",
- "dev": true,
- "requires": {
- "strip-bom": "^4.0.0"
- }
- },
- "define-properties": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
- "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
- "dev": true,
- "requires": {
- "object-keys": "^1.0.12"
- }
- },
- "define-property": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.2",
- "isobject": "^3.0.1"
- },
- "dependencies": {
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true
- },
- "deprecation": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
- "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==",
- "dev": true
- },
- "diff": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
- "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
- "dev": true
- },
- "dir-glob": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
- "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==",
- "dev": true,
- "requires": {
- "path-type": "^3.0.0"
- }
- },
- "domexception": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
- "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
- "dev": true,
- "requires": {
- "webidl-conversions": "^4.0.2"
- }
- },
- "dot-prop": {
- "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"
- }
- },
- "drange": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/drange/-/drange-1.1.1.tgz",
- "integrity": "sha512-pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA==",
- "dev": true
- },
- "duplexer": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
- "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
- "dev": true
- },
- "ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
- "dev": true,
- "requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
- "emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
- "dev": true
- },
- "enabled": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz",
- "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==",
- "dev": true
- },
- "end-of-stream": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
- "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
- "dev": true,
- "requires": {
- "once": "^1.4.0"
- }
- },
- "entities": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
- "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
- "dev": true
- },
- "es-abstract": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
- "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
- "dev": true,
- "requires": {
- "es-to-primitive": "^1.2.0",
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "is-callable": "^1.1.4",
- "is-regex": "^1.0.4",
- "object-keys": "^1.0.12"
- }
- },
- "es-to-primitive": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
- "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
- "dev": true,
- "requires": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- }
- },
- "es6-error": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
- "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
- },
- "escodegen": {
- "version": "1.14.3",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz",
- "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==",
- "dev": true,
- "requires": {
- "esprima": "^4.0.1",
- "estraverse": "^4.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "optional": true
- }
- }
- },
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
- },
- "estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
- },
- "execa": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
- "dev": true,
- "requires": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- }
- },
- "expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
- "dev": true,
- "requires": {
- "debug": "^2.3.3",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "posix-character-classes": "^0.1.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
- },
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "dev": true,
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- },
- "is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true,
- "requires": {
- "isobject": "^3.0.1"
- }
- }
- }
- },
- "extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "dev": true,
- "requires": {
- "array-unique": "^0.3.2",
- "define-property": "^1.0.0",
- "expand-brackets": "^2.1.4",
- "extend-shallow": "^2.0.1",
- "fragment-cache": "^0.2.1",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true
- },
- "eyes": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
- "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=",
- "dev": true
- },
- "faker": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/faker/-/faker-4.1.0.tgz",
- "integrity": "sha1-HkW7vsxndLPBlfrSg1EJxtdIzD8=",
- "dev": true
- },
- "fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
- },
- "fast-glob": {
- "version": "2.2.7",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz",
- "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==",
- "dev": true,
- "requires": {
- "@mrmlnc/readdir-enhanced": "^2.2.1",
- "@nodelib/fs.stat": "^1.1.2",
- "glob-parent": "^3.1.0",
- "is-glob": "^4.0.0",
- "merge2": "^1.2.3",
- "micromatch": "^3.1.10"
- }
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
- "dev": true
- },
- "fast-safe-stringify": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
- "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==",
- "dev": true
- },
- "fecha": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz",
- "integrity": "sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg==",
- "dev": true
- },
- "fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "dev": true,
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
- }
- },
- "find-cache-dir": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
- "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==",
- "dev": true,
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- },
- "dependencies": {
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "requires": {
- "semver": "^6.0.0"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "flat": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz",
- "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==",
- "dev": true,
- "requires": {
- "is-buffer": "~2.0.3"
- },
- "dependencies": {
- "is-buffer": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz",
- "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==",
- "dev": true
- }
- }
- },
- "fn.name": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz",
- "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==",
- "dev": true
- },
- "for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
- "dev": true
- },
- "foreach": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
- "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
- "dev": true
- },
- "foreground-child": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
- "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==",
- "dev": true,
- "requires": {
- "cross-spawn": "^7.0.0",
- "signal-exit": "^3.0.2"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true
- },
- "form-data": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz",
- "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- }
- },
- "format-util": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/format-util/-/format-util-1.0.3.tgz",
- "integrity": "sha1-Ay3KShFiYqEsQ/TD7IVmQWxbLZU=",
- "dev": true
- },
- "formidable": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz",
- "integrity": "sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==",
- "dev": true
- },
- "fragment-cache": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
- "dev": true,
- "requires": {
- "map-cache": "^0.2.2"
- }
- },
- "fromentries": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
- "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==",
- "dev": true
- },
- "front-matter": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-3.0.2.tgz",
- "integrity": "sha512-iBGZaWyzqgsrPGsqrXZP6N4hp5FzSKDi18nfAoYpgz3qK5sAwFv/ojmn3VS60SOgLvq6CtojNqy0y6ZNz05IzQ==",
- "dev": true,
- "requires": {
- "js-yaml": "^3.13.1"
- }
- },
- "fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "gensequence": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/gensequence/-/gensequence-2.1.3.tgz",
- "integrity": "sha512-qa/2k1YSyh6TGVtIMtmwv1tXfq7lkhR8pMtOExfZGuwyaqplMhUxyO/Wrw9fV+37B38WE6egpjSMcwyzlNOoHA==",
- "dev": true
- },
- "gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "dev": true
- },
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true
- },
- "get-package-type": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
- "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
- "dev": true
- },
- "get-stdin": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz",
- "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==",
- "dev": true
- },
- "get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
- "dev": true
- },
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "glob": {
- "version": "7.1.4",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
- "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
- "dev": true,
- "requires": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
- },
- "dependencies": {
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.0"
- }
- }
- }
- },
- "glob-to-regexp": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
- "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
- "dev": true
- },
- "globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true
- },
- "globby": {
- "version": "9.2.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz",
- "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==",
- "dev": true,
- "requires": {
- "@types/glob": "^7.1.1",
- "array-union": "^1.0.2",
- "dir-glob": "^2.2.2",
- "fast-glob": "^2.2.6",
- "glob": "^7.1.3",
- "ignore": "^4.0.3",
- "pify": "^4.0.1",
- "slash": "^2.0.0"
- },
- "dependencies": {
- "slash": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
- "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
- "dev": true
- }
- }
- },
- "graceful-fs": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
- "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==",
- "dev": true
- },
- "graphlib": {
- "version": "2.1.8",
- "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz",
- "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.15"
- }
- },
- "growl": {
- "version": "1.10.5",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
- "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
- "dev": true
- },
- "handlebars": {
- "version": "4.7.7",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
- "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5",
- "neo-async": "^2.6.0",
- "source-map": "^0.6.1",
- "uglify-js": "^3.1.4",
- "wordwrap": "^1.0.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true
- },
- "har-validator": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
- "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
- "dev": true,
- "requires": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- }
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
- "dev": true
- },
- "has-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
- "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
- "dev": true
- },
- "has-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
- "dev": true,
- "requires": {
- "get-value": "^2.0.6",
- "has-values": "^1.0.0",
- "isobject": "^3.0.0"
- }
- },
- "has-values": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
- "dev": true,
- "requires": {
- "is-number": "^3.0.0",
- "kind-of": "^4.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "hasha": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz",
- "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==",
- "dev": true,
- "requires": {
- "is-stream": "^2.0.0",
- "type-fest": "^0.8.0"
- },
- "dependencies": {
- "is-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
- "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
- "dev": true
- }
- }
- },
- "he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
- "dev": true
- },
- "html-encoding-sniffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
- "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
- "dev": true,
- "requires": {
- "whatwg-encoding": "^1.0.1"
- }
- },
- "html-escaper": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
- "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
- "dev": true
- },
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
- "dev": true
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true
- },
- "indent-string": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "is-arrayish": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
- "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
- "dev": true
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
- "is-callable": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
- "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
- "dev": true
- },
- "is-core-module": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
- "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
- "dev": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "is-date-object": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
- "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
- "dev": true
- },
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true
- }
- }
- },
- "is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
- "dev": true
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "is-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
- "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
- "dev": true
- },
- "is-plain-object": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
- "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
- "dev": true
- },
- "is-regex": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
- "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
- "dev": true,
- "requires": {
- "has": "^1.0.1"
- }
- },
- "is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
- "dev": true
- },
- "is-symbol": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
- "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
- "dev": true,
- "requires": {
- "has-symbols": "^1.0.0"
- }
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
- },
- "is-windows": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
- "dev": true
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
- },
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
- "dev": true
- },
- "istanbul": {
- "version": "0.4.5",
- "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
- "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=",
- "dev": true,
- "requires": {
- "abbrev": "1.0.x",
- "async": "1.x",
- "escodegen": "1.8.x",
- "esprima": "2.7.x",
- "glob": "^5.0.15",
- "handlebars": "^4.0.1",
- "js-yaml": "3.x",
- "mkdirp": "0.5.x",
- "nopt": "3.x",
- "once": "1.x",
- "resolve": "1.1.x",
- "supports-color": "^3.1.0",
- "which": "^1.1.1",
- "wordwrap": "^1.0.0"
- },
- "dependencies": {
- "escodegen": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
- "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
- "dev": true,
- "requires": {
- "esprima": "^2.7.1",
- "estraverse": "^1.9.1",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.2.0"
- }
- },
- "esprima": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
- "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
- "dev": true
- },
- "estraverse": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
- "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
- "dev": true
- },
- "glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "dev": true,
- "requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "source-map": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
- "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
- "dev": true,
- "optional": true,
- "requires": {
- "amdefine": ">=0.0.4"
- }
- }
- }
- },
- "istanbul-lib-coverage": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
- "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
- "dev": true
- },
- "istanbul-lib-hook": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz",
- "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==",
- "dev": true,
- "requires": {
- "append-transform": "^2.0.0"
- }
- },
- "istanbul-lib-instrument": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
- "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.7.5",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.0.0",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "istanbul-lib-processinfo": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz",
- "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==",
- "dev": true,
- "requires": {
- "archy": "^1.0.0",
- "cross-spawn": "^7.0.0",
- "istanbul-lib-coverage": "^3.0.0-alpha.1",
- "make-dir": "^3.0.0",
- "p-map": "^3.0.0",
- "rimraf": "^3.0.0",
- "uuid": "^3.3.3"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "istanbul-lib-report": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
- "dev": true,
- "requires": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^3.0.0",
- "supports-color": "^7.1.0"
- },
- "dependencies": {
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "istanbul-lib-source-maps": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz",
- "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==",
- "dev": true,
- "requires": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^3.0.0",
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "istanbul-reports": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz",
- "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==",
- "dev": true,
- "requires": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
- }
- },
- "iterable-to-stream": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/iterable-to-stream/-/iterable-to-stream-1.0.1.tgz",
- "integrity": "sha512-O62gD5ADMUGtJoOoM9U6LQ7i4byPXUNoHJ6mqsmkQJcom331ZJGDApWgDESWyBMEHEJRjtHozgIiTzYo9RU4UA==",
- "dev": true
- },
- "js-base64": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
- "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
- "dev": true
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
- "js-xxhash": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/js-xxhash/-/js-xxhash-1.0.4.tgz",
- "integrity": "sha512-S/6Oo7ruxx5k8m4qlMnbpwQdJjRsvvfcIhIk1dA9c5y5GNhYHKYKu9krEK3QgBax6CxJuf4gRL2opgLkdzWIKg==",
- "dev": true
- },
- "js-yaml": {
- "version": "3.13.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
- "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
- "dev": true,
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- },
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true
- },
- "jsdom": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz",
- "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==",
- "dev": true,
- "requires": {
- "abab": "^2.0.0",
- "acorn": "^5.5.3",
- "acorn-globals": "^4.1.0",
- "array-equal": "^1.0.0",
- "cssom": ">= 0.3.2 < 0.4.0",
- "cssstyle": "^1.0.0",
- "data-urls": "^1.0.0",
- "domexception": "^1.0.1",
- "escodegen": "^1.9.1",
- "html-encoding-sniffer": "^1.0.2",
- "left-pad": "^1.3.0",
- "nwsapi": "^2.0.7",
- "parse5": "4.0.0",
- "pn": "^1.1.0",
- "request": "^2.87.0",
- "request-promise-native": "^1.0.5",
- "sax": "^1.2.4",
- "symbol-tree": "^3.2.2",
- "tough-cookie": "^2.3.4",
- "w3c-hr-time": "^1.0.1",
- "webidl-conversions": "^4.0.2",
- "whatwg-encoding": "^1.0.3",
- "whatwg-mimetype": "^2.1.0",
- "whatwg-url": "^6.4.1",
- "ws": "^5.2.0",
- "xml-name-validator": "^3.0.0"
- }
- },
- "jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true
- },
- "json-parser": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/json-parser/-/json-parser-1.1.5.tgz",
- "integrity": "sha1-5i7FJh0aal/CDoEqMgdAxtkAVnc=",
- "dev": true,
- "requires": {
- "esprima": "^2.7.0"
- },
- "dependencies": {
- "esprima": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
- "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
- "dev": true
- }
- }
- },
- "json-pointer": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.1.tgz",
- "integrity": "sha512-3OvjqKdCBvH41DLpV4iSt6v2XhZXV1bPB4OROuknvUXI7ZQNofieCPkmE26stEJ9zdQuvIxDHCuYhfgxFAAs+Q==",
- "dev": true,
- "requires": {
- "foreach": "^2.0.4"
- }
- },
- "json-refs": {
- "version": "3.0.15",
- "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-3.0.15.tgz",
- "integrity": "sha512-0vOQd9eLNBL18EGl5yYaO44GhixmImes2wiYn9Z3sag3QnehWrYWlB9AFtMxCL2Bj3fyxgDYkxGFEU/chlYssw==",
- "dev": true,
- "requires": {
- "commander": "~4.1.1",
- "graphlib": "^2.1.8",
- "js-yaml": "^3.13.1",
- "lodash": "^4.17.15",
- "native-promise-only": "^0.8.1",
- "path-loader": "^1.0.10",
- "slash": "^3.0.0",
- "uri-js": "^4.2.2"
- }
- },
- "json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
- "dev": true
- },
- "json-schema-faker": {
- "version": "0.5.0-rcv.32",
- "resolved": "https://registry.npmjs.org/json-schema-faker/-/json-schema-faker-0.5.0-rcv.32.tgz",
- "integrity": "sha512-buGuuOhzxrf9FWGFybiGNiflGODIC5doU0r23+3MAOyjMR9/KsKolHANSbQnM4N+mmw/dbv9byT3oKZ1wp8v2A==",
- "dev": true,
- "requires": {
- "json-schema-ref-parser": "^6.1.0",
- "jsonpath-plus": "^3.0.0",
- "randexp": "^0.5.3"
- }
- },
- "json-schema-ref-parser": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-6.1.0.tgz",
- "integrity": "sha1-MK80rqtb7gQx2oBdrA6yG1dL9j0=",
- "dev": true,
- "requires": {
- "call-me-maybe": "^1.0.1",
- "js-yaml": "^3.12.1",
- "ono": "^4.0.11"
- }
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
- "dev": true
- },
- "json5": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
- "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "jsonpath": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.0.2.tgz",
- "integrity": "sha512-rmzlgFZiQPc6q4HDyK8s9Qb4oxBnI5sF61y/Co5PV0lc3q2bIuRsNdueVbhoSHdKM4fxeimphOAtfz47yjCfeA==",
- "dev": true,
- "requires": {
- "esprima": "1.2.2",
- "static-eval": "2.0.2",
- "underscore": "^1.12.1"
- },
- "dependencies": {
- "esprima": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz",
- "integrity": "sha1-dqD9Zvz+FU/SkmZ9wmQBl1CxZXs=",
- "dev": true
- }
- }
- },
- "jsonpath-plus": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-3.0.0.tgz",
- "integrity": "sha512-WQwgWEBgn+SJU1tlDa/GiY5/ngRpa9yrSj8n4BYPHcwoxTDaMEaYCHMOn42hIHHDd3CrUoRr3+HpsK0hCKoxzA==",
- "dev": true
- },
- "jsonschema": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.4.tgz",
- "integrity": "sha512-lz1nOH69GbsVHeVgEdvyavc/33oymY1AZwtePMiMj4HZPMbP5OIKK3zT9INMWjwua/V4Z4yq7wSlBbSG+g4AEw==",
- "dev": true
- },
- "jsonschema-draft4": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/jsonschema-draft4/-/jsonschema-draft4-1.0.0.tgz",
- "integrity": "sha1-8K8gBQVPDwrefqIRhhS2ncUS2GU=",
- "dev": true
- },
- "jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
- "dev": true,
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
- }
- },
- "kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "dev": true
- },
- "kuler": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
- "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==",
- "dev": true
- },
- "left-pad": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz",
- "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==",
- "dev": true
- },
- "levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
- "dev": true,
- "requires": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
- }
- },
- "linq": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/linq/-/linq-3.2.3.tgz",
- "integrity": "sha512-OI48ncDVi29Hc4g5+hPd58AkI8YtLUFkZWWvvyC+w1+j8PsDi28tLZnbv3+8PvxSiJUEQDihkQjrIrPkFzEFqQ==",
- "dev": true
- },
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
- "lodash.flattendeep": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
- "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
- "dev": true
- },
- "lodash.get": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
- "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
- "dev": true
- },
- "lodash.isequal": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
- "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
- "dev": true
- },
- "lodash.set": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz",
- "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=",
- "dev": true
- },
- "lodash.sortby": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
- "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
- "dev": true
- },
- "lodash.uniq": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
- "dev": true
- },
- "log-symbols": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
- "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
- "dev": true,
- "requires": {
- "chalk": "^2.0.1"
- }
- },
- "logform": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz",
- "integrity": "sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==",
- "dev": true,
- "requires": {
- "colors": "^1.2.1",
- "fast-safe-stringify": "^2.0.4",
- "fecha": "^4.2.0",
- "ms": "^2.1.1",
- "triple-beam": "^1.3.0"
- },
- "dependencies": {
- "colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
- "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
- "dev": true
- }
- }
- },
- "macos-release": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.4.1.tgz",
- "integrity": "sha512-H/QHeBIN1fIGJX517pvK8IEK53yQOW7YcEI55oYtgjDdoCQQz7eJS94qt5kNrscReEyuD/JcdFCm2XBEcGOITg==",
- "dev": true
- },
- "make-dir": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz",
- "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==",
- "dev": true,
- "requires": {
- "semver": "^6.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "make-error": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz",
- "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==",
- "dev": true
- },
- "map-age-cleaner": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
- "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
- "dev": true,
- "requires": {
- "p-defer": "^1.0.0"
- }
- },
- "map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
- "dev": true
- },
- "map-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
- "dev": true,
- "requires": {
- "object-visit": "^1.0.0"
- }
- },
- "md5-file": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-4.0.0.tgz",
- "integrity": "sha512-UC0qFwyAjn4YdPpKaDNw6gNxRf7Mcx7jC1UGCY4boCzgvU2Aoc1mOGzTtrjjLKhM5ivsnhoKpQVxKPp+1j1qwg==",
- "dev": true
- },
- "mdurl": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
- "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
- "dev": true
- },
- "mem": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
- "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
- "dev": true,
- "requires": {
- "map-age-cleaner": "^0.1.1",
- "mimic-fn": "^2.0.0",
- "p-is-promise": "^2.0.0"
- }
- },
- "merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true
- },
- "methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
- "dev": true
- },
- "micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "dev": true,
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
- }
- },
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "dev": true
- },
- "mime-db": {
- "version": "1.44.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
- "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
- "dev": true
- },
- "mime-types": {
- "version": "2.1.27",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
- "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
- "dev": true,
- "requires": {
- "mime-db": "1.44.0"
- }
- },
- "mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "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": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
- "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
- "dev": true,
- "requires": {
- "for-in": "^1.0.2",
- "is-extendable": "^1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- },
- "is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true,
- "requires": {
- "isobject": "^3.0.1"
- }
- }
- }
- },
- "mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "dev": true,
- "requires": {
- "minimist": "0.0.8"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true
- }
- }
- },
- "mocha": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.0.tgz",
- "integrity": "sha512-qwfFgY+7EKAAUAdv7VYMZQknI7YJSGesxHyhn6qD52DV8UcSZs5XwCifcZGMVIE4a5fbmhvbotxC0DLQ0oKohQ==",
- "dev": true,
- "requires": {
- "ansi-colors": "3.2.3",
- "browser-stdout": "1.3.1",
- "debug": "3.2.6",
- "diff": "3.5.0",
- "escape-string-regexp": "1.0.5",
- "find-up": "3.0.0",
- "glob": "7.1.3",
- "growl": "1.10.5",
- "he": "1.2.0",
- "js-yaml": "3.13.1",
- "log-symbols": "2.2.0",
- "minimatch": "3.0.4",
- "mkdirp": "0.5.1",
- "ms": "2.1.1",
- "node-environment-flags": "1.0.5",
- "object.assign": "4.1.0",
- "strip-json-comments": "2.0.1",
- "supports-color": "6.0.0",
- "which": "1.3.1",
- "wide-align": "1.1.3",
- "yargs": "13.2.2",
- "yargs-parser": "13.0.0",
- "yargs-unparser": "1.5.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "cliui": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
- "dev": true,
- "requires": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0",
- "wrap-ansi": "^2.0.0"
- },
- "dependencies": {
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- }
- }
- },
- "glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "invert-kv": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
- "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
- "dev": true
- },
- "lcid": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
- "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
- "dev": true,
- "requires": {
- "invert-kv": "^2.0.0"
- }
- },
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
- },
- "os-locale": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
- "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
- "dev": true,
- "requires": {
- "execa": "^1.0.0",
- "lcid": "^2.0.0",
- "mem": "^4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "supports-color": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz",
- "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- },
- "wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- }
- }
- },
- "yargs": {
- "version": "13.2.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz",
- "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==",
- "dev": true,
- "requires": {
- "cliui": "^4.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^2.0.1",
- "os-locale": "^3.1.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^3.0.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^13.0.0"
- }
- },
- "yargs-parser": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz",
- "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- }
- }
- },
- "moment": {
- "version": "2.29.1",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
- "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==",
- "dev": true
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "ms-rest": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/ms-rest/-/ms-rest-2.5.4.tgz",
- "integrity": "sha512-VeqCbawxRM6nhw0RKNfj7TWL7SL8PB6MypqwgylXCi+u412uvYoyY/kSmO8n06wyd8nIcnTbYToCmSKFMI1mCg==",
- "dev": true,
- "requires": {
- "duplexer": "^0.1.1",
- "is-buffer": "^1.1.6",
- "is-stream": "^1.1.0",
- "moment": "^2.21.0",
- "request": "^2.88.0",
- "through": "^2.3.8",
- "tunnel": "0.0.5",
- "uuid": "^3.2.1"
- }
- },
- "nanomatch": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
- "dev": true,
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "fragment-cache": "^0.2.1",
- "is-windows": "^1.0.2",
- "kind-of": "^6.0.2",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- }
- },
- "native-promise-only": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz",
- "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=",
- "dev": true
- },
- "neo-async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
- "dev": true
- },
- "nice-try": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
- "dev": true
- },
- "node-environment-flags": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz",
- "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==",
- "dev": true,
- "requires": {
- "object.getownpropertydescriptors": "^2.0.3",
- "semver": "^5.7.0"
- }
- },
- "node-fetch": {
- "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": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/node-object-hash/-/node-object-hash-1.4.2.tgz",
- "integrity": "sha512-UdS4swXs85fCGWWf6t6DMGgpN/vnlKeSGEQ7hJcrs7PBFoxoKLmibc3QRb7fwiYsjdL7PX8iI/TMSlZ90dgHhQ==",
- "dev": true
- },
- "node-preload": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
- "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==",
- "dev": true,
- "requires": {
- "process-on-spawn": "^1.0.0"
- }
- },
- "nopt": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
- "dev": true,
- "requires": {
- "abbrev": "1"
- }
- },
- "npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
- "dev": true,
- "requires": {
- "path-key": "^2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
- "dev": true
- },
- "nwsapi": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
- "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
- "dev": true
- },
- "nyc": {
- "version": "15.1.0",
- "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz",
- "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==",
- "dev": true,
- "requires": {
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.2",
- "caching-transform": "^4.0.0",
- "convert-source-map": "^1.7.0",
- "decamelize": "^1.2.0",
- "find-cache-dir": "^3.2.0",
- "find-up": "^4.1.0",
- "foreground-child": "^2.0.0",
- "get-package-type": "^0.1.0",
- "glob": "^7.1.6",
- "istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-hook": "^3.0.0",
- "istanbul-lib-instrument": "^4.0.0",
- "istanbul-lib-processinfo": "^2.0.2",
- "istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.2",
- "make-dir": "^3.0.0",
- "node-preload": "^0.2.1",
- "p-map": "^3.0.0",
- "process-on-spawn": "^1.0.0",
- "resolve-from": "^5.0.0",
- "rimraf": "^3.0.0",
- "signal-exit": "^3.0.2",
- "spawn-wrap": "^2.0.0",
- "test-exclude": "^6.0.0",
- "yargs": "^15.0.2"
- },
- "dependencies": {
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- }
- }
- },
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true
- },
- "oav": {
- "version": "0.22.9",
- "resolved": "https://registry.npmjs.org/oav/-/oav-0.22.9.tgz",
- "integrity": "sha512-HaeA+nduM5tSx++TjPB15vlZrku5x/8dQPSrK1qOtjkc9gpVfIWAAxV+n0vyLMHeKXKNrD+BdYfhxMhHI/P+MQ==",
- "dev": true,
- "requires": {
- "@azure/openapi-markdown": "^0.9.2",
- "@microsoft.azure/autorest-extension-base": "1.0.13",
- "@ts-common/commonmark-to-markdown": "^1.2.0",
- "@ts-common/iterator": "^0.3.6",
- "@ts-common/json": "^0.3.1",
- "@ts-common/json-parser": "^0.9.0",
- "@ts-common/property-set": "^0.1.0",
- "@ts-common/source-map": "^0.5.0",
- "@ts-common/string-map": "^0.3.0",
- "@ts-common/virtual-fs": "^0.3.0",
- "@types/jsonpath": "^0.2.0",
- "commonmark": "^0.29.0",
- "glob": "^5.0.15",
- "globby": "^9.2.0",
- "js-yaml": "^3.13.1",
- "json-pointer": "^0.6.0",
- "json-refs": "^3.0.13",
- "jsonpath": "^1.0.1",
- "kind-of": "^6.0.3",
- "linq": "^3.2.0",
- "lodash": "^4.17.15",
- "md5-file": "^4.0.0",
- "moment": "^2.24.0",
- "ms-rest": "^2.5.4",
- "swagger-parser": "^6.0.5",
- "uuid": "^3.3.2",
- "vscode-jsonrpc": "^3.6.2",
- "winston": "^3.2.1",
- "yargs": "^15.4.1",
- "yasway": "^1.10.5",
- "yuml2svg": "^4.2.1",
- "z-schema": "^4.2.2"
- },
- "dependencies": {
- "async": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz",
- "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==",
- "dev": true
- },
- "glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "dev": true,
- "requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "is-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
- "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
- "dev": true
- },
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "winston": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz",
- "integrity": "sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==",
- "dev": true,
- "requires": {
- "@dabh/diagnostics": "^2.0.2",
- "async": "^3.1.0",
- "is-stream": "^2.0.0",
- "logform": "^2.2.0",
- "one-time": "^1.0.0",
- "readable-stream": "^3.4.0",
- "stack-trace": "0.0.x",
- "triple-beam": "^1.3.0",
- "winston-transport": "^4.4.0"
- }
- }
- }
- },
- "object-copy": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
- "dev": true,
- "requires": {
- "copy-descriptor": "^0.1.0",
- "define-property": "^0.2.5",
- "kind-of": "^3.0.3"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true
- },
- "object-visit": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
- "dev": true,
- "requires": {
- "isobject": "^3.0.0"
- }
- },
- "object.assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
- "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "function-bind": "^1.1.1",
- "has-symbols": "^1.0.0",
- "object-keys": "^1.0.11"
- }
- },
- "object.getownpropertydescriptors": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
- "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.5.1"
- }
- },
- "object.pick": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
- "dev": true,
- "requires": {
- "isobject": "^3.0.1"
- }
- },
- "octokit-pagination-methods": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz",
- "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==",
- "dev": true
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "one-time": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz",
- "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==",
- "dev": true,
- "requires": {
- "fn.name": "1.x.x"
- }
- },
- "ono": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/ono/-/ono-4.0.11.tgz",
- "integrity": "sha512-jQ31cORBFE6td25deYeD80wxKBMj+zBmHTrVxnc6CKhx8gho6ipmWM5zj/oeoqioZ99yqBls9Z/9Nss7J26G2g==",
- "dev": true,
- "requires": {
- "format-util": "^1.0.3"
- }
- },
- "openapi-schema-validation": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/openapi-schema-validation/-/openapi-schema-validation-0.4.2.tgz",
- "integrity": "sha512-K8LqLpkUf2S04p2Nphq9L+3bGFh/kJypxIG2NVGKX0ffzT4NQI9HirhiY6Iurfej9lCu7y4Ndm4tv+lm86Ck7w==",
- "dev": true,
- "requires": {
- "jsonschema": "1.2.4",
- "jsonschema-draft4": "^1.0.0",
- "swagger-schema-official": "2.0.0-bab6bed"
- }
- },
- "optionator": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
- "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
- "dev": true,
- "requires": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.6",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "word-wrap": "~1.2.3"
- }
- },
- "os-name": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz",
- "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==",
- "dev": true,
- "requires": {
- "macos-release": "^2.2.0",
- "windows-release": "^3.1.0"
- }
- },
- "p-defer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
- "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
- "dev": true
- },
- "p-finally": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
- "dev": true
- },
- "p-is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
- "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
- "dev": true
- },
- "p-limit": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
- "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dev": true,
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "p-map": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
- "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
- "dev": true,
- "requires": {
- "aggregate-error": "^3.0.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
- "package-hash": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz",
- "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.15",
- "hasha": "^5.0.0",
- "lodash.flattendeep": "^4.4.0",
- "release-zalgo": "^1.0.0"
- }
- },
- "parse5": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
- "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==",
- "dev": true
- },
- "pascalcase": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
- "dev": true
- },
- "path-dirname": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
- "dev": true
- },
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
- },
- "path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
- "dev": true
- },
- "path-loader": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.10.tgz",
- "integrity": "sha512-CMP0v6S6z8PHeJ6NFVyVJm6WyJjIwFvyz2b0n2/4bKdS/0uZa/9sKUlYZzubrn3zuDRU0zIuEDX9DZYQ2ZI8TA==",
- "dev": true,
- "requires": {
- "native-promise-only": "^0.8.1",
- "superagent": "^3.8.3"
- }
- },
- "path-parse": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
- "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
- "dev": true
- },
- "path-to-regexp": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
- "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
- "dev": true,
- "requires": {
- "isarray": "0.0.1"
- },
- "dependencies": {
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- }
- }
- },
- "path-type": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
- "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
- "dev": true,
- "requires": {
- "pify": "^3.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true
- }
- }
- },
- "performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true
- },
- "picomatch": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz",
- "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==",
- "dev": true
- },
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true
- },
- "pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "requires": {
- "find-up": "^4.0.0"
- },
- "dependencies": {
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- }
- }
- },
- "pn": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
- "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
- "dev": true
- },
- "posix-character-classes": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
- "dev": true
- },
- "prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
- "dev": true
- },
- "prettier": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
- "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true
- },
- "process-on-spawn": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz",
- "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==",
- "dev": true,
- "requires": {
- "fromentries": "^1.2.0"
- }
- },
- "psl": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
- "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
- "dev": true
- },
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true
- },
- "qs": {
- "version": "6.9.4",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz",
- "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==",
- "dev": true
- },
- "randexp": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.5.3.tgz",
- "integrity": "sha512-U+5l2KrcMNOUPYvazA3h5ekF80FHTUG+87SEAmHZmolh1M+i/WyTCxVzmi+tidIa1tM4BSe8g2Y/D3loWDjj+w==",
- "dev": true,
- "requires": {
- "drange": "^1.0.2",
- "ret": "^0.2.0"
- },
- "dependencies": {
- "ret": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz",
- "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==",
- "dev": true
- }
- }
- },
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "regex-not": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
- "dev": true,
- "requires": {
- "extend-shallow": "^3.0.2",
- "safe-regex": "^1.1.0"
- }
- },
- "release-zalgo": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
- "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=",
- "dev": true,
- "requires": {
- "es6-error": "^4.0.1"
- }
- },
- "repeat-element": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
- "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
- "dev": true
- },
- "repeat-string": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
- "dev": true
- },
- "request": {
- "version": "2.88.2",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "dev": true,
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.5.0",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
- "dependencies": {
- "form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true
- }
- }
- },
- "request-promise-core": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz",
- "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==",
- "dev": true,
- "requires": {
- "lodash": "^4.17.19"
- }
- },
- "request-promise-native": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz",
- "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==",
- "dev": true,
- "requires": {
- "request-promise-core": "1.1.4",
- "stealthy-require": "^1.1.1",
- "tough-cookie": "^2.3.3"
- }
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true
- },
- "require-main-filename": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
- "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
- "dev": true
- },
- "resolve": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
- "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
- "dev": true
- },
- "resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true
- },
- "resolve-url": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
- "dev": true
- },
- "ret": {
- "version": "0.1.15",
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
- "dev": true
- },
- "retry": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
- "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
- "dev": true
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "safe-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
- "dev": true,
- "requires": {
- "ret": "~0.1.10"
- }
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
- },
- "sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
- "dev": true
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- },
- "set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
- "dev": true
- },
- "set-value": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
- "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
- "dev": true,
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.3",
- "split-string": "^3.0.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true,
- "requires": {
- "isobject": "^3.0.1"
- }
- }
- }
- },
- "shallow-clone": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
- "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.2"
- }
- },
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
- "dev": true,
- "requires": {
- "shebang-regex": "^1.0.0"
- }
- },
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
- "dev": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
- "dev": true
- },
- "simple-swizzle": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
- "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
- "dev": true,
- "requires": {
- "is-arrayish": "^0.3.1"
- }
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
- "snapdragon": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "mocha": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.0.tgz",
+ "integrity": "sha512-qwfFgY+7EKAAUAdv7VYMZQknI7YJSGesxHyhn6qD52DV8UcSZs5XwCifcZGMVIE4a5fbmhvbotxC0DLQ0oKohQ==",
"dev": true,
"requires": {
- "base": "^0.11.1",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "map-cache": "^0.2.2",
- "source-map": "^0.5.6",
- "source-map-resolve": "^0.5.0",
- "use": "^3.1.0"
+ "ansi-colors": "3.2.3",
+ "browser-stdout": "1.3.1",
+ "debug": "3.2.6",
+ "diff": "3.5.0",
+ "escape-string-regexp": "1.0.5",
+ "find-up": "3.0.0",
+ "glob": "7.1.3",
+ "growl": "1.10.5",
+ "he": "1.2.0",
+ "js-yaml": "3.13.1",
+ "log-symbols": "2.2.0",
+ "minimatch": "3.0.4",
+ "mkdirp": "0.5.1",
+ "ms": "2.1.1",
+ "node-environment-flags": "1.0.5",
+ "object.assign": "4.1.0",
+ "strip-json-comments": "2.0.1",
+ "supports-color": "6.0.0",
+ "which": "1.3.1",
+ "wide-align": "1.1.3",
+ "yargs": "13.2.2",
+ "yargs-parser": "13.0.0",
+ "yargs-unparser": "1.5.0"
},
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
},
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "cliui": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
+ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
"dev": true,
"requires": {
- "is-descriptor": "^0.1.0"
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0",
+ "wrap-ansi": "^2.0.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ }
+ }
}
},
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "glob": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
"dev": true,
"requires": {
- "is-extendable": "^0.1.0"
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
}
},
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "invert-kv": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
+ "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
"dev": true
- }
- }
- },
- "snapdragon-node": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
- "dev": true,
- "requires": {
- "define-property": "^1.0.0",
- "isobject": "^3.0.0",
- "snapdragon-util": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
},
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "lcid": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
+ "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
"dev": true,
"requires": {
- "kind-of": "^6.0.0"
+ "invert-kv": "^2.0.0"
}
},
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "snapdragon-util": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
- "dev": true,
- "requires": {
- "kind-of": "^3.2.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true
- },
- "source-map-resolve": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
- "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
- "dev": true,
- "requires": {
- "atob": "^2.1.2",
- "decode-uri-component": "^0.2.0",
- "resolve-url": "^0.2.1",
- "source-map-url": "^0.4.0",
- "urix": "^0.1.0"
- }
- },
- "source-map-support": {
- "version": "0.5.13",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
- "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
"dev": true
- }
- }
- },
- "source-map-url": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
- "dev": true
- },
- "spawn-wrap": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
- "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==",
- "dev": true,
- "requires": {
- "foreground-child": "^2.0.0",
- "is-windows": "^1.0.2",
- "make-dir": "^3.0.0",
- "rimraf": "^3.0.0",
- "signal-exit": "^3.0.2",
- "which": "^2.0.1"
- },
- "dependencies": {
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ },
+ "os-locale": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
+ "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
"dev": true,
"requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "split-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
- "dev": true,
- "requires": {
- "extend-shallow": "^3.0.0"
- }
- },
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- },
- "sshpk": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
- "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
- "dev": true,
- "requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- }
- },
- "stack-trace": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
- "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",
- "dev": true
- },
- "static-eval": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz",
- "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==",
- "dev": true,
- "requires": {
- "escodegen": "^1.8.1"
- }
- },
- "static-extend": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
- "dev": true,
- "requires": {
- "define-property": "^0.2.5",
- "object-copy": "^0.1.0"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "execa": "^1.0.0",
+ "lcid": "^2.0.0",
+ "mem": "^4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dev": true,
"requires": {
- "is-descriptor": "^0.1.0"
+ "ansi-regex": "^3.0.0"
}
- }
- }
- },
- "stealthy-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
- "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
- "dev": true
- },
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- }
- },
- "string.prototype.repeat": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz",
- "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=",
- "dev": true
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- },
- "strip-bom": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
- "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
- "dev": true
- },
- "strip-eof": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
- "dev": true
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
- "dev": true
- },
- "superagent": {
- "version": "3.8.3",
- "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz",
- "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==",
- "dev": true,
- "requires": {
- "component-emitter": "^1.2.0",
- "cookiejar": "^2.1.0",
- "debug": "^3.1.0",
- "extend": "^3.0.0",
- "form-data": "^2.3.1",
- "formidable": "^1.2.0",
- "methods": "^1.1.1",
- "mime": "^1.4.1",
- "qs": "^6.5.1",
- "readable-stream": "^2.3.5"
- },
- "dependencies": {
- "form-data": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
- "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
+ },
+ "supports-color": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz",
+ "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==",
"dev": true,
"requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
+ "has-flag": "^3.0.0"
}
- }
- }
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "dev": true,
- "requires": {
- "has-flag": "^1.0.0"
- }
- },
- "swagger-methods": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/swagger-methods/-/swagger-methods-1.0.8.tgz",
- "integrity": "sha512-G6baCwuHA+C5jf4FNOrosE4XlmGsdjbOjdBK4yuiDDj/ro9uR4Srj3OR84oQMT8F3qKp00tYNv0YN730oTHPZA==",
- "dev": true
- },
- "swagger-parser": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/swagger-parser/-/swagger-parser-6.0.5.tgz",
- "integrity": "sha512-UL47eu4+GRm5y+N7J+W6QQiqAJn2lojyqgMwS0EZgA55dXd5xmpQCsjUmH/Rf0eKDiG1kULc9VS515PxAyTDVw==",
- "dev": true,
- "requires": {
- "call-me-maybe": "^1.0.1",
- "json-schema-ref-parser": "^6.0.3",
- "ono": "^4.0.11",
- "openapi-schema-validation": "^0.4.2",
- "swagger-methods": "^1.0.8",
- "swagger-schema-official": "2.0.0-bab6bed",
- "z-schema": "^3.24.2"
- },
- "dependencies": {
- "commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
+ "requires": {
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ }
+ }
+ },
+ "yargs": {
+ "version": "13.2.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz",
+ "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==",
"dev": true,
- "optional": true
+ "requires": {
+ "cliui": "^4.0.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^2.0.1",
+ "os-locale": "^3.1.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^3.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^13.0.0"
+ }
},
- "z-schema": {
- "version": "3.25.1",
- "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.25.1.tgz",
- "integrity": "sha512-7tDlwhrBG+oYFdXNOjILSurpfQyuVgkRe3hB2q8TEssamDHB7BbLWYkYO98nTn0FibfdFroFKDjndbgufAgS/Q==",
+ "yargs-parser": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz",
+ "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==",
"dev": true,
"requires": {
- "commander": "^2.7.1",
- "core-js": "^2.5.7",
- "lodash.get": "^4.0.0",
- "lodash.isequal": "^4.0.0",
- "validator": "^10.0.0"
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
}
}
}
},
- "swagger-schema-official": {
- "version": "2.0.0-bab6bed",
- "resolved": "https://registry.npmjs.org/swagger-schema-official/-/swagger-schema-official-2.0.0-bab6bed.tgz",
- "integrity": "sha1-cAcEaNbSl3ylI3suUZyn0Gouo/0=",
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "symbol-tree": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
- "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
+ "nice-try": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
"dev": true
},
- "test-exclude": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
- "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
+ "node-environment-flags": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz",
+ "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==",
"dev": true,
"requires": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
+ "object.getownpropertydescriptors": "^2.0.3",
+ "semver": "^5.7.0"
}
},
- "text-hex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
- "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==",
- "dev": true
- },
- "through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "node-fetch": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
+ "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
"dev": true
},
- "to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "node-object-hash": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/node-object-hash/-/node-object-hash-1.4.2.tgz",
+ "integrity": "sha512-UdS4swXs85fCGWWf6t6DMGgpN/vnlKeSGEQ7hJcrs7PBFoxoKLmibc3QRb7fwiYsjdL7PX8iI/TMSlZ90dgHhQ==",
"dev": true
},
- "to-object-path": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
- "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "to-regex": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
"dev": true,
"requires": {
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "regex-not": "^1.0.2",
- "safe-regex": "^1.1.0"
+ "path-key": "^2.0.0"
}
},
- "to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
- "dev": true,
- "requires": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
- }
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
},
- "tough-cookie": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
- "dev": true,
- "requires": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- }
+ "object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "dev": true
},
- "tr46": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
- "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
+ "object.assign": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
"dev": true,
"requires": {
- "punycode": "^2.1.0"
+ "define-properties": "^1.1.2",
+ "function-bind": "^1.1.1",
+ "has-symbols": "^1.0.0",
+ "object-keys": "^1.0.11"
}
},
- "triple-beam": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",
- "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==",
- "dev": true
- },
- "ts-node": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz",
- "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==",
+ "object.getownpropertydescriptors": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
+ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
"dev": true,
"requires": {
- "arg": "^4.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "source-map-support": "^0.5.6",
- "yn": "^3.0.0"
- },
- "dependencies": {
- "diff": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz",
- "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==",
- "dev": true
- }
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.5.1"
}
},
- "tslib": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
- "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
- "dev": true
- },
- "tunnel": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.5.tgz",
- "integrity": "sha512-gj5sdqherx4VZKMcBA4vewER7zdK25Td+z1npBqpbDys4eJrLx+SlYjJvq1bDXs2irkuJM5pf8ktaEQVipkrbA==",
- "dev": true
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"requires": {
- "safe-buffer": "^5.0.1"
+ "wrappy": "1"
}
},
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true
- },
- "type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "ono": {
+ "version": "4.0.11",
+ "resolved": "https://registry.npmjs.org/ono/-/ono-4.0.11.tgz",
+ "integrity": "sha512-jQ31cORBFE6td25deYeD80wxKBMj+zBmHTrVxnc6CKhx8gho6ipmWM5zj/oeoqioZ99yqBls9Z/9Nss7J26G2g==",
"dev": true,
"requires": {
- "prelude-ls": "~1.1.2"
+ "format-util": "^1.0.3"
}
},
- "type-fest": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
- "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "p-defer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
+ "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
"dev": true
},
- "typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
- "dev": true,
- "requires": {
- "is-typedarray": "^1.0.0"
- }
- },
- "typescript": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz",
- "integrity": "sha1-yDD2V/k/HqhGgZ6SkJL1/lmD6Xc=",
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
"dev": true
},
- "uglify-js": {
- "version": "3.12.1",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.1.tgz",
- "integrity": "sha512-o8lHP20KjIiQe5b/67Rh68xEGRrc2SRsCuuoYclXXoC74AfSRGblU1HKzJWH3HxPZ+Ort85fWHpSX7KwBUC9CQ==",
- "optional": true
- },
- "underscore": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz",
- "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==",
+ "p-is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
+ "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
"dev": true
},
- "union-value": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
- "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+ "p-limit": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
+ "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
"dev": true,
"requires": {
- "arr-union": "^3.1.0",
- "get-value": "^2.0.6",
- "is-extendable": "^0.1.1",
- "set-value": "^2.0.1"
+ "p-try": "^2.0.0"
}
},
- "unique-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
- "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
"dev": true,
"requires": {
- "crypto-random-string": "^2.0.0"
+ "p-limit": "^2.0.0"
}
},
- "universal-user-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz",
- "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==",
- "dev": true,
- "requires": {
- "os-name": "^3.1.0"
- }
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true
},
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
"dev": true
},
- "unset-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
- "dev": true,
- "requires": {
- "has-value": "^0.3.1",
- "isobject": "^3.0.0"
- },
- "dependencies": {
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "dev": true,
- "requires": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- },
- "dependencies": {
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "dev": true,
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
- "dev": true
- }
- }
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "prettier": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz",
+ "integrity": "sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==",
+ "dev": true
},
- "uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
"dev": true,
"requires": {
- "punycode": "^2.1.0"
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
}
},
- "urix": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true
},
- "use": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "require-main-filename": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
"dev": true
},
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "retry": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
"dev": true
},
- "uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
},
- "validator": {
- "version": "10.11.0",
- "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz",
- "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==",
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true
},
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
"dev": true,
"requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
+ "shebang-regex": "^1.0.0"
}
},
- "viz.js": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/viz.js/-/viz.js-2.1.2.tgz",
- "integrity": "sha512-UO6CPAuEMJ8oNR0gLLNl+wUiIzQUsyUOp8SyyDKTqVRBtq7kk1VnFmIZW8QufjxGrGEuI+LVR7p/C7uEKy0LQw==",
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true
},
- "vscode-jsonrpc": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.6.2.tgz",
- "integrity": "sha512-T24Jb5V48e4VgYliUXMnZ379ItbrXgOimweKaJshD84z+8q7ZOZjJan0MeDe+Ugb+uqERDVV8SBmemaGMSMugA==",
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
- "vscode-uri": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.0.3.tgz",
- "integrity": "sha512-4D3DI3F4uRy09WNtDGD93H9q034OHImxiIcSq664Hq1Y1AScehlP3qqZyTkX/RWxeu0MRMHGkrxYqm2qlDF/aw==",
+ "source-map-support": {
+ "version": "0.5.19",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
},
- "w3c-hr-time": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
- "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
"dev": true,
"requires": {
- "browser-process-hrtime": "^1.0.0"
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
}
},
- "webidl-conversions": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
- "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
+ "string.prototype.repeat": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz",
+ "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=",
"dev": true
},
- "whatwg-encoding": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
- "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"dev": true,
"requires": {
- "iconv-lite": "0.4.24"
+ "ansi-regex": "^4.1.0"
}
},
- "whatwg-mimetype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
- "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
"dev": true
},
- "whatwg-url": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz",
- "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==",
+ "ts-node": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.1.0.tgz",
+ "integrity": "sha512-6szn3+J9WyG2hE+5W8e0ruZrzyk1uFLYye6IGMBadnOzDh8aP7t8CbFpsfCiEx2+wMixAhjFt7lOZC4+l+WbEA==",
"dev": true,
"requires": {
- "lodash.sortby": "^4.7.0",
- "tr46": "^1.0.1",
- "webidl-conversions": "^4.0.2"
+ "@tsconfig/node10": "^1.0.7",
+ "@tsconfig/node12": "^1.0.7",
+ "@tsconfig/node14": "^1.0.0",
+ "@tsconfig/node16": "^1.0.1",
+ "arg": "^4.1.0",
+ "create-require": "^1.1.0",
+ "diff": "^4.0.1",
+ "make-error": "^1.1.1",
+ "source-map-support": "^0.5.17",
+ "yn": "3.1.1"
+ },
+ "dependencies": {
+ "diff": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+ "dev": true
+ }
}
},
+ "tslib": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
+ "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
+ "dev": true
+ },
+ "typescript": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz",
+ "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==",
+ "dev": true
+ },
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -6201,51 +1500,6 @@
}
}
},
- "windows-release": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz",
- "integrity": "sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==",
- "dev": true,
- "requires": {
- "execa": "^1.0.0"
- }
- },
- "winston": {
- "version": "2.4.5",
- "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz",
- "integrity": "sha512-TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==",
- "dev": true,
- "requires": {
- "async": "~1.0.0",
- "colors": "1.0.x",
- "cycle": "1.0.x",
- "eyes": "0.1.x",
- "isstream": "0.1.x",
- "stack-trace": "0.0.x"
- }
- },
- "winston-transport": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz",
- "integrity": "sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==",
- "dev": true,
- "requires": {
- "readable-stream": "^2.3.7",
- "triple-beam": "^1.2.0"
- }
- },
- "word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true
- },
- "wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
- "dev": true
- },
"wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
@@ -6327,39 +1581,6 @@
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
- "write-file-atomic": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.0.tgz",
- "integrity": "sha512-EIgkf60l2oWsffja2Sf2AL384dx328c0B+cIYPTQq5q2rOYuDV00/iPFBOUiDKKwKMOhkymH8AidPaRvzfxY+Q==",
- "dev": true,
- "requires": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
- "ws": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
- "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==",
- "dev": true,
- "requires": {
- "async-limiter": "~1.0.0"
- }
- },
- "xdg-basedir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
- "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
- "dev": true
- },
- "xml-name-validator": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
- "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
- "dev": true
- },
"y18n": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
@@ -6633,85 +1854,11 @@
}
}
},
- "yasway": {
- "version": "1.10.5",
- "resolved": "https://registry.npmjs.org/yasway/-/yasway-1.10.5.tgz",
- "integrity": "sha512-JZ2i8zFaeJkGlsoK0u6x7XC4GN4ftr/I/WJJbzMO+w35JrxHaJ926/fM+Q+vLzMXU+4eoIYeqqUiXdTfrC+d/w==",
- "dev": true,
- "requires": {
- "@ts-common/json": "^0.3.0",
- "@ts-common/string-map": "^0.3.0",
- "clone-deep": "^4.0.1",
- "debug": "^4.1.1",
- "faker": "^4.1.0",
- "istanbul": "^0.4.5",
- "js-base64": "^2.5.1",
- "js-yaml": "^3.13.1",
- "json-refs": "^3.0.13",
- "json-schema-faker": "^0.5.0-rc16",
- "lodash": "^4.17.20",
- "native-promise-only": "^0.8.1",
- "nyc": "^15.0.1",
- "path-to-regexp": "^1.7.0",
- "swagger-methods": "^1.0.8",
- "swagger-schema-official": "2.0.0-bab6bed",
- "z-schema": "^4.2.2"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- }
- }
- },
"yn": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
"dev": true
- },
- "yuml2svg": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/yuml2svg/-/yuml2svg-4.2.2.tgz",
- "integrity": "sha512-u1hdk7QaxNhMXaqawFJxwGQE2nu93H0v4F+2Mzp+X0tEvc1sg1QMFE+5TcniMr7PaRVfIniYYWWVgojWzUuRDg==",
- "dev": true,
- "requires": {
- "color": "^3.0.0",
- "jsdom": "^11.6.2",
- "viz.js": "^2.0.0"
- }
- },
- "z-schema": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-4.2.3.tgz",
- "integrity": "sha512-zkvK/9TC6p38IwcrbnT3ul9in1UX4cm1y/VZSs4GHKIiDCrlafc+YQBgQBUdDXLAoZHf2qvQ7gJJOo6yT1LH6A==",
- "dev": true,
- "requires": {
- "commander": "^2.7.1",
- "lodash.get": "^4.4.2",
- "lodash.isequal": "^4.5.0",
- "validator": "^12.0.0"
- },
- "dependencies": {
- "commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true,
- "optional": true
- },
- "validator": {
- "version": "12.2.0",
- "resolved": "https://registry.npmjs.org/validator/-/validator-12.2.0.tgz",
- "integrity": "sha512-jJfE/DW6tIK1Ek8nCfNFqt8Wb3nzMoAbocBF6/Icgg1ZFSBpObdnwVY2jQj6qUqzhx5jc71fpvBWyLGO7Xl+nQ==",
- "dev": true
- }
- }
}
}
}
diff --git a/package.json b/package.json
index cfd1bd9140c2..fd74c6939741 100644
--- a/package.json
+++ b/package.json
@@ -11,21 +11,19 @@
"license": "MIT",
"devDependencies": {
"@azure/avocado": "^0.7.2",
- "@azure/rest-api-specs-scripts": "^0.14.0",
"@ts-common/commonmark-to-markdown": "^1.2.0",
"@ts-common/fs": "0.2.0",
"@ts-common/iterator": "^0.3.6",
"@types/js-yaml": "^3.12.1",
- "@types/mocha": "^5.2.6",
- "@types/prettier": "^1.18.3",
- "cspell": "^4.0.30",
+ "@types/mocha": "^9.0.0",
+ "@types/prettier": "^2.3.0",
"js-yaml": "^3.13.1",
"json-schema-ref-parser": "^6.1.0",
"mocha": "*",
- "prettier": "^1.19.1",
- "ts-node": "^8.1.0",
+ "prettier": "^2.1.2",
+ "ts-node": "^10.1.0",
"tslib": "^1.10.0",
- "typescript": "3.5.3"
+ "typescript": "^3.5.3"
},
"homepage": "https://github.com/azure/azure-rest-api-specs",
"repository": {
@@ -38,7 +36,6 @@
"scripts": {
"postinstall": "tsc",
"test": "tsc && mocha -t 500000 --reporter min",
- "spellcheck": "ts-node ./scripts/spellcheck.ts",
"prettier-check": "ts-node ./scripts/prettier-check.ts",
"prettier-fix": "prettier --write specification/**/*.json",
"prettier": "prettier",
diff --git a/scripts/install-dotnet.sh b/scripts/install-dotnet.sh
deleted file mode 100755
index 551b4263a1dc..000000000000
--- a/scripts/install-dotnet.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-# From https://www.microsoft.com/net/download/linux-package-manager/ubuntu14-04/sdk-2.0.0
-
-wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
-sudo dpkg -i packages-microsoft-prod.deb
-sudo apt-get install apt-transport-https -y
-sudo apt-get update
-sudo apt-get install dotnet-sdk-2.0.0 -y
\ No newline at end of file
diff --git a/scripts/latest-profile-generator.ts b/scripts/latest-profile-generator.ts
deleted file mode 100644
index ce8a0d9bc0d1..000000000000
--- a/scripts/latest-profile-generator.ts
+++ /dev/null
@@ -1,315 +0,0 @@
-import * as fs from "@ts-common/fs"
-import * as process from "process"
-import * as Path from "path"
-import * as cm from "@ts-common/commonmark-to-markdown"
-import * as it from "@ts-common/iterator"
-import * as yaml from "js-yaml"
-import { values, keys } from '@ts-common/string-map';
-
-type Code = {
- readonly "input-file"?: ReadonlyArray|string
-}
-
-const main = async (specificationsDirectory: string, profilesDirectory: string) => {
- try {
- const list = fs.recursiveReaddir(specificationsDirectory);
- const specs = [];
- let foundMultiApiReadmes = false;
- for await (const file of list) {
- const f = Path.parse(file);
- if (f.base === "readme.enable-multi-api.md") {
- foundMultiApiReadmes = true;
- const content = (await fs.readFile(file)).toString();
- const readMe = cm.parse(content);
- const set = new Set();
- for (const c of cm.iterate(readMe.markDown)) {
- if (
- c.type === "code_block" &&
- c.info !== null &&
- c.info.startsWith("yaml") &&
- c.literal !== null
- ) {
- const y = (yaml.load(c.literal) as Code)["input-file"];
- if (typeof y === "string") {
- set.add(y.replace('$(this-folder)', ''));
- } else if (it.isArray(y)) {
- for (const i of y) {
- let cleanFilePath = i.replace('$(this-folder)', '');
- set.add(cleanFilePath);
- specs.push(Path.join(f.dir, cleanFilePath));
- }
- }
- }
- }
- }
- }
-
- if (!foundMultiApiReadmes){
- throw `Couldn't find any readme.enable-multi-api.md files.`
- }
-
- const allPaths = await getPaths(specs);
- const crawlResult = getCrawlData(allPaths);
- const telemetryDir = Path.join(profilesDirectory, 'crawl-log.json')
- fs.writeFile(telemetryDir, JSON.stringify(crawlResult, null, 2));
- console.log(`Telemetry written at ${telemetryDir}`);
-
- const latestProfile = getLatestProfile(crawlResult);
- const latestProfileMarkDown = cm.markDownExToString(
- {
- markDown: cm.createNode(
- "document",
- cm.createNode(
- "heading",
- cm.createText("Latest Azure Profile")
- ),
- cm.createNode(
- "block_quote",
- cm.createNode(
- "paragraph",
- cm.createText("see https://aka.ms/autorest")
- )
- ),
- cm.createCodeBlock(
- "yaml ",
- yaml.dump({ "profiles":{[`latest-${getFormattedDate()}`]: latestProfile} }, { lineWidth: 1000 })
- )
- )
- }
- );
- const latestProfileDir = Path.join(profilesDirectory, `definitions/`);
- const latestProfileLocation = Path.join(latestProfileDir, `latest-${getFormattedDate()}.md`);
- fs.writeFile(latestProfileLocation, latestProfileMarkDown);
- console.log(`Latest profile written at ${latestProfileLocation}`);
-
- // now get all the profile definitions and generate the readme.
- const definitions = fs.recursiveReaddir(latestProfileDir);
- const definitionsRelativePaths = [];
- for await (const file of definitions){
- const f = Path.parse(file);
- definitionsRelativePaths.push(`$(this-folder)/definitions/${f.base}`);
- }
-
- const profilesReadme = cm.markDownExToString(
- {
- markDown: cm.createNode(
- "document",
- cm.createNode(
- 'heading',
- cm.createText("Azure Profiles")
- ),
- cm.createNode(
- "block_quote",
- cm.createNode(
- "paragraph",
- cm.createText("see https://aka.ms/autorest")
- )
- ),
- cm.createNode(
- "block_quote",
- cm.createNode(
- "paragraph",
- cm.createText("The files under this directory are the profile definitions used by autorest.")
- )
- ),
- cm.createCodeBlock(
- "yaml",
- yaml.dump({ "require": definitionsRelativePaths })
- )
- )
- }
- );
-
- fs.writeFile(Path.join(profilesDirectory, "readme.md"), profilesReadme);
- console.log(`Regenerated profiles readme.md at ${profilesDirectory}`);
- console.log('DONE');
- } catch (e) {
- console.error(e);
- }
-}
-
-function getFormattedDate(): string {
- const today = new Date();
- const monthNumber = today.getMonth() + 1;
- const dayNumber = today.getDate();
-
- const yyyy = String(today.getFullYear());
- const mm = (monthNumber < 10) ? `0${monthNumber}` : String(monthNumber);
- const dd = (dayNumber < 10) ? `0${dayNumber}` : String(dayNumber);
-
- return `${yyyy}-${mm}-${dd}`;
-}
-
-async function getPaths(specHandles: Array): Promise> {
- console.log(`Parsing specs`);
- const result = new Array();
- for (const specHandle of specHandles) {
- try {
- const spec = JSON.parse((await fs.readFile(specHandle)).toString());
- if (spec.swagger && spec.info.version) {
- for (const path of Object.entries(spec.paths)) {
- result.push({endpoint: path[0], apiVersion: spec.info.version, originalLocation: Path.relative(process.cwd(), specHandle).replace(/\\/g, '/')});
- }
- }
- } catch (e) {
- console.error(`Couldn't parse ${specHandle} - ${e}`);
- }
- }
-
- return result;
-}
-
-function getCrawlData(paths: Array): CrawlResult {
- console.log(`Crawling paths for resources and getting telemetry ...`);
- const result: CrawlResult = {resources: new Array(), operations: {}};
- const providerNamePattern = `microsoft\.[a-z]+(?:\.[a-z]+)?`;
- const parameterPattern = `\{[a-z0-9]+\}`;
- const nonParameterPattern = `[a-z0-9]+`;
- const resourcePathRegex = new RegExp(`(.*)(\/providers\/${providerNamePattern}(:?\/${nonParameterPattern}|\/${parameterPattern})+\/?$)`, 'gi');
- for (const p of paths) {
- if (p.endpoint.match(resourcePathRegex)) {
- const resource = { path: p.endpoint, apiVersion: p.apiVersion, providerNamespace: '', name: ''};
-
- // get last /provider/microsoft.... section. Also, get rid of any possible trailing slash '/'
- const scopedProviderSection = resource.path.replace(/\/*$/, '').replace(resourcePathRegex, '$2').split('/');
- resource.providerNamespace = scopedProviderSection[2].toLowerCase();
-
- // for now, only provider-namespaces ending with admin are blacklisted
- if (resource.providerNamespace.endsWith('admin')){
- if (result.blackListedPaths === undefined) {
- result.blackListedPaths = [];
- }
-
- result.blackListedPaths.push(p);
- continue;
- }
-
- const resourcesSection = `/${scopedProviderSection.slice(3).join('/')}`;
- const resourceRegex = new RegExp(`\/${nonParameterPattern}\/${nonParameterPattern}|\/${nonParameterPattern}\/${parameterPattern}|\/${nonParameterPattern}$`, 'gi');
- const resourceMatches = resourcesSection.match(resourceRegex);
- if (resourceMatches !== null) {
- const resourceNames = resourceMatches.map(each => each.split('/')[1]);
- resource.name = resourceNames.join('/');
- }
-
- result.resources.push(resource);
- } else {
- if (result.operations[p.endpoint] === undefined){
- result.operations[p.endpoint] = [];
- }
-
- result.operations[p.endpoint].push({apiVersion:p.apiVersion, originalLocation: p.originalLocation})
- }
- }
-
- return result;
-}
-
-
-export function getLatestProfile(crawlData: CrawlResult): Profile {
- const latestProfile: Profile = {resources:{}, operations: {}};
- const allResources = crawlData.resources;
- const allOperations = crawlData.operations;
- const compareVersions = require('compare-versions');
- console.log('Constructing latest profile ...')
-
- // --- Process Resources ---
- crawlData.resources.sort((a, b) => {
- try{
- return compareVersions(getSemverEquivalent(b.apiVersion), getSemverEquivalent(a.apiVersion));
- } catch {
- const dummy = '';
- console.log(dummy);
- }
-
- });
-
- const latestResources: {[uid: string] : Resource } = {};
- for (const resource of allResources) {
- const resourceUid = `${resource.providerNamespace.toLowerCase()}${resource.name.toLowerCase()}`;
- if (latestResources[resourceUid] === undefined) {
- latestResources[resourceUid] = { apiVersion: resource.apiVersion, name: resource.name, providerNamespace: resource.providerNamespace.toLowerCase(), path: resource.path };
- }
- }
-
-
- for (const resource of values(latestResources)) {
- latestProfile.resources[resource.providerNamespace] = latestProfile.resources[resource.providerNamespace] || {};
- latestProfile.resources[resource.providerNamespace][resource.apiVersion] = latestProfile.resources[resource.providerNamespace][resource.apiVersion] || [];
- latestProfile.resources[resource.providerNamespace][resource.apiVersion].push(resource.name);
- }
-
- for (const apiVersion of values(latestProfile.resources)) {
- for (const resources of values(apiVersion)) {
- resources.sort();
- }
- }
-
- // --- Process Operations ---
- for (const operation of values(allOperations)) {
- operation.sort((a, b) => {
- return compareVersions(getSemverEquivalent(b.apiVersion), getSemverEquivalent(a.apiVersion));
- });
- }
-
- for (const operation of keys(allOperations)) {
- latestProfile.operations[operation] = allOperations[operation][0].apiVersion;
- }
-
- return latestProfile;
-}
-
-// azure rest specs mostly uses versioning of the form yyyy-mm-dd
-// To take into consideration this we convert to an equivalent of
-// semver for comparisons.
-function getSemverEquivalent(version: string) {
- let result = '';
- for (const i of version.split(/[\.\-]/g)) {
- if (!result) {
- result = i;
- continue;
- }
- result = Number.isNaN(Number.parseInt(i)) ? `${result}-${i}` : `${result}.${Number(i)}`;
- }
-
- const semver = require('semver');
-
- return semver.valid(semver.coerce(result));
-}
-
-interface Resource {
- path: string;
- apiVersion: string;
- providerNamespace: string;
- name: string;
-}
-
-interface CrawlResult {
- operations: {
- [operation:string]: Array<{
- apiVersion: string;
- originalLocation: string;
- }>;
- },
- resources: Array,
- blackListedPaths?: Array;
-}
-
-interface PathMetadata {
- endpoint: string;
- apiVersion: string;
- originalLocation: string;
-}
-
-interface Profile {
- resources: {
- [providerNamespace: string]: {
- [apiVersion: string]: Array;
- };
- },
- operations: {
- [path: string]: string;
- }
-}
-
-main(Path.join(process.cwd(), "specification"), Path.join(process.cwd(), "profiles"));
diff --git a/scripts/multiapi.ts b/scripts/multiapi.ts
deleted file mode 100644
index caed08c5e71e..000000000000
--- a/scripts/multiapi.ts
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See License.txt in the project root for license information.
-
-import * as fs from "@ts-common/fs"
-import * as process from "process"
-import * as path from "path"
-import * as cm from "@ts-common/commonmark-to-markdown"
-import * as it from "@ts-common/iterator"
-import * as yaml from "js-yaml"
-
-type Code = {
- readonly "input-file"?: ReadonlyArray|string
-}
-const magic = `yaml $(tag) == 'all-api-versions' /* autogenerated */`;
-const pathRegex = /microsoft\.(\w+)[\\\/]\S*[\\\/](\d{4}-\d{2}-\d{2}(|-preview))[\\\/]/i;
-
-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" && f.dir.endsWith('resource-manager')) {
- const original_content = (await fs.readFile(file)).toString()
- let content = original_content;
- const readMe = cm.parse(content)
- const set = new Set()
- for (const c of cm.iterate(readMe.markDown)) {
- if (
- c.type === "code_block" &&
- c.info !== null &&
- (c.info.startsWith("yaml") && !c.info.startsWith(magic)) &&
- c.literal !== null
- ) {
- const DOC = (yaml.load(c.literal) as Code);
- if (DOC ) {
- const y = DOC['input-file']
- if (typeof y === "string") {
- set.add(y)
- } else if (it.isArray(y)) {
- for (const i of y) {
- set.add(i)
- }
- }
- }
- }
- }
- 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
-
-These settings apply only when \`--azureresourceschema\` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-\`\`\` yaml $(azureresourceschema) && $(multiapi)
-${yaml.dump({ 'batch': it.toArray(it.map(map.keys(), (tagName) => ({'tag': tagName})))}, { lineWidth: 1000})}
-\`\`\`
-
-Please also specify \`--azureresourceschema-folder=\`.
-`
- map.forEach((inputList, tagName) => {
- schemaReadmeContent +=
-`
-### Tag: ${tagName} and azureresourceschema
-
-\`\`\` yaml $(tag) == '${tagName}' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-${yaml.dump({ 'input-file': it.toArray(inputList)}, { lineWidth: 1000})}
-\`\`\`
-`
- });
-
- // 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)
- // }
-
- console.log(`Rewriting: ${f.dir}/readme.azureresourceschema.md`);
- fs.writeFile(path.join(f.dir, "readme.azureresourceschema.md"), schemaReadmeContent);
-
- }
- }
- } catch (e) {
- console.error(e)
- }
-}
-
-main(path.join(process.cwd(), "specification"))
diff --git a/scripts/prettier-swagger-plugin.ts b/scripts/prettier-swagger-plugin.ts
index 2d858e33e4fd..ee005c7ccc5e 100644
--- a/scripts/prettier-swagger-plugin.ts
+++ b/scripts/prettier-swagger-plugin.ts
@@ -1,5 +1,5 @@
import { ParserOptions, FastPath, Doc, doc, Plugin, AST } from 'prettier';
-import { parsers as bundledParsers } from 'prettier/parser-babylon';
+import { parsers as bundledParsers } from 'prettier/parser-babel';
const { concat, indent, hardline, join } = doc.builders;
diff --git a/scripts/spellcheck.ts b/scripts/spellcheck.ts
deleted file mode 100644
index 357e943f238e..000000000000
--- a/scripts/spellcheck.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { logError, logWarn, runCheckOverChangedSpecFiles } from './utils';
-
-runCheckOverChangedSpecFiles({
- onCheckFile: (context, filePath) => {
- return context.exec(`cspell ${filePath}`);
- },
-
- onExecError: async (result) => {
- if (result.stdout) {
- logError(result.stdout);
- }
- if (result.stderr) {
- console.error(result.stderr);
- }
- },
-
- onNotInCI: (context) => {
- logWarn("Not in CI environment. Run against all the spec json.");
- return context.exec(`cspell "specification/**/*.json"`);
- },
-
- onFinalFailed: async () => {
- logError('Please fix the error or add words to ./custom-words.txt');
- }
-})
\ No newline at end of file
diff --git a/scripts/swagger-to-sdk.sh b/scripts/swagger-to-sdk.sh
deleted file mode 100755
index d9a664677038..000000000000
--- a/scripts/swagger-to-sdk.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-python -c "import os; print('\n'.join(v for v in os.environ.keys() if v.startswith('TRAVIS') or v.startswith('NODE')))" > /tmp/env_file
-docker pull azuresdk/swagger-to-sdk
-docker run --rm --env-file /tmp/env_file -e GH_TOKEN -v $PWD:/git-restapi/ azuresdk/swagger-to-sdk "$@"
diff --git a/specification/addons/resource-manager/Microsoft.Addons/preview/2017-05-15/Addons.json b/specification/addons/resource-manager/Microsoft.Addons/preview/2017-05-15/Addons.json
index a4e9517dd2d7..78b509103685 100644
--- a/specification/addons/resource-manager/Microsoft.Addons/preview/2017-05-15/Addons.json
+++ b/specification/addons/resource-manager/Microsoft.Addons/preview/2017-05-15/Addons.json
@@ -48,7 +48,7 @@
"200": {
"description": "List all the operations.",
"schema": {
- "$ref": "#/definitions/OperationList"
+ "$ref": "#/definitions/OperationListValue"
}
},
"default": {
@@ -327,6 +327,15 @@
}
}
},
+ "OperationListValue": {
+ "type": "object",
+ "description": "List of supported operations.",
+ "properties": {
+ "value": {
+ "$ref": "#/definitions/OperationList"
+ }
+ }
+ },
"OperationList": {
"type": "array",
"description": "List of supported operations.",
@@ -384,10 +393,8 @@
"description": "Description of the error."
},
"code": {
- "type": "integer",
- "description": "Service specific error code which serves as the substatus for the HTTP error code.",
- "minimum": 100,
- "maximum": 600
+ "type": "string",
+ "description": "Service specific error code which serves as the substatus for the HTTP error code."
}
}
}
diff --git a/specification/addons/resource-manager/Microsoft.Addons/preview/2017-05-15/examples/Operations_List.json b/specification/addons/resource-manager/Microsoft.Addons/preview/2017-05-15/examples/Operations_List.json
index b43f0323a561..42335ff287aa 100644
--- a/specification/addons/resource-manager/Microsoft.Addons/preview/2017-05-15/examples/Operations_List.json
+++ b/specification/addons/resource-manager/Microsoft.Addons/preview/2017-05-15/examples/Operations_List.json
@@ -4,53 +4,55 @@
},
"responses": {
"200": {
- "body": [
- {
- "name": "Microsoft.Addons/supportProviders/supportPlanTypes/read",
- "display": {
- "provider": "Microsoft Addons",
- "resource": "supportPlanTypes",
- "operation": "Get Canonical support plan state",
- "description": "Get the specified Canonical support plan state."
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Addons/supportProviders/supportPlanTypes/read",
+ "display": {
+ "provider": "Microsoft Addons",
+ "resource": "supportPlanTypes",
+ "operation": "Get Canonical support plan state",
+ "description": "Get the specified Canonical support plan state."
+ }
+ },
+ {
+ "name": "Microsoft.Addons/supportProviders/supportPlanTypes/write",
+ "display": {
+ "provider": "Microsoft Addons",
+ "resource": "supportPlanTypes",
+ "operation": "Adds a Canonical support plan.",
+ "description": "Adds the Canonical support plan type specified."
+ }
+ },
+ {
+ "name": "Microsoft.Addons/supportProviders/supportPlanTypes/delete",
+ "display": {
+ "provider": "Microsoft Addons",
+ "resource": "supportPlanTypes",
+ "operation": "Removes the Canonical support plan",
+ "description": "Removes the specified Canonical support plan"
+ }
+ },
+ {
+ "name": "Microsoft.Addons/supportProviders/canonical/supportPlanTypes/get",
+ "display": {
+ "provider": "Microsoft Addons",
+ "resource": "supportProviders",
+ "operation": "Gets available Canonical support plan types.",
+ "description": "Gets the available Canonical support plan types as well as some extra metadata on their enabled status."
+ }
+ },
+ {
+ "name": "Microsoft.Addons/register/action",
+ "display": {
+ "provider": "Microsoft Addons",
+ "resource": "register",
+ "operation": "Register for Microsoft.Addons",
+ "description": "Register the specified subscription with Microsoft.Addons"
+ }
}
- },
- {
- "name": "Microsoft.Addons/supportProviders/supportPlanTypes/write",
- "display": {
- "provider": "Microsoft Addons",
- "resource": "supportPlanTypes",
- "operation": "Adds a Canonical support plan.",
- "description": "Adds the Canonical support plan type specified."
- }
- },
- {
- "name": "Microsoft.Addons/supportProviders/supportPlanTypes/delete",
- "display": {
- "provider": "Microsoft Addons",
- "resource": "supportPlanTypes",
- "operation": "Removes the Canonical support plan",
- "description": "Removes the specified Canonical support plan"
- }
- },
- {
- "name": "Microsoft.Addons/supportProviders/canonical/supportPlanTypes/get",
- "display": {
- "provider": "Microsoft Addons",
- "resource": "supportProviders",
- "operation": "Gets available Canonical support plan types.",
- "description": "Gets the available Canonical support plan types as well as some extra metadata on their enabled status."
- }
- },
- {
- "name": "Microsoft.Addons/register/action",
- "display": {
- "provider": "Microsoft Addons",
- "resource": "register",
- "operation": "Register for Microsoft.Addons",
- "description": "Register the specified subscription with Microsoft.Addons"
- }
- }
- ]
+ ]
+ }
}
}
}
diff --git a/specification/addons/resource-manager/Microsoft.Addons/preview/2018-03-01/addons-swagger.json b/specification/addons/resource-manager/Microsoft.Addons/preview/2018-03-01/addons-swagger.json
index 62b473bf1191..1927068ae594 100644
--- a/specification/addons/resource-manager/Microsoft.Addons/preview/2018-03-01/addons-swagger.json
+++ b/specification/addons/resource-manager/Microsoft.Addons/preview/2018-03-01/addons-swagger.json
@@ -48,7 +48,7 @@
"200": {
"description": "List all the operations.",
"schema": {
- "$ref": "#/definitions/OperationList"
+ "$ref": "#/definitions/OperationListValue"
}
},
"default": {
@@ -336,6 +336,15 @@
}
}
},
+ "OperationListValue": {
+ "type": "object",
+ "description": "List of supported operations.",
+ "properties": {
+ "value": {
+ "$ref": "#/definitions/OperationList"
+ }
+ }
+ },
"OperationList": {
"type": "array",
"description": "List of supported operations.",
@@ -393,10 +402,8 @@
"description": "Description of the error."
},
"code": {
- "type": "integer",
- "description": "Service specific error code which serves as the substatus for the HTTP error code.",
- "minimum": 100,
- "maximum": 600
+ "type": "string",
+ "description": "Service specific error code which serves as the substatus for the HTTP error code."
}
}
}
diff --git a/specification/addons/resource-manager/Microsoft.Addons/preview/2018-03-01/examples/Operations_List.json b/specification/addons/resource-manager/Microsoft.Addons/preview/2018-03-01/examples/Operations_List.json
index b43f0323a561..f8f846235048 100644
--- a/specification/addons/resource-manager/Microsoft.Addons/preview/2018-03-01/examples/Operations_List.json
+++ b/specification/addons/resource-manager/Microsoft.Addons/preview/2018-03-01/examples/Operations_List.json
@@ -1,56 +1,58 @@
{
"parameters": {
- "api-version": "2017-05-15"
+ "api-version": "2018-03-01"
},
"responses": {
"200": {
- "body": [
- {
- "name": "Microsoft.Addons/supportProviders/supportPlanTypes/read",
- "display": {
- "provider": "Microsoft Addons",
- "resource": "supportPlanTypes",
- "operation": "Get Canonical support plan state",
- "description": "Get the specified Canonical support plan state."
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Addons/supportProviders/supportPlanTypes/read",
+ "display": {
+ "provider": "Microsoft Addons",
+ "resource": "supportPlanTypes",
+ "operation": "Get Canonical support plan state",
+ "description": "Get the specified Canonical support plan state."
+ }
+ },
+ {
+ "name": "Microsoft.Addons/supportProviders/supportPlanTypes/write",
+ "display": {
+ "provider": "Microsoft Addons",
+ "resource": "supportPlanTypes",
+ "operation": "Adds a Canonical support plan.",
+ "description": "Adds the Canonical support plan type specified."
+ }
+ },
+ {
+ "name": "Microsoft.Addons/supportProviders/supportPlanTypes/delete",
+ "display": {
+ "provider": "Microsoft Addons",
+ "resource": "supportPlanTypes",
+ "operation": "Removes the Canonical support plan",
+ "description": "Removes the specified Canonical support plan"
+ }
+ },
+ {
+ "name": "Microsoft.Addons/supportProviders/canonical/supportPlanTypes/get",
+ "display": {
+ "provider": "Microsoft Addons",
+ "resource": "supportProviders",
+ "operation": "Gets available Canonical support plan types.",
+ "description": "Gets the available Canonical support plan types as well as some extra metadata on their enabled status."
+ }
+ },
+ {
+ "name": "Microsoft.Addons/register/action",
+ "display": {
+ "provider": "Microsoft Addons",
+ "resource": "register",
+ "operation": "Register for Microsoft.Addons",
+ "description": "Register the specified subscription with Microsoft.Addons"
+ }
}
- },
- {
- "name": "Microsoft.Addons/supportProviders/supportPlanTypes/write",
- "display": {
- "provider": "Microsoft Addons",
- "resource": "supportPlanTypes",
- "operation": "Adds a Canonical support plan.",
- "description": "Adds the Canonical support plan type specified."
- }
- },
- {
- "name": "Microsoft.Addons/supportProviders/supportPlanTypes/delete",
- "display": {
- "provider": "Microsoft Addons",
- "resource": "supportPlanTypes",
- "operation": "Removes the Canonical support plan",
- "description": "Removes the specified Canonical support plan"
- }
- },
- {
- "name": "Microsoft.Addons/supportProviders/canonical/supportPlanTypes/get",
- "display": {
- "provider": "Microsoft Addons",
- "resource": "supportProviders",
- "operation": "Gets available Canonical support plan types.",
- "description": "Gets the available Canonical support plan types as well as some extra metadata on their enabled status."
- }
- },
- {
- "name": "Microsoft.Addons/register/action",
- "display": {
- "provider": "Microsoft Addons",
- "resource": "register",
- "operation": "Register for Microsoft.Addons",
- "description": "Register the specified subscription with Microsoft.Addons"
- }
- }
- ]
+ ]
+ }
}
}
}
diff --git a/specification/advisor/resource-manager/readme.md b/specification/advisor/resource-manager/readme.md
index d631a4e49820..6e9ca7ba8d72 100644
--- a/specification/advisor/resource-manager/readme.md
+++ b/specification/advisor/resource-manager/readme.md
@@ -85,7 +85,7 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
@@ -93,54 +93,14 @@ swagger-to-sdk:
- repo: azure-resource-manager-schemas
```
-## 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.advisor
- package-name: azure-mgmt-advisor
- package-version: 1.0.1
- clear-output-folder: true
-```
-
-``` yaml $(python) && $(track2)
-python-mode: create
-azure-arm: true
-license-header: MICROSOFT_MIT_NO_VERSION
-namespace: azure.mgmt.advisor
-package-name: azure-mgmt-advisor
-package-version: 9.0.0b1
-clear-output-folder: true
-```
-
-``` yaml $(python) && $(python-mode) == 'update'
-no-namespace-folders: true
-output-folder: $(python-sdks-folder)/advisor/azure-mgmt-advisor/azure/mgmt/advisor
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/advisor/azure-mgmt-advisor/azure/mgmt/advisor
-```
-
-``` yaml $(python) && $(python-mode) == 'create'
-basic-setup-py: true
-output-folder: $(python-sdks-folder)/advisor/azure-mgmt-advisor
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/advisor/azure-mgmt-advisor
-```
-
## Go
See configuration in [readme.go.md](./readme.go.md)
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
## C#
These settings apply only when `--csharp` is specified on the command line.
diff --git a/specification/advisor/resource-manager/readme.python.md b/specification/advisor/resource-manager/readme.python.md
new file mode 100644
index 000000000000..4fc829a9b050
--- /dev/null
+++ b/specification/advisor/resource-manager/readme.python.md
@@ -0,0 +1,24 @@
+## 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)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.advisor
+package-name: azure-mgmt-advisor
+package-version: 9.0.0b1
+clear-output-folder: true
+```
+
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/advisor/azure-mgmt-advisor/azure/mgmt/advisor
+```
+
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/advisor/azure-mgmt-advisor
+```
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/agfood.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/agfood.json
deleted file mode 100644
index 945954613e93..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/agfood.json
+++ /dev/null
@@ -1,11826 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "Azure AgFoodPlatform Data Plane Service",
- "description": "APIs documentation for Azure AgPlatform DataPlane Service.",
- "version": "2021-03-31-preview"
- },
- "x-ms-parameterized-host": {
- "hostTemplate": "{Endpoint}",
- "useSchemePrefix": false,
- "parameters": [
- {
- "$ref": "#/parameters/Endpoint"
- }
- ]
- },
- "paths": {
- "/farmers/{farmerId}/application-data": {
- "get": {
- "tags": [
- "ApplicationData"
- ],
- "description": "Returns a paginated list of application data resources under a particular farm.",
- "operationId": "ApplicationData_ListByFarmerId",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "minAvgMaterial",
- "description": "Minimum average amount of material applied during the application (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgMaterial",
- "description": "Maximum average amount of material applied during the application (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minTotalMaterial",
- "description": "Minimum total amount of material applied during the application (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxTotalMaterial",
- "description": "Maximum total amount of material applied during the application (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "sources",
- "description": "Sources of the operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "associatedBoundaryIds",
- "description": "Boundary IDs associated with operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "operationBoundaryIds",
- "description": "Operation boundary IDs associated with operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minOperationStartDateTime",
- "description": "Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationStartDateTime",
- "description": "Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minOperationEndDateTime",
- "description": "Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationEndDateTime",
- "description": "Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minOperationModifiedDateTime",
- "description": "Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationModifiedDateTime",
- "description": "Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minArea",
- "description": "Minimum area for which operation was applied (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxArea",
- "description": "Maximum area for which operation was applied (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/ApplicationDataListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "ApplicationData_ListByFarmerId": {
- "$ref": "./examples/ApplicationData_ListByFarmerId.json"
- }
- }
- }
- },
- "/application-data": {
- "get": {
- "tags": [
- "ApplicationData"
- ],
- "description": "Returns a paginated list of application data resources across all farmers.",
- "operationId": "ApplicationData_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "minAvgMaterial",
- "description": "Minimum average amount of material applied during the application (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgMaterial",
- "description": "Maximum average amount of material applied during the application (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minTotalMaterial",
- "description": "Minimum total amount of material applied during the application (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxTotalMaterial",
- "description": "Maximum total amount of material applied during the application (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "sources",
- "description": "Sources of the operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "associatedBoundaryIds",
- "description": "Boundary IDs associated with operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "operationBoundaryIds",
- "description": "Operation boundary IDs associated with operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minOperationStartDateTime",
- "description": "Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationStartDateTime",
- "description": "Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minOperationEndDateTime",
- "description": "Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationEndDateTime",
- "description": "Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minOperationModifiedDateTime",
- "description": "Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationModifiedDateTime",
- "description": "Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minArea",
- "description": "Minimum area for which operation was applied (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxArea",
- "description": "Maximum area for which operation was applied (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/ApplicationDataListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "ApplicationData_List": {
- "$ref": "./examples/ApplicationData_List.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/application-data/{applicationDataId}": {
- "get": {
- "tags": [
- "ApplicationData"
- ],
- "description": "Get a specified application data resource under a particular farmer.",
- "operationId": "ApplicationData_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "applicationDataId",
- "description": "ID of the application data resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/ApplicationData"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "ApplicationData_Get": {
- "$ref": "./examples/ApplicationData_Get.json"
- }
- }
- },
- "patch": {
- "tags": [
- "ApplicationData"
- ],
- "description": "Creates or updates an application data resource under a particular farmer.",
- "operationId": "ApplicationData_CreateOrUpdate",
- "consumes": [
- "application/merge-patch+json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "applicationDataId",
- "description": "ID of the application data resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "applicationData",
- "description": "Application data resource payload to create or update.",
- "schema": {
- "$ref": "#/definitions/ApplicationData"
- }
- }
- ],
- "responses": {
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- },
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/ApplicationData"
- }
- },
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/ApplicationData"
- }
- }
- },
- "x-ms-examples": {
- "ApplicationData_CreateOrUpdate": {
- "$ref": "./examples/ApplicationData_CreateOrUpdate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "ApplicationData"
- ],
- "description": "Deletes a specified application data resource under a particular farmer.",
- "operationId": "ApplicationData_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "applicationDataId",
- "description": "ID of the application data.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "ApplicationData_Delete": {
- "$ref": "./examples/ApplicationData_Delete.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/attachments": {
- "get": {
- "tags": [
- "Attachments"
- ],
- "description": "Returns a paginated list of attachment resources under a particular farmer.",
- "operationId": "Attachments_ListByFarmerId",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "resourceIds",
- "description": "Resource Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "resourceTypes",
- "description": "Resource Types of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/AttachmentListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Attachments_ListByFarmerId": {
- "$ref": "./examples/Attachments_ListByFarmerId.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/attachments/{attachmentId}": {
- "get": {
- "tags": [
- "Attachments"
- ],
- "description": "Gets a specified attachment resource under a particular farmer.",
- "operationId": "Attachments_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "attachmentId",
- "description": "ID of the attachment.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Attachment"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Attachments_Get": {
- "$ref": "./examples/Attachments_Get.json"
- }
- }
- },
- "patch": {
- "tags": [
- "Attachments"
- ],
- "description": "Creates or updates an attachment resource under a particular farmer.",
- "operationId": "Attachments_CreateOrUpdate",
- "consumes": [
- "multipart/form-data"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "attachmentId",
- "description": "ID of the attachment resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "formData",
- "name": "file",
- "description": "File to be uploaded.",
- "type": "file",
- "format": "binary"
- },
- {
- "in": "formData",
- "name": "FarmerId",
- "description": "Farmer id for this attachment.",
- "type": "string"
- },
- {
- "in": "formData",
- "name": "ResourceId",
- "description": "Associated Resource id for this attachment.",
- "type": "string"
- },
- {
- "in": "formData",
- "name": "ResourceType",
- "description": "Associated Resource type for this attachment\r\ni.e. Farmer, Farm, Field, SeasonalField, Boundary, FarmOperationApplicationData, HarvestData, TillageData, PlantingData.",
- "type": "string"
- },
- {
- "in": "formData",
- "name": "OriginalFileName",
- "description": "Original File Name for this attachment.",
- "type": "string"
- },
- {
- "in": "formData",
- "name": "Id",
- "description": "Unique id.",
- "type": "string"
- },
- {
- "in": "formData",
- "name": "Status",
- "description": "Status of the resource.",
- "type": "string",
- "maxLength": 100,
- "minLength": 0
- },
- {
- "in": "formData",
- "name": "CreatedDateTime",
- "description": "Date when resource was created.",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "formData",
- "name": "ModifiedDateTime",
- "description": "Date when resource was last modified.",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "formData",
- "name": "Name",
- "description": "Name to identify resource.",
- "type": "string",
- "maxLength": 100,
- "minLength": 0
- },
- {
- "in": "formData",
- "name": "Description",
- "description": "Textual description of resource.",
- "type": "string",
- "maxLength": 500,
- "minLength": 0
- },
- {
- "in": "formData",
- "name": "ETag",
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string"
- }
- ],
- "responses": {
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Attachment"
- }
- },
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Attachment"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Attachments_CreateOrUpdate": {
- "$ref": "./examples/Attachments_CreateOrUpdate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Attachments"
- ],
- "description": "Deletes a specified attachment resource under a particular farmer.",
- "operationId": "Attachments_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "attachmentId",
- "description": "ID of the attachment.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Attachments_Delete": {
- "$ref": "./examples/Attachments_Delete.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/attachments/{attachmentId}/file": {
- "get": {
- "tags": [
- "Attachments"
- ],
- "description": "Downloads and returns attachment as response for the given input filePath.",
- "operationId": "Attachments_Download",
- "produces": [
- "application/octet-stream",
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "attachmentId",
- "description": "ID of attachment to be downloaded.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "format": "binary",
- "type": "file"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Attachments_Download": {
- "$ref": "./examples/Attachments_Download.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/boundaries": {
- "get": {
- "tags": [
- "Boundaries"
- ],
- "description": "Returns a paginated list of boundary resources under a particular farmer.",
- "operationId": "Boundaries_ListByFarmerId",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "isPrimary",
- "description": "Is the boundary primary.",
- "type": "boolean"
- },
- {
- "in": "query",
- "name": "parentType",
- "description": "Type of the parent it belongs to.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "parentIds",
- "description": "Parent Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minAcreage",
- "description": "Minimum acreage of the boundary (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAcreage",
- "description": "Maximum acreage of the boundary (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/BoundaryListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Boundaries_ListByFarmerId": {
- "$ref": "./examples/Boundaries_ListByFarmerId.json"
- }
- }
- },
- "post": {
- "tags": [
- "Boundaries"
- ],
- "description": "Search for boundaries by fields and intersecting geometry.",
- "operationId": "Boundaries_SearchByFarmerId",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "query",
- "description": "Query filters.",
- "schema": {
- "$ref": "#/definitions/SearchBoundaryQuery"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/BoundaryListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Boundaries_SearchByFarmerId": {
- "$ref": "./examples/Boundaries_SearchByFarmerId.json"
- }
- }
- }
- },
- "/boundaries": {
- "get": {
- "tags": [
- "Boundaries"
- ],
- "description": "Returns a paginated list of boundary resources across all farmers.",
- "operationId": "Boundaries_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "isPrimary",
- "description": "Is the boundary primary.",
- "type": "boolean"
- },
- {
- "in": "query",
- "name": "parentType",
- "description": "Type of the parent it belongs to.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "parentIds",
- "description": "Parent Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minAcreage",
- "description": "Minimum acreage of the boundary (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAcreage",
- "description": "Maximum acreage of the boundary (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/BoundaryListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Boundaries_List": {
- "$ref": "./examples/Boundaries_List.json"
- }
- }
- },
- "post": {
- "tags": [
- "Boundaries"
- ],
- "description": "Search for boundaries across all farmers by fields and intersecting geometry.",
- "operationId": "Boundaries_Search",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "query",
- "description": "Query filters.",
- "schema": {
- "$ref": "#/definitions/SearchBoundaryQuery"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/BoundaryListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Boundaries_Search": {
- "$ref": "./examples/Boundaries_Search.json"
- }
- }
- }
- },
- "/boundaries/cascade-delete/{jobId}": {
- "get": {
- "tags": [
- "Boundaries"
- ],
- "description": "Get cascade delete job for specified boundary.",
- "operationId": "Boundaries_GetCascadeDeleteJobDetails",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "ID of the job.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CascadeDeleteJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Boundaries_GetCascadeDeleteJobDetails": {
- "$ref": "./examples/Boundaries_GetCascadeDeleteJobDetails.json"
- }
- }
- },
- "put": {
- "tags": [
- "Boundaries"
- ],
- "description": "Create a cascade delete job for specified boundary.",
- "operationId": "Boundaries_CreateCascadeDeleteJob",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "Job ID supplied by end user.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "boundaryId",
- "description": "ID of the boundary to be deleted.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "202": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CascadeDeleteJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "x-ms-examples": {
- "Boundaries_CreateCascadeDeleteJob": {
- "$ref": "./examples/Boundaries_CreateCascadeDeleteJob.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/boundaries/{boundaryId}": {
- "get": {
- "tags": [
- "Boundaries"
- ],
- "description": "Gets a specified boundary resource under a particular farmer.",
- "operationId": "Boundaries_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "boundaryId",
- "description": "ID of the boundary.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Boundary"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Boundaries_Get": {
- "$ref": "./examples/Boundaries_Get.json"
- }
- }
- },
- "patch": {
- "tags": [
- "Boundaries"
- ],
- "description": "Creates or updates a boundary resource.",
- "operationId": "Boundaries_CreateOrUpdate",
- "consumes": [
- "application/merge-patch+json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the farmer resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "boundaryId",
- "description": "ID of the boundary resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "boundary",
- "description": "Boundary resource payload to create or update.",
- "schema": {
- "$ref": "#/definitions/Boundary"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Boundary"
- }
- },
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Boundary"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Boundaries_CreateOrUpdate": {
- "$ref": "./examples/Boundaries_CreateOrUpdate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Boundaries"
- ],
- "description": "Deletes a specified boundary resource under a particular farmer.",
- "operationId": "Boundaries_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "boundaryId",
- "description": "ID of the boundary.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Boundaries_Delete": {
- "$ref": "./examples/Boundaries_Delete.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/boundaries/{boundaryId}/overlap": {
- "get": {
- "tags": [
- "Boundaries"
- ],
- "description": "Returns overlapping acreage between two boundary Ids.",
- "operationId": "Boundaries_GetOverlap",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "boundaryId",
- "description": "ID of the boundary.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "otherFarmerId",
- "description": "FarmerId of the other field.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "otherBoundaryId",
- "description": "ID of the other boundary.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/BoundaryOverlapResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Boundaries_GetOverlap": {
- "$ref": "./examples/Boundaries_GetOverlap.json"
- }
- }
- }
- },
- "/crops": {
- "get": {
- "tags": [
- "Crops"
- ],
- "description": "Returns a paginated list of crop resources.",
- "operationId": "Crops_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "phenotypes",
- "description": "Crop phenotypes of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CropListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Crops_List": {
- "$ref": "./examples/Crops_List.json"
- }
- }
- }
- },
- "/crops/{cropId}": {
- "get": {
- "tags": [
- "Crops"
- ],
- "description": "Gets a specified crop resource.",
- "operationId": "Crops_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "cropId",
- "description": "ID of the crop.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Crop"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Crops_Get": {
- "$ref": "./examples/Crops_Get.json"
- }
- }
- },
- "patch": {
- "tags": [
- "Crops"
- ],
- "description": "Creates or updates a crop resource.",
- "operationId": "Crops_CreateOrUpdate",
- "consumes": [
- "application/merge-patch+json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "cropId",
- "description": "ID of the crop resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "crop",
- "description": "Crop resource payload to create or update.",
- "schema": {
- "$ref": "#/definitions/Crop"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Crop"
- }
- },
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Crop"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Crops_CreateOrUpdate": {
- "$ref": "./examples/Crops_CreateOrUpdate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Crops"
- ],
- "description": "Deletes Crop for given crop id.",
- "operationId": "Crops_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "cropId",
- "description": "ID of crop to be deleted.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Crops_Delete": {
- "$ref": "./examples/Crops_Delete.json"
- }
- }
- }
- },
- "/crops/{cropId}/crop-varieties": {
- "get": {
- "tags": [
- "CropVarieties"
- ],
- "description": "Returns a paginated list of crop variety resources under a particular crop.",
- "operationId": "CropVarieties_ListByCropId",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "cropId",
- "description": "ID of the associated crop.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "cropIds",
- "description": "CropIds of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "brands",
- "description": "Brands of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "products",
- "description": "Products of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CropVarietyListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "CropVarieties_ListByCropId": {
- "$ref": "./examples/CropVarieties_ListByCropId.json"
- }
- }
- }
- },
- "/crop-varieties": {
- "get": {
- "tags": [
- "CropVarieties"
- ],
- "description": "Returns a paginated list of crop variety resources across all crops.",
- "operationId": "CropVarieties_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "cropIds",
- "description": "CropIds of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "brands",
- "description": "Brands of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "products",
- "description": "Products of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CropVarietyListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "CropVarieties_List": {
- "$ref": "./examples/CropVarieties_List.json"
- }
- }
- }
- },
- "/crops/{cropId}/crop-varieties/{cropVarietyId}": {
- "get": {
- "tags": [
- "CropVarieties"
- ],
- "description": "Gets a specified crop variety resource under a particular crop.",
- "operationId": "CropVarieties_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "cropId",
- "description": "ID of the associated crop.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "cropVarietyId",
- "description": "ID of the crop variety.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CropVariety"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "CropVarieties_Get": {
- "$ref": "./examples/CropVarieties_Get.json"
- }
- }
- },
- "patch": {
- "tags": [
- "CropVarieties"
- ],
- "description": "Creates or updates a crop variety resource.",
- "operationId": "CropVarieties_CreateOrUpdate",
- "consumes": [
- "application/merge-patch+json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "cropId",
- "description": "ID of the crop resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "cropVarietyId",
- "description": "ID of the crop variety resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "cropVariety",
- "description": "Crop variety resource payload to create or update.",
- "schema": {
- "$ref": "#/definitions/CropVariety"
- }
- }
- ],
- "responses": {
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CropVariety"
- }
- },
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CropVariety"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "CropVarieties_CreateOrUpdate": {
- "$ref": "./examples/CropVarieties_CreateOrUpdate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "CropVarieties"
- ],
- "description": "Deletes a specified crop variety resource under a particular crop.",
- "operationId": "CropVarieties_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "cropId",
- "description": "ID of the crop.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "cropVarietyId",
- "description": "ID of the crop variety.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "CropVarieties_Delete": {
- "$ref": "./examples/CropVarieties_Delete.json"
- }
- }
- }
- },
- "/farmers": {
- "get": {
- "tags": [
- "Farmers"
- ],
- "description": "Returns a paginated list of farmer resources.",
- "operationId": "Farmers_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/FarmerListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Farmers_List": {
- "$ref": "./examples/Farmers_List.json"
- }
- }
- }
- },
- "/farmers/{farmerId}": {
- "get": {
- "tags": [
- "Farmers"
- ],
- "description": "Gets a specified farmer resource.",
- "operationId": "Farmers_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Farmer"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Farmers_Get": {
- "$ref": "./examples/Farmers_Get.json"
- }
- }
- },
- "patch": {
- "tags": [
- "Farmers"
- ],
- "description": "Creates or updates a farmer resource.",
- "operationId": "Farmers_CreateOrUpdate",
- "consumes": [
- "application/merge-patch+json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the farmer resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "farmer",
- "description": "Farmer resource payload to create or update.",
- "schema": {
- "$ref": "#/definitions/Farmer"
- }
- }
- ],
- "responses": {
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Farmer"
- }
- },
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Farmer"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Farmers_CreateOrUpdate": {
- "$ref": "./examples/Farmers_CreateOrUpdate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Farmers"
- ],
- "description": "Deletes a specified farmer resource.",
- "operationId": "Farmers_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of farmer to be deleted.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Farmers_Delete": {
- "$ref": "./examples/Farmers_Delete.json"
- }
- }
- }
- },
- "/farmers/cascade-delete/{jobId}": {
- "get": {
- "tags": [
- "Farmers"
- ],
- "description": "Get a cascade delete job for specified farmer.",
- "operationId": "Farmers_GetCascadeDeleteJobDetails",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "ID of the job.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CascadeDeleteJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Farmers_GetCascadeDeleteJobDetails": {
- "$ref": "./examples/Farmers_GetCascadeDeleteJobDetails.json"
- }
- }
- },
- "put": {
- "tags": [
- "Farmers"
- ],
- "description": "Create a cascade delete job for specified farmer.",
- "operationId": "Farmers_CreateCascadeDeleteJob",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "Job ID supplied by end user.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "farmerId",
- "description": "ID of the farmer to be deleted.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "202": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CascadeDeleteJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "x-ms-examples": {
- "Farmers_CreateCascadeDeleteJob": {
- "$ref": "./examples/Farmers_CreateCascadeDeleteJob.json"
- }
- }
- }
- },
- "/farm-operations/ingest-data/{jobId}": {
- "put": {
- "tags": [
- "FarmOperations"
- ],
- "description": "Create a farm operation data ingestion job.",
- "operationId": "FarmOperations_CreateDataIngestionJob",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "Job ID supplied by user.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "job",
- "description": "Job parameters supplied by user.",
- "schema": {
- "$ref": "#/definitions/FarmOperationDataIngestionJob"
- }
- }
- ],
- "responses": {
- "202": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/FarmOperationDataIngestionJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "x-ms-examples": {
- "FarmOperations_CreateDataIngestionJob": {
- "$ref": "./examples/FarmOperations_CreateDataIngestionJob.json"
- }
- }
- },
- "get": {
- "tags": [
- "FarmOperations"
- ],
- "description": "Get a farm operation data ingestion job.",
- "operationId": "FarmOperations_GetDataIngestionJobDetails",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "ID of the job.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/FarmOperationDataIngestionJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "FarmOperations_GetDataIngestionJobDetails": {
- "$ref": "./examples/FarmOperations_GetDataIngestionJobDetails.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/farms": {
- "get": {
- "tags": [
- "Farms"
- ],
- "description": "Returns a paginated list of farm resources under a particular farmer.",
- "operationId": "Farms_ListByFarmerId",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/FarmListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Farms_ListByFarmerId": {
- "$ref": "./examples/Farms_ListByFarmerId.json"
- }
- }
- }
- },
- "/farms": {
- "get": {
- "tags": [
- "Farms"
- ],
- "description": "Returns a paginated list of farm resources across all farmers.",
- "operationId": "Farms_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/FarmListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Farms_List": {
- "$ref": "./examples/Farms_List.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/farms/{farmId}": {
- "get": {
- "tags": [
- "Farms"
- ],
- "description": "Gets a specified farm resource under a particular farmer.",
- "operationId": "Farms_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "farmId",
- "description": "ID of the farm resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Farm"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Farms_Get": {
- "$ref": "./examples/Farms_Get.json"
- }
- }
- },
- "patch": {
- "tags": [
- "Farms"
- ],
- "description": "Creates or updates a farm resource under a particular farmer.",
- "operationId": "Farms_CreateOrUpdate",
- "consumes": [
- "application/merge-patch+json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "farmId",
- "description": "ID of the farm resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "farm",
- "description": "Farm resource payload to create or update.",
- "schema": {
- "$ref": "#/definitions/Farm"
- }
- }
- ],
- "responses": {
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Farm"
- }
- },
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Farm"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Farms_CreateOrUpdate": {
- "$ref": "./examples/Farms_CreateOrUpdate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Farms"
- ],
- "description": "Deletes a specified farm resource under a particular farmer.",
- "operationId": "Farms_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "farmId",
- "description": "ID of the farm.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Farms_Delete": {
- "$ref": "./examples/Farms_Delete.json"
- }
- }
- }
- },
- "/farms/cascade-delete/{jobId}": {
- "get": {
- "tags": [
- "Farms"
- ],
- "description": "Get a cascade delete job for specified farm.",
- "operationId": "Farms_GetCascadeDeleteJobDetails",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "ID of the job.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CascadeDeleteJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Farms_GetCascadeDeleteJobDetails": {
- "$ref": "./examples/Farms_GetCascadeDeleteJobDetails.json"
- }
- }
- },
- "put": {
- "tags": [
- "Farms"
- ],
- "description": "Create a cascade delete job for specified farm.",
- "operationId": "Farms_CreateCascadeDeleteJob",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "Job ID supplied by end user.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "farmId",
- "description": "ID of the farm to be deleted.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "202": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CascadeDeleteJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "x-ms-examples": {
- "Farms_CreateCascadeDeleteJob": {
- "$ref": "./examples/Farms_CreateCascadeDeleteJob.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/fields": {
- "get": {
- "tags": [
- "Fields"
- ],
- "description": "Returns a paginated list of field resources under a particular farmer.",
- "operationId": "Fields_ListByFarmerId",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "farmIds",
- "description": "Farm Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/FieldListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Fields_ListByFarmerId": {
- "$ref": "./examples/Fields_ListByFarmerId.json"
- }
- }
- }
- },
- "/fields": {
- "get": {
- "tags": [
- "Fields"
- ],
- "description": "Returns a paginated list of field resources across all farmers.",
- "operationId": "Fields_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "farmIds",
- "description": "Farm Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/FieldListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Fields_List": {
- "$ref": "./examples/Fields_List.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/fields/{fieldId}": {
- "get": {
- "tags": [
- "Fields"
- ],
- "description": "Gets a specified field resource under a particular farmer.",
- "operationId": "Fields_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "fieldId",
- "description": "ID of the field.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Field"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Fields_Get": {
- "$ref": "./examples/Fields_Get.json"
- }
- }
- },
- "patch": {
- "tags": [
- "Fields"
- ],
- "description": "Creates or Updates a field resource under a particular farmer.",
- "operationId": "Fields_CreateOrUpdate",
- "consumes": [
- "application/merge-patch+json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "fieldId",
- "description": "ID of the field resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "field",
- "description": "Field resource payload to create or update.",
- "schema": {
- "$ref": "#/definitions/Field"
- }
- }
- ],
- "responses": {
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Field"
- }
- },
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Field"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Fields_CreateOrUpdate": {
- "$ref": "./examples/Fields_CreateOrUpdate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Fields"
- ],
- "description": "Deletes a specified field resource under a particular farmer.",
- "operationId": "Fields_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "fieldId",
- "description": "ID of the field.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Fields_Delete": {
- "$ref": "./examples/Fields_Delete.json"
- }
- }
- }
- },
- "/fields/cascade-delete/{jobId}": {
- "get": {
- "tags": [
- "Fields"
- ],
- "description": "Get a cascade delete job for specified field.",
- "operationId": "Fields_GetCascadeDeleteJobDetails",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "ID of the job.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CascadeDeleteJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Fields_GetCascadeDeleteJobDetails": {
- "$ref": "./examples/Fields_GetCascadeDeleteJobDetails.json"
- }
- }
- },
- "put": {
- "tags": [
- "Fields"
- ],
- "description": "Create a cascade delete job for specified field.",
- "operationId": "Fields_CreateCascadeDeleteJob",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "Job ID supplied by end user.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "fieldId",
- "description": "ID of the field to be deleted.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "202": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CascadeDeleteJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "x-ms-examples": {
- "Fields_CreateCascadeDeleteJob": {
- "$ref": "./examples/Fields_CreateCascadeDeleteJob.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/harvest-data": {
- "get": {
- "tags": [
- "HarvestData"
- ],
- "description": "Returns a paginated list of harvest data resources under a particular farm.",
- "operationId": "HarvestData_ListByFarmerId",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "minTotalYield",
- "description": "Minimum Yield value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxTotalYield",
- "description": "Maximum Yield value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minAvgYield",
- "description": "Minimum AvgYield value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgYield",
- "description": "Maximum AvgYield value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minTotalWetMass",
- "description": "Minimum Total WetMass value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxTotalWetMass",
- "description": "Maximum Total WetMass value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minAvgWetMass",
- "description": "Minimum AvgWetMass value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgWetMass",
- "description": "Maximum AvgWetMass value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minAvgMoisture",
- "description": "Minimum AvgMoisture value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgMoisture",
- "description": "Maximum AvgMoisture value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minAvgSpeed",
- "description": "Minimum AvgSpeed value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgSpeed",
- "description": "Maximum AvgSpeed value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "sources",
- "description": "Sources of the operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "associatedBoundaryIds",
- "description": "Boundary IDs associated with operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "operationBoundaryIds",
- "description": "Operation boundary IDs associated with operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minOperationStartDateTime",
- "description": "Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationStartDateTime",
- "description": "Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minOperationEndDateTime",
- "description": "Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationEndDateTime",
- "description": "Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minOperationModifiedDateTime",
- "description": "Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationModifiedDateTime",
- "description": "Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minArea",
- "description": "Minimum area for which operation was applied (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxArea",
- "description": "Maximum area for which operation was applied (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/HarvestDataListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "HarvestData_ListByFarmerId": {
- "$ref": "./examples/HarvestData_ListByFarmerId.json"
- }
- }
- }
- },
- "/harvest-data": {
- "get": {
- "tags": [
- "HarvestData"
- ],
- "description": "Returns a paginated list of harvest data resources across all farmers.",
- "operationId": "HarvestData_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "minTotalYield",
- "description": "Minimum Yield value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxTotalYield",
- "description": "Maximum Yield value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minAvgYield",
- "description": "Minimum AvgYield value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgYield",
- "description": "Maximum AvgYield value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minTotalWetMass",
- "description": "Minimum Total WetMass value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxTotalWetMass",
- "description": "Maximum Total WetMass value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minAvgWetMass",
- "description": "Minimum AvgWetMass value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgWetMass",
- "description": "Maximum AvgWetMass value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minAvgMoisture",
- "description": "Minimum AvgMoisture value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgMoisture",
- "description": "Maximum AvgMoisture value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minAvgSpeed",
- "description": "Minimum AvgSpeed value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgSpeed",
- "description": "Maximum AvgSpeed value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "sources",
- "description": "Sources of the operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "associatedBoundaryIds",
- "description": "Boundary IDs associated with operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "operationBoundaryIds",
- "description": "Operation boundary IDs associated with operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minOperationStartDateTime",
- "description": "Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationStartDateTime",
- "description": "Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minOperationEndDateTime",
- "description": "Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationEndDateTime",
- "description": "Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minOperationModifiedDateTime",
- "description": "Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationModifiedDateTime",
- "description": "Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minArea",
- "description": "Minimum area for which operation was applied (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxArea",
- "description": "Maximum area for which operation was applied (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/HarvestDataListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "HarvestData_List": {
- "$ref": "./examples/HarvestData_List.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/harvest-data/{harvestDataId}": {
- "get": {
- "tags": [
- "HarvestData"
- ],
- "description": "Get a specified harvest data resource under a particular farmer.",
- "operationId": "HarvestData_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "harvestDataId",
- "description": "ID of the harvest data resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/HarvestData"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "HarvestData_Get": {
- "$ref": "./examples/HarvestData_Get.json"
- }
- }
- },
- "patch": {
- "tags": [
- "HarvestData"
- ],
- "description": "Creates or updates harvest data resource under a particular farmer.",
- "operationId": "HarvestData_CreateOrUpdate",
- "consumes": [
- "application/merge-patch+json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "harvestDataId",
- "description": "ID of the harvest data resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "harvestData",
- "description": "Harvest data resource payload to create or update.",
- "schema": {
- "$ref": "#/definitions/HarvestData"
- }
- }
- ],
- "responses": {
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- },
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/HarvestData"
- }
- },
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/HarvestData"
- }
- }
- },
- "x-ms-examples": {
- "HarvestData_CreateOrUpdate": {
- "$ref": "./examples/HarvestData_CreateOrUpdate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "HarvestData"
- ],
- "description": "Deletes a specified harvest data resource under a particular farmer.",
- "operationId": "HarvestData_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "harvestDataId",
- "description": "ID of the harvest data.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "HarvestData_Delete": {
- "$ref": "./examples/HarvestData_Delete.json"
- }
- }
- }
- },
- "/image-processing/rasterize/{jobId}": {
- "put": {
- "tags": [
- "ImageProcessing"
- ],
- "description": "Create a ImageProcessing Rasterize job.",
- "operationId": "ImageProcessing_CreateRasterizeJob",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "JobId provided by user.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "job",
- "description": "Job parameters supplied by user.",
- "schema": {
- "$ref": "#/definitions/ImageProcessingRasterizeJob"
- }
- }
- ],
- "responses": {
- "202": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/ImageProcessingRasterizeJob"
- }
- },
- "default": {
- "description": "Error"
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "x-ms-examples": {
- "ImageProcessing_CreateRasterizeJob": {
- "$ref": "./examples/ImageProcessing_CreateRasterizeJob.json"
- }
- }
- },
- "get": {
- "tags": [
- "ImageProcessing"
- ],
- "description": "Get ImageProcessing Rasterize job's details.",
- "operationId": "ImageProcessing_GetRasterizeJob",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "ID of the job.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/ImageProcessingRasterizeJob"
- }
- }
- },
- "x-ms-examples": {
- "ImageProcessing_GetRasterizeJob": {
- "$ref": "./examples/ImageProcessing_GetRasterizeJob.json"
- }
- }
- }
- },
- "/oauth/providers": {
- "get": {
- "tags": [
- "OAuthProviders"
- ],
- "description": "Returns a paginated list of oauthProvider resources.",
- "operationId": "OAuthProviders_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/OAuthProviderListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "OAuthProviders_List": {
- "$ref": "./examples/OAuthProviders_List.json"
- }
- }
- }
- },
- "/oauth/providers/{oauthProviderId}": {
- "get": {
- "tags": [
- "OAuthProviders"
- ],
- "description": "Get a specified oauthProvider resource.",
- "operationId": "OAuthProviders_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "oauthProviderId",
- "description": "ID of the oauthProvider resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/OAuthProvider"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "OAuthProviders_Get": {
- "$ref": "./examples/OAuthProviders_Get.json"
- }
- }
- },
- "patch": {
- "tags": [
- "OAuthProviders"
- ],
- "description": "Creates or updates an oauthProvider resource.",
- "operationId": "OAuthProviders_CreateOrUpdate",
- "consumes": [
- "application/merge-patch+json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "oauthProviderId",
- "description": "ID of oauthProvider resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "oauthProvider",
- "description": "OauthProvider resource payload to create or update.",
- "schema": {
- "$ref": "#/definitions/OAuthProvider"
- }
- }
- ],
- "responses": {
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/OAuthProvider"
- }
- },
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/OAuthProvider"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "OAuthProviders_CreateOrUpdate": {
- "$ref": "./examples/OAuthProviders_CreateOrUpdate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "OAuthProviders"
- ],
- "description": "Deletes an specified oauthProvider resource.",
- "operationId": "OAuthProviders_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "oauthProviderId",
- "description": "ID of oauthProvider.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "OAuthProviders_Delete": {
- "$ref": "./examples/OAuthProviders_Delete.json"
- }
- }
- }
- },
- "/oauth/tokens": {
- "get": {
- "tags": [
- "OAuthTokens"
- ],
- "description": "Returns a list of OAuthToken documents.",
- "operationId": "OAuthTokens_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "authProviderIds",
- "description": "Name of AuthProvider.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "farmerIds",
- "description": "List of farmers.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "isValid",
- "description": "If the token object is valid.",
- "type": "boolean"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/OAuthTokenListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "OAuthTokens_List": {
- "$ref": "./examples/OAuthTokens_List.json"
- }
- }
- }
- },
- "/oauth/tokens/:connect": {
- "post": {
- "tags": [
- "OAuthTokens"
- ],
- "description": "Returns Connection link needed in the OAuth flow.",
- "operationId": "OAuthTokens_GetOAuthConnectionLink",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "connectRequest",
- "description": "OAuth Connect Request.",
- "schema": {
- "$ref": "#/definitions/OAuthConnectRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "type": "string"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "OAuthTokens_GetOAuthConnectionLink": {
- "$ref": "./examples/OAuthTokens_GetOAuthConnectionLink.json"
- }
- }
- }
- },
- "/oauth/tokens/remove/{jobId}": {
- "get": {
- "tags": [
- "OAuthTokens"
- ],
- "description": "Get cascade delete job details for OAuth tokens for specified job ID.",
- "operationId": "OAuthTokens_GetCascadeDeleteJobDetails",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "ID of the job.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CascadeDeleteJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "OAuthTokens_GetCascadeDeleteJobDetails": {
- "$ref": "./examples/OAuthTokens_GetCascadeDeleteJobDetails.json"
- }
- }
- },
- "put": {
- "tags": [
- "OAuthTokens"
- ],
- "description": "Create a cascade delete job for OAuth tokens.",
- "operationId": "OAuthTokens_CreateCascadeDeleteJob",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "Job ID supplied by end user.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "farmerId",
- "description": "ID of the farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "oauthProviderId",
- "description": "ID of the OAuthProvider.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "202": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CascadeDeleteJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "x-ms-examples": {
- "OAuthTokens_CreateCascadeDeleteJob": {
- "$ref": "./examples/OAuthTokens_CreateCascadeDeleteJob.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/planting-data": {
- "get": {
- "tags": [
- "PlantingData"
- ],
- "description": "Returns a paginated list of planting data resources under a particular farm.",
- "operationId": "PlantingData_ListByFarmerId",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "minAvgPlantingRate",
- "description": "Minimum AvgPlantingRate value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgPlantingRate",
- "description": "Maximum AvgPlantingRate value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minTotalMaterial",
- "description": "Minimum TotalMaterial value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxTotalMaterial",
- "description": "Maximum TotalMaterial value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minAvgMaterial",
- "description": "Minimum AvgMaterial value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgMaterial",
- "description": "Maximum AvgMaterial value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "sources",
- "description": "Sources of the operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "associatedBoundaryIds",
- "description": "Boundary IDs associated with operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "operationBoundaryIds",
- "description": "Operation boundary IDs associated with operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minOperationStartDateTime",
- "description": "Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationStartDateTime",
- "description": "Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minOperationEndDateTime",
- "description": "Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationEndDateTime",
- "description": "Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minOperationModifiedDateTime",
- "description": "Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationModifiedDateTime",
- "description": "Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minArea",
- "description": "Minimum area for which operation was applied (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxArea",
- "description": "Maximum area for which operation was applied (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/PlantingDataListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "PlantingData_ListByFarmerId": {
- "$ref": "./examples/PlantingData_ListByFarmerId.json"
- }
- }
- }
- },
- "/planting-data": {
- "get": {
- "tags": [
- "PlantingData"
- ],
- "description": "Returns a paginated list of planting data resources across all farmers.",
- "operationId": "PlantingData_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "minAvgPlantingRate",
- "description": "Minimum AvgPlantingRate value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgPlantingRate",
- "description": "Maximum AvgPlantingRate value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minTotalMaterial",
- "description": "Minimum TotalMaterial value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxTotalMaterial",
- "description": "Maximum TotalMaterial value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minAvgMaterial",
- "description": "Minimum AvgMaterial value(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgMaterial",
- "description": "Maximum AvgMaterial value (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "sources",
- "description": "Sources of the operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "associatedBoundaryIds",
- "description": "Boundary IDs associated with operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "operationBoundaryIds",
- "description": "Operation boundary IDs associated with operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minOperationStartDateTime",
- "description": "Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationStartDateTime",
- "description": "Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minOperationEndDateTime",
- "description": "Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationEndDateTime",
- "description": "Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minOperationModifiedDateTime",
- "description": "Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationModifiedDateTime",
- "description": "Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minArea",
- "description": "Minimum area for which operation was applied (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxArea",
- "description": "Maximum area for which operation was applied (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/PlantingDataListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "PlantingData_List": {
- "$ref": "./examples/PlantingData_List.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/planting-data/{plantingDataId}": {
- "get": {
- "tags": [
- "PlantingData"
- ],
- "description": "Get a specified planting data resource under a particular farmer.",
- "operationId": "PlantingData_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "plantingDataId",
- "description": "ID of the planting data resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/PlantingData"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "PlantingData_Get": {
- "$ref": "./examples/PlantingData_Get.json"
- }
- }
- },
- "patch": {
- "tags": [
- "PlantingData"
- ],
- "description": "Creates or updates an planting data resource under a particular farmer.",
- "operationId": "PlantingData_CreateOrUpdate",
- "consumes": [
- "application/merge-patch+json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "plantingDataId",
- "description": "ID of the planting data resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "plantingData",
- "description": "Planting data resource payload to create or update.",
- "schema": {
- "$ref": "#/definitions/PlantingData"
- }
- }
- ],
- "responses": {
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- },
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/PlantingData"
- }
- },
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/PlantingData"
- }
- }
- },
- "x-ms-examples": {
- "PlantingData_CreateOrUpdate": {
- "$ref": "./examples/PlantingData_CreateOrUpdate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "PlantingData"
- ],
- "description": "Deletes a specified planting data resource under a particular farmer.",
- "operationId": "PlantingData_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "plantingDataId",
- "description": "ID of the planting data.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "PlantingData_Delete": {
- "$ref": "./examples/PlantingData_Delete.json"
- }
- }
- }
- },
- "/scenes": {
- "get": {
- "tags": [
- "Scenes"
- ],
- "description": "Returns a paginated list of scene resources.",
- "operationId": "Scenes_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "provider",
- "description": "Provider name of scene data.",
- "required": true,
- "type": "string",
- "default": "Microsoft"
- },
- {
- "in": "query",
- "name": "farmerId",
- "description": "FarmerId.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "boundaryId",
- "description": "BoundaryId.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "source",
- "description": "Source name of scene data, default value Sentinel_2_L2A (Sentinel 2 L2A).",
- "type": "string",
- "default": "Sentinel_2_L2A"
- },
- {
- "in": "query",
- "name": "startDateTime",
- "description": "Scene start UTC datetime (inclusive), sample format: yyyy-MM-ddThh:mm:ssZ.",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "endDateTime",
- "description": "Scene end UTC datetime (inclusive), sample format: yyyy-MM-dThh:mm:ssZ.",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCloudCoveragePercentage",
- "description": "Filter scenes with cloud coverage percentage less than max value. Range [0 to 100.0].",
- "type": "number",
- "format": "double",
- "default": 100,
- "maximum": 100,
- "minimum": 0
- },
- {
- "in": "query",
- "name": "maxDarkPixelCoveragePercentage",
- "description": "Filter scenes with dark pixel coverage percentage less than max value. Range [0 to 100.0].",
- "type": "number",
- "format": "double",
- "default": 100,
- "maximum": 100,
- "minimum": 0
- },
- {
- "in": "query",
- "name": "imageNames",
- "description": "List of image names to be filtered.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "imageResolutions",
- "description": "List of image resolutions in meters to be filtered.",
- "type": "array",
- "items": {
- "format": "double",
- "type": "number"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "imageFormats",
- "description": "List of image formats to be filtered.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/SceneListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Scenes_List": {
- "$ref": "./examples/Scenes_List.json"
- }
- }
- }
- },
- "/scenes/satellite/ingest-data/{jobId}": {
- "put": {
- "tags": [
- "Scenes"
- ],
- "description": "Create a satellite data ingestion job.",
- "operationId": "Scenes_CreateSatelliteDataIngestionJob",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "JobId provided by user.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "job",
- "description": "Job parameters supplied by user.",
- "schema": {
- "$ref": "#/definitions/SatelliteDataIngestionJob"
- }
- }
- ],
- "responses": {
- "202": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/SatelliteDataIngestionJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "x-ms-examples": {
- "Scenes_CreateSatelliteDataIngestionJob": {
- "$ref": "./examples/Scenes_CreateSatelliteDataIngestionJob.json"
- }
- }
- },
- "get": {
- "tags": [
- "Scenes"
- ],
- "description": "Get a satellite data ingestion job.",
- "operationId": "Scenes_GetSatelliteDataIngestionJobDetails",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "ID of the job.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/SatelliteDataIngestionJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Scenes_GetSatelliteDataIngestionJobDetails": {
- "$ref": "./examples/Scenes_GetSatelliteDataIngestionJobDetails.json"
- }
- }
- }
- },
- "/scenes/downloadFiles": {
- "get": {
- "tags": [
- "Scenes"
- ],
- "description": "Downloads and returns file stream as response for the given input filePath.",
- "operationId": "Scenes_Download",
- "produces": [
- "application/octet-stream",
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "filePath",
- "description": "cloud storage path of scene file.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "format": "binary",
- "type": "file"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Scenes_Download": {
- "$ref": "./examples/Scenes_Download.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/seasonal-fields": {
- "get": {
- "tags": [
- "SeasonalFields"
- ],
- "description": "Returns a paginated list of seasonal field resources under a particular farmer.",
- "operationId": "SeasonalFields_ListByFarmerId",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "farmIds",
- "description": "Farm Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "fieldIds",
- "description": "Field Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "seasonIds",
- "description": "Season Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "cropVarietyIds",
- "description": "CropVarietyIds of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "cropIds",
- "description": "Ids of the crop it belongs to.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minAvgYieldValue",
- "description": "Minimum average yield value of the seasonal field(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgYieldValue",
- "description": "Maximum average yield value of the seasonal field(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "avgYieldUnit",
- "description": "Unit of the average yield value attribute.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "minAvgSeedPopulationValue",
- "description": "Minimum average seed population value of the seasonal field(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgSeedPopulationValue",
- "description": "Maximum average seed population value of the seasonal field(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "avgSeedPopulationUnit",
- "description": "Unit of average seed population value attribute.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "minPlantingDateTime",
- "description": "Minimum planting datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxPlantingDateTime",
- "description": "Maximum planting datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/SeasonalFieldListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "SeasonalFields_ListByFarmerId": {
- "$ref": "./examples/SeasonalFields_ListByFarmerId.json"
- }
- }
- }
- },
- "/seasonal-fields": {
- "get": {
- "tags": [
- "SeasonalFields"
- ],
- "description": "Returns a paginated list of seasonal field resources across all farmers.",
- "operationId": "SeasonalFields_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "farmIds",
- "description": "Farm Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "fieldIds",
- "description": "Field Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "seasonIds",
- "description": "Season Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "cropVarietyIds",
- "description": "CropVarietyIds of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "cropIds",
- "description": "Ids of the crop it belongs to.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minAvgYieldValue",
- "description": "Minimum average yield value of the seasonal field(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgYieldValue",
- "description": "Maximum average yield value of the seasonal field(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "avgYieldUnit",
- "description": "Unit of the average yield value attribute.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "minAvgSeedPopulationValue",
- "description": "Minimum average seed population value of the seasonal field(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxAvgSeedPopulationValue",
- "description": "Maximum average seed population value of the seasonal field(inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "avgSeedPopulationUnit",
- "description": "Unit of average seed population value attribute.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "minPlantingDateTime",
- "description": "Minimum planting datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxPlantingDateTime",
- "description": "Maximum planting datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/SeasonalFieldListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "SeasonalFields_List": {
- "$ref": "./examples/SeasonalFields_List.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/seasonal-fields/{seasonalFieldId}": {
- "get": {
- "tags": [
- "SeasonalFields"
- ],
- "description": "Gets a specified seasonal field resource under a particular farmer.",
- "operationId": "SeasonalFields_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "seasonalFieldId",
- "description": "ID of the seasonal field.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/SeasonalField"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "SeasonalFields_Get": {
- "$ref": "./examples/SeasonalFields_Get.json"
- }
- }
- },
- "patch": {
- "tags": [
- "SeasonalFields"
- ],
- "description": "Creates or Updates a seasonal field resource under a particular farmer.",
- "operationId": "SeasonalFields_CreateOrUpdate",
- "consumes": [
- "application/merge-patch+json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "seasonalFieldId",
- "description": "ID of the seasonal field resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "seasonalField",
- "description": "Seasonal field resource payload to create or update.",
- "schema": {
- "$ref": "#/definitions/SeasonalField"
- }
- }
- ],
- "responses": {
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/SeasonalField"
- }
- },
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/SeasonalField"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "SeasonalFields_CreateOrUpdate": {
- "$ref": "./examples/SeasonalFields_CreateOrUpdate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "SeasonalFields"
- ],
- "description": "Deletes a specified seasonal-field resource under a particular farmer.",
- "operationId": "SeasonalFields_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "seasonalFieldId",
- "description": "ID of the seasonal field.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "SeasonalFields_Delete": {
- "$ref": "./examples/SeasonalFields_Delete.json"
- }
- }
- }
- },
- "/seasonal-fields/cascade-delete/{jobId}": {
- "get": {
- "tags": [
- "SeasonalFields"
- ],
- "description": "Get cascade delete job for specified seasonal field.",
- "operationId": "SeasonalFields_GetCascadeDeleteJobDetails",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "ID of the job.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CascadeDeleteJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "SeasonalFields_GetCascadeDeleteJobDetails": {
- "$ref": "./examples/SeasonalFields_GetCascadeDeleteJobDetails.json"
- }
- }
- },
- "put": {
- "tags": [
- "SeasonalFields"
- ],
- "description": "Create a cascade delete job for specified seasonal field.",
- "operationId": "SeasonalFields_CreateCascadeDeleteJob",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "Job ID supplied by end user.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "seasonalFieldId",
- "description": "ID of the seasonalField to be deleted.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "202": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/CascadeDeleteJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "x-ms-examples": {
- "SeasonalFields_CreateCascadeDeleteJob": {
- "$ref": "./examples/SeasonalFields_CreateCascadeDeleteJob.json"
- }
- }
- }
- },
- "/seasons": {
- "get": {
- "tags": [
- "Seasons"
- ],
- "description": "Returns a paginated list of season resources.",
- "operationId": "Seasons_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "minStartDateTime",
- "description": "Minimum season start datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxStartDateTime",
- "description": "Maximum season start datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minEndDateTime",
- "description": "Minimum season end datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxEndDateTime",
- "description": "Maximum season end datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "years",
- "description": "Years of the resource.",
- "type": "array",
- "items": {
- "format": "int32",
- "type": "integer"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/SeasonListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Seasons_List": {
- "$ref": "./examples/Seasons_List.json"
- }
- }
- }
- },
- "/seasons/{seasonId}": {
- "get": {
- "tags": [
- "Seasons"
- ],
- "description": "Gets a specified season resource.",
- "operationId": "Seasons_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "seasonId",
- "description": "ID of the season.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Season"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Seasons_Get": {
- "$ref": "./examples/Seasons_Get.json"
- }
- }
- },
- "patch": {
- "tags": [
- "Seasons"
- ],
- "description": "Creates or updates a season resource.",
- "operationId": "Seasons_CreateOrUpdate",
- "consumes": [
- "application/merge-patch+json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "seasonId",
- "description": "ID of the season resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "season",
- "description": "Season resource payload to create or update.",
- "schema": {
- "$ref": "#/definitions/Season"
- }
- }
- ],
- "responses": {
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Season"
- }
- },
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Season"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Seasons_CreateOrUpdate": {
- "$ref": "./examples/Seasons_CreateOrUpdate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Seasons"
- ],
- "description": "Deletes a specified season resource.",
- "operationId": "Seasons_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "seasonId",
- "description": "ID of the season.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Seasons_Delete": {
- "$ref": "./examples/Seasons_Delete.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/tillage-data": {
- "get": {
- "tags": [
- "TillageData"
- ],
- "description": "Returns a paginated list of tillage data resources under a particular farm.",
- "operationId": "TillageData_ListByFarmerId",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "minTillageDepth",
- "description": "Minimum measured tillage depth (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxTillageDepth",
- "description": "Maximum measured tillage depth (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minTillagePressure",
- "description": "Minimum pressure applied by a tillage implement (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxTillagePressure",
- "description": "Maximum pressure applied by a tillage implement (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "sources",
- "description": "Sources of the operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "associatedBoundaryIds",
- "description": "Boundary IDs associated with operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "operationBoundaryIds",
- "description": "Operation boundary IDs associated with operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minOperationStartDateTime",
- "description": "Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationStartDateTime",
- "description": "Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minOperationEndDateTime",
- "description": "Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationEndDateTime",
- "description": "Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minOperationModifiedDateTime",
- "description": "Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationModifiedDateTime",
- "description": "Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minArea",
- "description": "Minimum area for which operation was applied (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxArea",
- "description": "Maximum area for which operation was applied (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/TillageDataListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "TillageData_ListByFarmerId": {
- "$ref": "./examples/TillageData_ListByFarmerId.json"
- }
- }
- }
- },
- "/tillage-data": {
- "get": {
- "tags": [
- "TillageData"
- ],
- "description": "Returns a paginated list of tillage data resources across all farmers.",
- "operationId": "TillageData_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "minTillageDepth",
- "description": "Minimum measured tillage depth (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxTillageDepth",
- "description": "Maximum measured tillage depth (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "minTillagePressure",
- "description": "Minimum pressure applied by a tillage implement (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxTillagePressure",
- "description": "Maximum pressure applied by a tillage implement (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "sources",
- "description": "Sources of the operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "associatedBoundaryIds",
- "description": "Boundary IDs associated with operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "operationBoundaryIds",
- "description": "Operation boundary IDs associated with operation data.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minOperationStartDateTime",
- "description": "Minimum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationStartDateTime",
- "description": "Maximum start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minOperationEndDateTime",
- "description": "Minimum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationEndDateTime",
- "description": "Maximum end date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minOperationModifiedDateTime",
- "description": "Minimum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxOperationModifiedDateTime",
- "description": "Maximum modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minArea",
- "description": "Minimum area for which operation was applied (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "maxArea",
- "description": "Maximum area for which operation was applied (inclusive).",
- "type": "number",
- "format": "double"
- },
- {
- "in": "query",
- "name": "ids",
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "names",
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "propertyFilters",
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "statuses",
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "minCreatedDateTime",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxCreatedDateTime",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "minLastModifiedDateTime",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "maxLastModifiedDateTime",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/TillageDataListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "TillageData_List": {
- "$ref": "./examples/TillageData_List.json"
- }
- }
- }
- },
- "/farmers/{farmerId}/tillage-data/{tillageDataId}": {
- "get": {
- "tags": [
- "TillageData"
- ],
- "description": "Get a specified tillage data resource under a particular farmer.",
- "operationId": "TillageData_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "tillageDataId",
- "description": "ID of the tillage data resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/TillageData"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "TillageData_Get": {
- "$ref": "./examples/TillageData_Get.json"
- }
- }
- },
- "patch": {
- "tags": [
- "TillageData"
- ],
- "description": "Creates or updates an tillage data resource under a particular farmer.",
- "operationId": "TillageData_CreateOrUpdate",
- "consumes": [
- "application/merge-patch+json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "tillageDataId",
- "description": "ID of the tillage data resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "tillageData",
- "description": "Tillage data resource payload to create or update.",
- "schema": {
- "$ref": "#/definitions/TillageData"
- }
- }
- ],
- "responses": {
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- },
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/TillageData"
- }
- },
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/TillageData"
- }
- }
- },
- "x-ms-examples": {
- "TillageData_CreateOrUpdate": {
- "$ref": "./examples/TillageData_CreateOrUpdate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "TillageData"
- ],
- "description": "Deletes a specified tillage data resource under a particular farmer.",
- "operationId": "TillageData_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmerId",
- "description": "ID of the associated farmer resource.",
- "required": true,
- "type": "string"
- },
- {
- "in": "path",
- "name": "tillageDataId",
- "description": "ID of the tillage data.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "TillageData_Delete": {
- "$ref": "./examples/TillageData_Delete.json"
- }
- }
- }
- },
- "/weather": {
- "get": {
- "tags": [
- "Weather"
- ],
- "description": "Returns a paginated list of weather data.",
- "operationId": "Weather_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "farmerId",
- "description": "Farmer ID.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "boundaryId",
- "description": "Boundary ID.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "extensionId",
- "description": "ID of the weather extension.",
- "required": true,
- "type": "string",
- "pattern": "^[A-za-z]{3,50}[.][A-za-z]{3,100}$"
- },
- {
- "in": "query",
- "name": "weatherDataType",
- "description": "Type of weather data (forecast/historical).",
- "required": true,
- "type": "string",
- "maxLength": 50,
- "minLength": 0
- },
- {
- "in": "query",
- "name": "granularity",
- "description": "Granularity of weather data (daily/hourly).",
- "required": true,
- "type": "string",
- "maxLength": 50,
- "minLength": 0
- },
- {
- "in": "query",
- "name": "startDateTime",
- "description": "Weather data start UTC date-time (inclusive), sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "endDateTime",
- "description": "Weather data end UTC date-time (inclusive), sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "format": "date-time"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/WeatherDataListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Weather_List": {
- "$ref": "./examples/Weather_List.json"
- }
- }
- }
- },
- "/weather/ingest-data/{jobId}": {
- "get": {
- "tags": [
- "Weather"
- ],
- "description": "Get weather ingestion job.",
- "operationId": "Weather_GetDataIngestionJobDetails",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "ID of the job.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/WeatherDataIngestionJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Weather_GetDataIngestionJobDetails": {
- "$ref": "./examples/Weather_GetDataIngestionJobDetails.json"
- }
- }
- },
- "put": {
- "tags": [
- "Weather"
- ],
- "description": "Create a weather data ingestion job.",
- "operationId": "Weather_CreateDataIngestionJob",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "Job id supplied by user.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "job",
- "description": "Job parameters supplied by user.",
- "schema": {
- "$ref": "#/definitions/WeatherDataIngestionJob"
- }
- }
- ],
- "responses": {
- "202": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/WeatherDataIngestionJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "x-ms-examples": {
- "Weather_CreateDataIngestionJob": {
- "$ref": "./examples/Weather_CreateDataIngestionJob.json"
- }
- }
- }
- },
- "/weather/delete-data/{jobId}": {
- "get": {
- "tags": [
- "Weather"
- ],
- "description": "Get weather data delete job.",
- "operationId": "Weather_GetDataDeleteJobDetails",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "ID of the job.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/WeatherDataDeleteJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Weather_GetDataDeleteJobDetails": {
- "$ref": "./examples/Weather_GetDataDeleteJobDetails.json"
- }
- }
- },
- "put": {
- "tags": [
- "Weather"
- ],
- "description": "Create a weather data delete job.",
- "operationId": "Weather_CreateDataDeleteJob",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "jobId",
- "description": "Job ID supplied by end user.",
- "required": true,
- "type": "string"
- },
- {
- "in": "query",
- "name": "api-version",
- "description": "The requested API version",
- "required": true,
- "type": "string"
- },
- {
- "in": "body",
- "name": "job",
- "description": "Job parameters supplied by user.",
- "schema": {
- "$ref": "#/definitions/WeatherDataDeleteJob"
- }
- }
- ],
- "responses": {
- "202": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/WeatherDataDeleteJob"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "x-ms-examples": {
- "Weather_CreateDataDeleteJob": {
- "$ref": "./examples/Weather_CreateDataDeleteJob.json"
- }
- }
- }
- }
- },
- "parameters": {
- "Endpoint": {
- "name": "Endpoint",
- "description": "The endpoint of your FarmBeats resource (protocol and hostname, for example: https://{resourceName}.farmbeats.azure.net).",
- "x-ms-parameter-location": "client",
- "required": true,
- "type": "string",
- "in": "path",
- "x-ms-skip-url-encoding": true
- }
- },
- "definitions": {
- "Measure": {
- "description": "Schema for storing measurement reading and unit.",
- "type": "object",
- "properties": {
- "unit": {
- "description": "Data unit.",
- "maxLength": 50,
- "minLength": 1,
- "type": "string"
- },
- "value": {
- "format": "double",
- "description": "Data value.",
- "type": "number"
- }
- }
- },
- "ApplicationProductDetail": {
- "description": "Schema of product used during application.",
- "type": "object",
- "properties": {
- "productName": {
- "description": "Name of the product applied.",
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "isCarrier": {
- "description": "A flag indicating whether product is a carrier for a tank mix.",
- "default": false,
- "type": "boolean"
- },
- "avgMaterial": {
- "$ref": "#/definitions/Measure"
- },
- "totalMaterial": {
- "$ref": "#/definitions/Measure"
- }
- }
- },
- "ApplicationData": {
- "description": "Schema of application data resource.",
- "type": "object",
- "properties": {
- "applicationProductDetails": {
- "description": "Application product details.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ApplicationProductDetail"
- }
- },
- "avgMaterial": {
- "$ref": "#/definitions/Measure"
- },
- "totalMaterial": {
- "$ref": "#/definitions/Measure"
- },
- "area": {
- "$ref": "#/definitions/Measure"
- },
- "source": {
- "description": "Source of the operation data.",
- "maxLength": 100,
- "minLength": 2,
- "type": "string"
- },
- "operationModifiedDateTime": {
- "format": "date-time",
- "description": "Modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.\r\nNote: this will be specified by the source provider itself.",
- "type": "string"
- },
- "operationStartDateTime": {
- "format": "date-time",
- "description": "Start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string"
- },
- "operationEndDateTime": {
- "format": "date-time",
- "description": "End date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string"
- },
- "attachmentsLink": {
- "description": "Link for attachments.",
- "type": "string",
- "readOnly": true
- },
- "associatedBoundaryId": {
- "description": "Optional boundary ID of the field for which operation was applied.",
- "type": "string"
- },
- "operationBoundaryId": {
- "description": "Optional boundary ID of the actual area for which operation was applied inside the specified field.",
- "type": "string"
- },
- "farmerId": {
- "description": "Farmer ID which belongs to the operation data.",
- "type": "string",
- "readOnly": true
- },
- "id": {
- "description": "Unique resource ID.",
- "type": "string",
- "readOnly": true
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "modifiedDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "ApplicationDataListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ApplicationData"
- }
- },
- "$skipToken": {
- "description": "Token used in retrieving the next page. If null, there are no additional pages.",
- "type": "string"
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string"
- }
- }
- },
- "InnerError": {
- "description": "Inner error containing list of errors.\r\nInnerError reference document.",
- "type": "object",
- "properties": {
- "code": {
- "description": "Specific error code than was provided by the\r\ncontaining error.",
- "type": "string"
- },
- "innererror": {
- "$ref": "#/definitions/InnerError"
- }
- },
- "additionalProperties": {
- "type": "object"
- }
- },
- "Error": {
- "description": "An error from the Azure AgPlatform service.",
- "type": "object",
- "properties": {
- "code": {
- "description": "Server-defined set of error codes.",
- "type": "string"
- },
- "message": {
- "description": "Human-readable representation of the error.",
- "type": "string"
- },
- "target": {
- "description": "Target of the error.",
- "type": "string"
- },
- "details": {
- "description": "Array of details about specific errors that led to this reported error.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Error"
- }
- },
- "innererror": {
- "$ref": "#/definitions/InnerError"
- }
- }
- },
- "ErrorResponse": {
- "description": "An error response from the Azure AgPlatform service.\r\nErrorResponse reference document..",
- "type": "object",
- "properties": {
- "error": {
- "$ref": "#/definitions/Error"
- },
- "traceId": {
- "description": "Unique trace ID.",
- "type": "string"
- }
- }
- },
- "Attachment": {
- "description": "Schema of attachment resource.",
- "type": "object",
- "properties": {
- "farmerId": {
- "description": "Farmer id for this attachment.",
- "type": "string",
- "readOnly": true
- },
- "resourceId": {
- "description": "Associated Resource id for this attachment.",
- "type": "string"
- },
- "resourceType": {
- "description": "Associated Resource type for this attachment\r\ni.e. Farmer, Farm, Field, SeasonalField, Boundary, FarmOperationApplicationData, HarvestData, TillageData, PlantingData.",
- "type": "string"
- },
- "originalFileName": {
- "description": "Original File Name for this attachment.",
- "type": "string",
- "readOnly": true
- },
- "id": {
- "description": "Unique id.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Date when resource was created.",
- "type": "string",
- "readOnly": true
- },
- "modifiedDateTime": {
- "format": "date-time",
- "description": "Date when resource was last modified.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "AttachmentListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Attachment"
- }
- },
- "$skipToken": {
- "description": "Token used in retrieving the next page. If null, there are no additional pages.",
- "type": "string"
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string"
- }
- }
- },
- "GeoJsonObjectType": {
- "description": "GeoJSON object type.",
- "enum": [
- "Point",
- "Polygon",
- "MultiPolygon"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "GeoJsonObjectType",
- "modelAsString": true
- }
- },
- "GeoJsonObject": {
- "description": "GeoJSON abstract class.",
- "required": [
- "type"
- ],
- "type": "object",
- "properties": {
- "type": {
- "$ref": "#/definitions/GeoJsonObjectType"
- }
- },
- "discriminator": "type"
- },
- "Boundary": {
- "description": "Schema of boundary resource.",
- "type": "object",
- "properties": {
- "farmerId": {
- "description": "Farmer ID.",
- "type": "string",
- "readOnly": true
- },
- "parentId": {
- "description": "ID of the parent(field or seasonalField) it belongs to.",
- "type": "string"
- },
- "geometry": {
- "$ref": "#/definitions/GeoJsonObject"
- },
- "isPrimary": {
- "description": "Is the boundary primary.",
- "type": "boolean"
- },
- "acreage": {
- "format": "double",
- "description": "Boundary area in acres.",
- "type": "number",
- "readOnly": true
- },
- "parentType": {
- "description": "Type of the parent it belongs to.",
- "type": "string",
- "readOnly": true
- },
- "id": {
- "description": "Unique resource ID.",
- "type": "string",
- "readOnly": true
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "modifiedDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- }
- }
- },
- "example": {
- "name": "string",
- "description": "string",
- "parentId": "string",
- "isPrimary": false,
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 73.70457172393799,
- 20.545385304358106
- ],
- [
- 73.70457172393799,
- 20.545385304358106
- ],
- [
- 73.70448589324951,
- 20.542411534243367
- ],
- [
- 73.70877742767334,
- 20.541688176010233
- ],
- [
- 73.71023654937744,
- 20.545083911372505
- ],
- [
- 73.70663166046143,
- 20.546992723579137
- ],
- [
- 73.70457172393799,
- 20.545385304358106
- ]
- ]
- ]
- }
- }
- },
- "BoundaryListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Boundary"
- }
- },
- "$skipToken": {
- "description": "Token used in retrieving the next page. If null, there are no additional pages.",
- "type": "string"
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string"
- }
- }
- },
- "SearchBoundaryQuery": {
- "description": "SearchAllBoundaries and SearchBoundaries parameters.",
- "type": "object",
- "properties": {
- "ids": {
- "description": "Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "names": {
- "description": "Names of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "propertyFilters": {
- "description": "Filters on key-value pairs within the Properties object.\r\neg. \"{testKey} eq {testValue}\".",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "statuses": {
- "description": "Statuses of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "minCreatedDateTime": {
- "format": "date-time",
- "description": "Minimum creation date of resource (inclusive).",
- "type": "string"
- },
- "maxCreatedDateTime": {
- "format": "date-time",
- "description": "Maximum creation date of resource (inclusive).",
- "type": "string"
- },
- "minLastModifiedDateTime": {
- "format": "date-time",
- "description": "Minimum last modified date of resource (inclusive).",
- "type": "string"
- },
- "maxLastModifiedDateTime": {
- "format": "date-time",
- "description": "Maximum last modified date of resource (inclusive).",
- "type": "string"
- },
- "$maxPageSize": {
- "format": "int32",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "default": 50,
- "maximum": 1000,
- "minimum": 10,
- "type": "integer"
- },
- "$skipToken": {
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- "isPrimary": {
- "description": "Is the boundary primary.",
- "type": "boolean"
- },
- "parentType": {
- "description": "Type of the parent it belongs to.",
- "type": "string"
- },
- "parentIds": {
- "description": "Parent Ids of the resource.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "minAcreage": {
- "format": "double",
- "description": "Minimum acreage of the boundary (inclusive).",
- "type": "number"
- },
- "maxAcreage": {
- "format": "double",
- "description": "Maximum acreage of the boundary (inclusive).",
- "type": "number"
- },
- "intersectsWithGeometry": {
- "$ref": "#/definitions/GeoJsonObject"
- }
- }
- },
- "CascadeDeleteJob": {
- "description": "Schema of cascade delete job.",
- "required": [
- "farmerId",
- "resourceId",
- "resourceType"
- ],
- "type": "object",
- "properties": {
- "farmerId": {
- "description": "Farmer ID.",
- "type": "string"
- },
- "resourceId": {
- "description": "The id of the resource.",
- "type": "string"
- },
- "resourceType": {
- "description": "The type of the resource.",
- "type": "string"
- },
- "id": {
- "description": "Unique job id.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
- "type": "string",
- "readOnly": true
- },
- "durationInSeconds": {
- "format": "double",
- "description": "Duration of the job in seconds.",
- "type": "number",
- "readOnly": true
- },
- "message": {
- "description": "Status message to capture more details of the job.",
- "type": "string",
- "readOnly": true
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "lastActionDateTime": {
- "format": "date-time",
- "description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "startTime": {
- "format": "date-time",
- "description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "endTime": {
- "format": "date-time",
- "description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "BoundaryOverlapResponse": {
- "description": "Schema of boundary overlap response.",
- "type": "object",
- "properties": {
- "boundaryAcreage": {
- "format": "double",
- "description": "Acreage of Main boundary.",
- "type": "number"
- },
- "otherBoundaryAcreage": {
- "format": "double",
- "description": "Acreage of other boundary.",
- "type": "number"
- },
- "intersectingAcreage": {
- "format": "double",
- "description": "Acreage of intersecting boundary.",
- "type": "number"
- }
- }
- },
- "Crop": {
- "description": "Schema of crop resource.",
- "type": "object",
- "properties": {
- "phenotype": {
- "description": "Crop phenotype.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "id": {
- "description": "Unique resource ID.",
- "type": "string",
- "readOnly": true
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "modifiedDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "CropListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Crop"
- }
- },
- "$skipToken": {
- "description": "Token used in retrieving the next page. If null, there are no additional pages.",
- "type": "string"
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string"
- }
- }
- },
- "CropVariety": {
- "description": "Schema of crop variety resource.",
- "type": "object",
- "properties": {
- "cropId": {
- "description": "ID of the crop it belongs to.",
- "type": "string",
- "readOnly": true
- },
- "brand": {
- "description": "CropVariety Brand.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "product": {
- "description": "CropVariety product.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "id": {
- "description": "Unique resource ID.",
- "type": "string",
- "readOnly": true
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "modifiedDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "CropVarietyListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/CropVariety"
- }
- },
- "$skipToken": {
- "description": "Token used in retrieving the next page. If null, there are no additional pages.",
- "type": "string"
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string"
- }
- }
- },
- "Farmer": {
- "description": "Schema of farmer resource.",
- "type": "object",
- "properties": {
- "id": {
- "description": "Unique resource ID.",
- "type": "string",
- "readOnly": true
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "modifiedDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "FarmerListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Farmer"
- }
- },
- "$skipToken": {
- "description": "Token used in retrieving the next page. If null, there are no additional pages.",
- "type": "string"
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string"
- }
- }
- },
- "FarmOperationDataIngestionJob": {
- "description": "Schema of farm operation data ingestion job.",
- "required": [
- "authProviderId",
- "farmerId",
- "startYear"
- ],
- "type": "object",
- "properties": {
- "farmerId": {
- "description": "Farmer ID.",
- "type": "string"
- },
- "authProviderId": {
- "description": "Authentication provider ID.",
- "type": "string"
- },
- "operations": {
- "description": "List of operation types for which data needs to be downloaded. Available values: AllOperations, Application, Planting, Harvest, Tillage.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "startYear": {
- "format": "int32",
- "description": "Start Year (Minimum = 2000, Maximum = CurrentYear).",
- "type": "integer"
- },
- "id": {
- "description": "Unique job id.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
- "type": "string",
- "readOnly": true
- },
- "durationInSeconds": {
- "format": "double",
- "description": "Duration of the job in seconds.",
- "type": "number",
- "readOnly": true
- },
- "message": {
- "description": "Status message to capture more details of the job.",
- "type": "string",
- "readOnly": true
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "lastActionDateTime": {
- "format": "date-time",
- "description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "startTime": {
- "format": "date-time",
- "description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "endTime": {
- "format": "date-time",
- "description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "Farm": {
- "description": "Schema of farm resource.",
- "type": "object",
- "properties": {
- "farmerId": {
- "description": "Farmer ID.",
- "type": "string",
- "readOnly": true
- },
- "id": {
- "description": "Unique resource ID.",
- "type": "string",
- "readOnly": true
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "modifiedDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "FarmListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Farm"
- }
- },
- "$skipToken": {
- "description": "Token used in retrieving the next page. If null, there are no additional pages.",
- "type": "string"
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string"
- }
- }
- },
- "Field": {
- "description": "Schema of field resource.",
- "type": "object",
- "properties": {
- "farmId": {
- "description": "ID of the associated Farm.",
- "type": "string"
- },
- "farmerId": {
- "description": "Farmer ID.",
- "type": "string",
- "readOnly": true
- },
- "primaryBoundaryId": {
- "description": "Primary boundary id.",
- "type": "string",
- "readOnly": true
- },
- "boundaryIds": {
- "description": "Boundary Ids.",
- "uniqueItems": true,
- "type": "array",
- "items": {
- "type": "string"
- },
- "readOnly": true
- },
- "id": {
- "description": "Unique resource ID.",
- "type": "string",
- "readOnly": true
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "modifiedDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "FieldListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Field"
- }
- },
- "$skipToken": {
- "description": "Token used in retrieving the next page. If null, there are no additional pages.",
- "type": "string"
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string"
- }
- }
- },
- "HarvestProductDetail": {
- "description": "Schema of product used during harvesting.",
- "type": "object",
- "properties": {
- "productName": {
- "description": "Name of the product.",
- "maxLength": 100,
- "minLength": 1,
- "type": "string"
- },
- "area": {
- "$ref": "#/definitions/Measure"
- },
- "totalYield": {
- "$ref": "#/definitions/Measure"
- },
- "avgYield": {
- "$ref": "#/definitions/Measure"
- },
- "avgMoisture": {
- "$ref": "#/definitions/Measure"
- },
- "totalWetMass": {
- "$ref": "#/definitions/Measure"
- },
- "avgWetMass": {
- "$ref": "#/definitions/Measure"
- }
- }
- },
- "HarvestData": {
- "description": "Schema of harvest data resource.",
- "type": "object",
- "properties": {
- "totalYield": {
- "$ref": "#/definitions/Measure"
- },
- "avgYield": {
- "$ref": "#/definitions/Measure"
- },
- "totalWetMass": {
- "$ref": "#/definitions/Measure"
- },
- "avgWetMass": {
- "$ref": "#/definitions/Measure"
- },
- "avgMoisture": {
- "$ref": "#/definitions/Measure"
- },
- "avgSpeed": {
- "$ref": "#/definitions/Measure"
- },
- "harvestProductDetails": {
- "description": "Harvest product details.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/HarvestProductDetail"
- }
- },
- "area": {
- "$ref": "#/definitions/Measure"
- },
- "source": {
- "description": "Source of the operation data.",
- "maxLength": 100,
- "minLength": 2,
- "type": "string"
- },
- "operationModifiedDateTime": {
- "format": "date-time",
- "description": "Modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.\r\nNote: this will be specified by the source provider itself.",
- "type": "string"
- },
- "operationStartDateTime": {
- "format": "date-time",
- "description": "Start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string"
- },
- "operationEndDateTime": {
- "format": "date-time",
- "description": "End date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string"
- },
- "attachmentsLink": {
- "description": "Link for attachments.",
- "type": "string",
- "readOnly": true
- },
- "associatedBoundaryId": {
- "description": "Optional boundary ID of the field for which operation was applied.",
- "type": "string"
- },
- "operationBoundaryId": {
- "description": "Optional boundary ID of the actual area for which operation was applied inside the specified field.",
- "type": "string"
- },
- "farmerId": {
- "description": "Farmer ID which belongs to the operation data.",
- "type": "string",
- "readOnly": true
- },
- "id": {
- "description": "Unique resource ID.",
- "type": "string",
- "readOnly": true
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "modifiedDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "HarvestDataListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/HarvestData"
- }
- },
- "$skipToken": {
- "description": "Token used in retrieving the next page. If null, there are no additional pages.",
- "type": "string"
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string"
- }
- }
- },
- "ImageProcessingRasterizeJob": {
- "description": "ImageProcessingRasterizeJob.",
- "required": [
- "farmerId",
- "shapefileAttachmentId",
- "shapefileColumnNames"
- ],
- "type": "object",
- "properties": {
- "farmerId": {
- "description": "Farmer ID.",
- "type": "string"
- },
- "shapefileAttachmentId": {
- "description": "Shapefile attachment ID.",
- "type": "string"
- },
- "shapefileColumnNames": {
- "description": "List of shapefile column names to create raster attachments.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "id": {
- "description": "Unique job id.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
- "type": "string",
- "readOnly": true
- },
- "durationInSeconds": {
- "format": "double",
- "description": "Duration of the job in seconds.",
- "type": "number",
- "readOnly": true
- },
- "message": {
- "description": "Status message to capture more details of the job.",
- "type": "string",
- "readOnly": true
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "lastActionDateTime": {
- "format": "date-time",
- "description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "startTime": {
- "format": "date-time",
- "description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "endTime": {
- "format": "date-time",
- "description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "OAuthProvider": {
- "description": "Schema of OAuth provider resource.",
- "type": "object",
- "properties": {
- "appId": {
- "description": "OAuth App ID for given OAuth Provider.",
- "maxLength": 200,
- "minLength": 2,
- "type": "string"
- },
- "appSecret": {
- "description": "OAuth App secret for given Provider.\r\nNote: Won't be sent in response.",
- "maxLength": 200,
- "minLength": 2,
- "type": "string"
- },
- "apiKey": {
- "description": "OAuth Api key for given Provider.\r\nNote: currently Applicable to Climate provider. Won't be sent in response.",
- "maxLength": 200,
- "minLength": 2,
- "type": "string"
- },
- "isProductionApp": {
- "description": "An optional flag to determine if the App is ready to be used for Production scenarios in the provider side or not. (Default value: false)\r\nNote: Currently applicable for JohnDeere.",
- "default": false,
- "type": "boolean"
- },
- "id": {
- "description": "Unique OAuth provider ID.",
- "type": "string",
- "readOnly": true
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "modifiedDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "OAuthProviderListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/OAuthProvider"
- }
- },
- "$skipToken": {
- "description": "Token used in retrieving the next page. If null, there are no additional pages.",
- "type": "string"
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string"
- }
- }
- },
- "OAuthToken": {
- "description": "Schema of OAuth token resource.",
- "required": [
- "authProviderId",
- "farmerId"
- ],
- "type": "object",
- "properties": {
- "farmerId": {
- "description": "Farmer ID for this OAuth config.",
- "type": "string"
- },
- "authProviderId": {
- "description": "ID of the OAuth provider resource containing app information.",
- "type": "string"
- },
- "isValid": {
- "description": "An optional flag indicating whether the token is a valid or expired (Default value: true).",
- "default": true,
- "type": "boolean"
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "modifiedDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "OAuthTokenListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/OAuthToken"
- }
- },
- "$skipToken": {
- "description": "Token used in retrieving the next page. If null, there are no additional pages.",
- "type": "string"
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string"
- }
- }
- },
- "OAuthConnectRequest": {
- "description": "Get OAuth config query parameters.",
- "required": [
- "farmerId",
- "oAuthProviderId",
- "userRedirectLink"
- ],
- "type": "object",
- "properties": {
- "farmerId": {
- "description": "ID of the farmer.",
- "type": "string"
- },
- "oAuthProviderId": {
- "description": "ID of the OAuthProvider.",
- "type": "string"
- },
- "userRedirectLink": {
- "description": "Link to redirect the user to, at the end of the oauth flow.",
- "maxLength": 1000,
- "minLength": 0,
- "type": "string"
- },
- "userRedirectState": {
- "description": "State to provide back when redirecting the user, at the end of the oauth flow.",
- "maxLength": 200,
- "minLength": 0,
- "type": "string"
- }
- }
- },
- "PlantingProductDetail": {
- "description": "Schema for Planting product detail.",
- "type": "object",
- "properties": {
- "productName": {
- "description": "Name of the product.",
- "type": "string"
- },
- "area": {
- "$ref": "#/definitions/Measure"
- },
- "totalMaterial": {
- "$ref": "#/definitions/Measure"
- },
- "avgMaterial": {
- "$ref": "#/definitions/Measure"
- }
- }
- },
- "PlantingData": {
- "description": "Schema of planting data resource.",
- "type": "object",
- "properties": {
- "avgPlantingRate": {
- "$ref": "#/definitions/Measure"
- },
- "totalMaterial": {
- "$ref": "#/definitions/Measure"
- },
- "avgMaterial": {
- "$ref": "#/definitions/Measure"
- },
- "plantingProductDetails": {
- "description": "Planting product details.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PlantingProductDetail"
- }
- },
- "area": {
- "$ref": "#/definitions/Measure"
- },
- "source": {
- "description": "Source of the operation data.",
- "maxLength": 100,
- "minLength": 2,
- "type": "string"
- },
- "operationModifiedDateTime": {
- "format": "date-time",
- "description": "Modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.\r\nNote: this will be specified by the source provider itself.",
- "type": "string"
- },
- "operationStartDateTime": {
- "format": "date-time",
- "description": "Start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string"
- },
- "operationEndDateTime": {
- "format": "date-time",
- "description": "End date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string"
- },
- "attachmentsLink": {
- "description": "Link for attachments.",
- "type": "string",
- "readOnly": true
- },
- "associatedBoundaryId": {
- "description": "Optional boundary ID of the field for which operation was applied.",
- "type": "string"
- },
- "operationBoundaryId": {
- "description": "Optional boundary ID of the actual area for which operation was applied inside the specified field.",
- "type": "string"
- },
- "farmerId": {
- "description": "Farmer ID which belongs to the operation data.",
- "type": "string",
- "readOnly": true
- },
- "id": {
- "description": "Unique resource ID.",
- "type": "string",
- "readOnly": true
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "modifiedDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "PlantingDataListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PlantingData"
- }
- },
- "$skipToken": {
- "description": "Token used in retrieving the next page. If null, there are no additional pages.",
- "type": "string"
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string"
- }
- }
- },
- "ImageFormat": {
- "description": "Supported image formats for scene resource.",
- "enum": [
- "TIF"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "ImageFormat",
- "modelAsString": true
- }
- },
- "ImageFile": {
- "description": "Schema of image file resource.",
- "required": [
- "name"
- ],
- "type": "object",
- "properties": {
- "fileLink": {
- "description": "Link of the image file.",
- "type": "string"
- },
- "name": {
- "description": "Name of the image file.",
- "type": "string"
- },
- "imageFormat": {
- "$ref": "#/definitions/ImageFormat"
- },
- "resolution": {
- "format": "double",
- "description": "Resolution of image file in meters.",
- "type": "number"
- }
- }
- },
- "Scene": {
- "description": "Schema of scene resource.",
- "type": "object",
- "properties": {
- "sceneDateTime": {
- "format": "date-time",
- "description": "Date-time of the scene, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string"
- },
- "provider": {
- "description": "Data provider of the scene.",
- "maxLength": 100,
- "minLength": 2,
- "type": "string"
- },
- "source": {
- "description": "Data source of the scene.",
- "maxLength": 100,
- "minLength": 2,
- "type": "string"
- },
- "imageFiles": {
- "description": "Collection of image files.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ImageFile"
- }
- },
- "imageFormat": {
- "$ref": "#/definitions/ImageFormat"
- },
- "cloudCoverPercentage": {
- "format": "double",
- "description": "Cloud cover percentage of the scene.",
- "maximum": 100,
- "minimum": 0,
- "type": "number"
- },
- "darkPixelPercentage": {
- "format": "double",
- "description": "Dark pixel percentage of the scene.",
- "maximum": 100,
- "minimum": 0,
- "type": "number"
- },
- "ndviMedianValue": {
- "format": "double",
- "description": "Median of NDVI of the scene.",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "boundaryId": {
- "description": "Boundary ID which belongs to the scene.",
- "maxLength": 100,
- "minLength": 2,
- "type": "string"
- },
- "farmerId": {
- "description": "Farmer ID which belongs to the scene.",
- "type": "string"
- },
- "id": {
- "description": "Unique scene resource ID.",
- "type": "string"
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "SceneListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Scene"
- }
- },
- "$skipToken": {
- "description": "Token used in retrieving the next page. If null, there are no additional pages.",
- "type": "string"
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string"
- }
- }
- },
- "DataProvider": {
- "description": "Provider of satellite data.",
- "enum": [
- "Microsoft"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "DataProvider",
- "modelAsString": true
- }
- },
- "Source": {
- "description": "Source of satellite data.",
- "enum": [
- "Sentinel_2_L2A"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "Source",
- "modelAsString": true
- }
- },
- "SatelliteData": {
- "description": "Data Model for SatelliteIngestionJobRequest.",
- "type": "object",
- "properties": {
- "imageNames": {
- "description": "List of ImageNames.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "example": [
- "NDVI"
- ]
- },
- "imageFormats": {
- "description": "List of ImageFormats. Available value: TIF.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "example": [
- "TIF"
- ]
- },
- "imageResolutions": {
- "description": "List of ImageResolutions in meters. Available values: 10, 20, 60.",
- "type": "array",
- "items": {
- "format": "double",
- "type": "number"
- },
- "example": [
- 10
- ]
- }
- }
- },
- "SatelliteDataIngestionJob": {
- "description": "Schema of satellite data ingestion job.",
- "required": [
- "boundaryId",
- "endDateTime",
- "farmerId",
- "startDateTime"
- ],
- "type": "object",
- "properties": {
- "farmerId": {
- "description": "Farmer ID.",
- "type": "string"
- },
- "boundaryId": {
- "description": "The id of the boundary object for which satellite data is being fetched.",
- "type": "string"
- },
- "startDateTime": {
- "format": "date-time",
- "description": "Start Date.",
- "type": "string"
- },
- "endDateTime": {
- "format": "date-time",
- "description": "End Date.",
- "type": "string"
- },
- "provider": {
- "$ref": "#/definitions/DataProvider"
- },
- "source": {
- "$ref": "#/definitions/Source"
- },
- "data": {
- "$ref": "#/definitions/SatelliteData"
- },
- "id": {
- "description": "Unique job id.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
- "type": "string",
- "readOnly": true
- },
- "durationInSeconds": {
- "format": "double",
- "description": "Duration of the job in seconds.",
- "type": "number",
- "readOnly": true
- },
- "message": {
- "description": "Status message to capture more details of the job.",
- "type": "string",
- "readOnly": true
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "lastActionDateTime": {
- "format": "date-time",
- "description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "startTime": {
- "format": "date-time",
- "description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "endTime": {
- "format": "date-time",
- "description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "SeasonalField": {
- "description": "Schema of seasonal field resource.",
- "type": "object",
- "properties": {
- "farmerId": {
- "description": "Farmer ID.",
- "type": "string",
- "readOnly": true
- },
- "primaryBoundaryId": {
- "description": "Primary boundary id.",
- "type": "string",
- "readOnly": true
- },
- "boundaryIds": {
- "description": "Boundary Ids.",
- "uniqueItems": true,
- "type": "array",
- "items": {
- "type": "string"
- },
- "readOnly": true
- },
- "farmId": {
- "description": "ID of the associated Farm.",
- "type": "string"
- },
- "fieldId": {
- "description": "ID of the associated Field.",
- "type": "string"
- },
- "seasonId": {
- "description": "ID of the season it belongs to.",
- "type": "string"
- },
- "cropVarietyIds": {
- "description": "CropVariety ids.",
- "uniqueItems": true,
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "cropId": {
- "description": "ID of the crop it belongs to.",
- "type": "string"
- },
- "avgYieldValue": {
- "format": "double",
- "description": "Average yield value of the seasonal field.",
- "type": "number"
- },
- "avgYieldUnit": {
- "description": "Unit of the average yield value attribute.",
- "maxLength": 32,
- "minLength": 2,
- "type": "string"
- },
- "avgSeedPopulationValue": {
- "format": "double",
- "description": "Average seed population value of the seasonal field.",
- "type": "number"
- },
- "avgSeedPopulationUnit": {
- "description": "Unit of average seed population value attribute.",
- "maxLength": 32,
- "minLength": 2,
- "type": "string"
- },
- "plantingDateTime": {
- "format": "date-time",
- "description": "Planting datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string"
- },
- "id": {
- "description": "Unique resource ID.",
- "type": "string",
- "readOnly": true
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "modifiedDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "SeasonalFieldListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/SeasonalField"
- }
- },
- "$skipToken": {
- "description": "Token used in retrieving the next page. If null, there are no additional pages.",
- "type": "string"
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string"
- }
- }
- },
- "Season": {
- "description": "Schema of season resource.",
- "type": "object",
- "properties": {
- "startDateTime": {
- "format": "date-time",
- "description": "Season start datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string"
- },
- "endDateTime": {
- "format": "date-time",
- "description": "Season end datetime, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string"
- },
- "year": {
- "format": "int32",
- "description": "Season year.",
- "type": "integer"
- },
- "id": {
- "description": "Unique resource ID.",
- "type": "string",
- "readOnly": true
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "modifiedDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "SeasonListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Season"
- }
- },
- "$skipToken": {
- "description": "Token used in retrieving the next page. If null, there are no additional pages.",
- "type": "string"
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string"
- }
- }
- },
- "TillageData": {
- "description": "Schema of tillage data resource.",
- "type": "object",
- "properties": {
- "tillageDepth": {
- "$ref": "#/definitions/Measure"
- },
- "tillagePressure": {
- "$ref": "#/definitions/Measure"
- },
- "area": {
- "$ref": "#/definitions/Measure"
- },
- "source": {
- "description": "Source of the operation data.",
- "maxLength": 100,
- "minLength": 2,
- "type": "string"
- },
- "operationModifiedDateTime": {
- "format": "date-time",
- "description": "Modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.\r\nNote: this will be specified by the source provider itself.",
- "type": "string"
- },
- "operationStartDateTime": {
- "format": "date-time",
- "description": "Start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string"
- },
- "operationEndDateTime": {
- "format": "date-time",
- "description": "End date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string"
- },
- "attachmentsLink": {
- "description": "Link for attachments.",
- "type": "string",
- "readOnly": true
- },
- "associatedBoundaryId": {
- "description": "Optional boundary ID of the field for which operation was applied.",
- "type": "string"
- },
- "operationBoundaryId": {
- "description": "Optional boundary ID of the actual area for which operation was applied inside the specified field.",
- "type": "string"
- },
- "farmerId": {
- "description": "Farmer ID which belongs to the operation data.",
- "type": "string",
- "readOnly": true
- },
- "id": {
- "description": "Unique resource ID.",
- "type": "string",
- "readOnly": true
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "modifiedDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "TillageDataListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/TillageData"
- }
- },
- "$skipToken": {
- "description": "Token used in retrieving the next page. If null, there are no additional pages.",
- "type": "string"
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string"
- }
- }
- },
- "Location": {
- "description": "Location model class.",
- "required": [
- "latitude",
- "longitude"
- ],
- "type": "object",
- "properties": {
- "latitude": {
- "format": "double",
- "description": "Latitude of the location.",
- "maximum": 90,
- "minimum": -90,
- "type": "number"
- },
- "longitude": {
- "format": "double",
- "description": "Longitude of the location.",
- "maximum": 180,
- "minimum": -180,
- "type": "number"
- }
- }
- },
- "WeatherData": {
- "description": "Schema of weather data.",
- "required": [
- "boundaryId",
- "dateTime",
- "extensionId",
- "extensionVersion",
- "farmerId",
- "granularity",
- "location",
- "weatherDataType"
- ],
- "type": "object",
- "properties": {
- "farmerId": {
- "description": "Farmer ID.",
- "type": "string"
- },
- "boundaryId": {
- "description": "Boundary ID.",
- "type": "string"
- },
- "extensionId": {
- "description": "ID of the weather extension.",
- "type": "string"
- },
- "location": {
- "$ref": "#/definitions/Location"
- },
- "dateTime": {
- "format": "date-time",
- "description": "Date-time of the weather data, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string"
- },
- "unitSystemCode": {
- "description": "Unit System like US/SI etc.",
- "type": "string"
- },
- "extensionVersion": {
- "description": "Version of the weather data extension.",
- "type": "string"
- },
- "weatherDataType": {
- "description": "Type of weather data (forecast/historical).",
- "type": "string"
- },
- "granularity": {
- "description": "Granularity of weather data (daily/hourly).",
- "type": "string"
- },
- "cloudCover": {
- "$ref": "#/definitions/Measure"
- },
- "dewPoint": {
- "$ref": "#/definitions/Measure"
- },
- "growingDegreeDay": {
- "$ref": "#/definitions/Measure"
- },
- "precipitation": {
- "$ref": "#/definitions/Measure"
- },
- "pressure": {
- "$ref": "#/definitions/Measure"
- },
- "relativeHumidity": {
- "$ref": "#/definitions/Measure"
- },
- "soilMoisture": {
- "$ref": "#/definitions/Measure"
- },
- "soilTemperature": {
- "$ref": "#/definitions/Measure"
- },
- "temperature": {
- "$ref": "#/definitions/Measure"
- },
- "visibility": {
- "$ref": "#/definitions/Measure"
- },
- "wetBulbTemperature": {
- "$ref": "#/definitions/Measure"
- },
- "windChill": {
- "$ref": "#/definitions/Measure"
- },
- "windDirection": {
- "$ref": "#/definitions/Measure"
- },
- "windGust": {
- "$ref": "#/definitions/Measure"
- },
- "windSpeed": {
- "$ref": "#/definitions/Measure"
- },
- "id": {
- "description": "Weather data ID.",
- "type": "string"
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "modifiedDateTime": {
- "format": "date-time",
- "description": "Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "WeatherDataListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/WeatherData"
- }
- },
- "$skipToken": {
- "description": "Token used in retrieving the next page. If null, there are no additional pages.",
- "type": "string"
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string"
- }
- }
- },
- "WeatherDataIngestionJob": {
- "description": "Schema of weather ingestion job.",
- "required": [
- "boundaryId",
- "extensionApiInput",
- "extensionApiName",
- "extensionId",
- "farmerId"
- ],
- "type": "object",
- "properties": {
- "boundaryId": {
- "description": "The id of the boundary object for which weather data is being fetched.",
- "type": "string"
- },
- "farmerId": {
- "description": "The id of the farmer object for which weather data is being fetched.",
- "type": "string"
- },
- "extensionId": {
- "description": "ID of the extension to be used for the providerInput. eg. DTN.ClearAg.",
- "maxLength": 100,
- "minLength": 2,
- "pattern": "^[A-za-z]{3,50}[.][A-za-z]{3,100}$",
- "type": "string"
- },
- "extensionApiName": {
- "description": "Extension api name to which request is to be made.",
- "maxLength": 100,
- "minLength": 2,
- "type": "string"
- },
- "extensionApiInput": {
- "description": "Extension api input dictionary which would be used to feed request query/body/parameter information.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- }
- },
- "extensionDataProviderAppId": {
- "description": "App id of the weather data provider.",
- "maxLength": 200,
- "minLength": 2,
- "type": "string"
- },
- "extensionDataProviderApiKey": {
- "description": "Api key of the weather data provider.",
- "maxLength": 200,
- "minLength": 2,
- "type": "string"
- },
- "id": {
- "description": "Unique job id.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
- "type": "string",
- "readOnly": true
- },
- "durationInSeconds": {
- "format": "double",
- "description": "Duration of the job in seconds.",
- "type": "number",
- "readOnly": true
- },
- "message": {
- "description": "Status message to capture more details of the job.",
- "type": "string",
- "readOnly": true
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "lastActionDateTime": {
- "format": "date-time",
- "description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "startTime": {
- "format": "date-time",
- "description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "endTime": {
- "format": "date-time",
- "description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "WeatherDataDeleteJob": {
- "description": "Schema of weather data delete job.",
- "required": [
- "boundaryId",
- "extensionId",
- "farmerId"
- ],
- "type": "object",
- "properties": {
- "extensionId": {
- "description": "ID of the extension to be used for the providerInput. eg. DTN.ClearAg.",
- "maxLength": 100,
- "minLength": 2,
- "pattern": "^[A-za-z]{3,50}[.][A-za-z]{3,100}$",
- "type": "string"
- },
- "farmerId": {
- "description": "The id of the farmer object for which weather data is being fetched.",
- "type": "string"
- },
- "boundaryId": {
- "description": "The id of the boundary object for which weather data is being fetched.",
- "type": "string"
- },
- "weatherDataType": {
- "description": "Type of weather data. Possible values include: 'forecast' , 'historical'.",
- "type": "string"
- },
- "granularity": {
- "description": "Granularity of weather data. Possible values include: 'daily' , 'hourly'.",
- "type": "string"
- },
- "startDateTime": {
- "format": "date-time",
- "description": "Weather data start UTC date-time (inclusive), sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string"
- },
- "endDateTime": {
- "format": "date-time",
- "description": "Weather data end UTC date-time (inclusive), sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string"
- },
- "id": {
- "description": "Unique job id.",
- "type": "string",
- "readOnly": true
- },
- "status": {
- "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
- "type": "string",
- "readOnly": true
- },
- "durationInSeconds": {
- "format": "double",
- "description": "Duration of the job in seconds.",
- "type": "number",
- "readOnly": true
- },
- "message": {
- "description": "Status message to capture more details of the job.",
- "type": "string",
- "readOnly": true
- },
- "createdDateTime": {
- "format": "date-time",
- "description": "Job created at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "lastActionDateTime": {
- "format": "date-time",
- "description": "Job was last acted upon at dateTime. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "startTime": {
- "format": "date-time",
- "description": "Job start time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "endTime": {
- "format": "date-time",
- "description": "Job end time when available. Sample format: yyyy-MM-ddTHH:mm:ssZ.",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name to identify resource.",
- "maxLength": 100,
- "minLength": 0,
- "type": "string"
- },
- "description": {
- "description": "Textual description of the resource.",
- "maxLength": 500,
- "minLength": 0,
- "type": "string"
- },
- "properties": {
- "description": "A collection of key value pairs that belongs to the resource.\r\nEach pair must not have a key greater than 50 characters\r\nand must not have a value greater than 150 characters.\r\nNote: A maximum of 25 key value pairs can be provided for a resource and only string and numeral values are supported.",
- "type": "object",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "key1": "value1",
- "key2": 123.45
- }
- }
- }
- },
- "MultiPolygon": {
- "description": "MultiPolygon geometry.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/GeoJsonObject"
- },
- {
- "$ref": "#/definitions/MultiPolygonCoordinates"
- }
- ],
- "x-ms-discriminator-value": "MultiPolygon"
- },
- "MultiPolygonCoordinates": {
- "description": "Schema of multi polygon coordinates.",
- "required": [
- "coordinates"
- ],
- "type": "object",
- "properties": {
- "coordinates": {
- "description": "Gets or sets Coordinates of GeoJSON Object.\r\nIt must be an array of polygons, each polygon contains list of linear rings.\r\nFor Polygons with more than one of these rings, the first MUST be the exterior ring,\r\nand any others MUST be interior rings.",
- "minLength": 1,
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "format": "double",
- "type": "number"
- }
- }
- }
- }
- }
- }
- },
- "Point": {
- "description": "Point geometry.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/GeoJsonObject"
- },
- {
- "$ref": "#/definitions/PointCoordinates"
- }
- ],
- "x-ms-discriminator-value": "Point"
- },
- "PointCoordinates": {
- "description": "Schema of the coordinates of a point.",
- "type": "object",
- "required": [
- "coordinates"
- ],
- "properties": {
- "coordinates": {
- "description": "Gets or sets the coordinate of this point.\r\nIt must be an array of 2 or 3 elements for a 2D or 3D system.",
- "maximum": 3,
- "minimum": 2,
- "type": "array",
- "items": {
- "format": "double",
- "type": "number"
- }
- }
- }
- },
- "Polygon": {
- "description": "Polygon geometry.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/GeoJsonObject"
- },
- {
- "$ref": "#/definitions/PolygonCoordinates"
- }
- ],
- "x-ms-discriminator-value": "Polygon"
- },
- "PolygonCoordinates": {
- "description": "Schema of polygon coordinates.",
- "required": [
- "coordinates"
- ],
- "type": "object",
- "properties": {
- "coordinates": {
- "description": "Gets or sets type of the GeoJSON Object.\r\nIt must be an array of linear ring coordinate arrays.\r\nFor Polygons with more than one of these rings, the first MUST be the exterior ring,\r\nand any others MUST be interior rings.",
- "minLength": 1,
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "format": "double",
- "type": "number"
- }
- }
- }
- }
- }
- }
- },
- "securityDefinitions": {
- "Bearer": {
- "type": "apiKey",
- "name": "Authorization",
- "in": "header",
- "description": "Please provide a valid bearer token for authorized API calls. Note that you might need to clear your browser cache if you tried un-authenticated calls before."
- }
- },
- "security": [
- {
- "Bearer": []
- }
- ]
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_CreateOrUpdate.json
deleted file mode 100644
index 57545922eeb1..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_CreateOrUpdate.json
+++ /dev/null
@@ -1,149 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "farmerId": "FARMER123",
- "applicationDataId": "APPLICATION123",
- "api-version": "2021-03-31-preview",
- "applicationData": {
- "source": "Manual",
- "name": "Application data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T11:12:12Z",
- "operationBoundaryId": "APPLICATIONOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 60
- },
- "totalMaterial": {
- "unit": "kilos",
- "value": 9
- },
- "avgMaterial": {
- "unit": "kilosperacre",
- "value": 0.15
- },
- "applicationProductDetails": [
- {
- "productName": "POTASHVAR1",
- "isCarrier": false,
- "totalMaterial": {
- "unit": "kilos",
- "value": 4
- },
- "avgMaterial": {
- "unit": "kilosperacre",
- "value": 0.2
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "farmerId": "FARMER123",
- "id": "APPLICATION123",
- "source": "Manual",
- "name": "Application data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T11:12:12Z",
- "operationBoundaryId": "APPLICATIONOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 60
- },
- "totalMaterial": {
- "unit": "kilos",
- "value": 9
- },
- "avgMaterial": {
- "unit": "kilosperacre",
- "value": 0.15
- },
- "applicationProductDetails": [
- {
- "productName": "POTASHVAR1",
- "isCarrier": false,
- "totalMaterial": {
- "unit": "kilos",
- "value": 4
- },
- "avgMaterial": {
- "unit": "kilosperacre",
- "value": 0.2
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{applicationDataId}}&resourceTypes=ApplicationData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- },
- "201": {
- "body": {
- "farmerId": "FARMER123",
- "id": "APPLICATION123",
- "source": "Manual",
- "name": "Application data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T11:12:12Z",
- "operationBoundaryId": "APPLICATIONOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 60
- },
- "totalMaterial": {
- "unit": "kilos",
- "value": 9
- },
- "avgMaterial": {
- "unit": "kilosperacre",
- "value": 0.15
- },
- "applicationProductDetails": [
- {
- "productName": "POTASHVAR1",
- "isCarrier": false,
- "totalMaterial": {
- "unit": "kilos",
- "value": 4
- },
- "avgMaterial": {
- "unit": "kilosperacre",
- "value": 0.2
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{applicationDataId}}&resourceTypes=ApplicationData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Delete.json
deleted file mode 100644
index 20dc9e559382..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Delete.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "farmerId": "FARMER123",
- "applicationDataId": "APPLICATION123",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "204": {}
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Get.json
deleted file mode 100644
index b9daa7a1fd1f..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Get.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "farmerId": "FARMER123",
- "applicationDataId": "APPLICATION123",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "200": {
- "body": {
- "farmerId": "FARMER123",
- "id": "APPLICATION123",
- "source": "Manual",
- "name": "Application data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T11:12:12Z",
- "operationBoundaryId": "APPLICATIONOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 60
- },
- "totalMaterial": {
- "unit": "kilos",
- "value": 9
- },
- "avgMaterial": {
- "unit": "kilosperacre",
- "value": 0.15
- },
- "applicationProductDetails": [
- {
- "productName": "POTASHVAR1",
- "isCarrier": false,
- "totalMaterial": {
- "unit": "kilos",
- "value": 4
- },
- "avgMaterial": {
- "unit": "kilosperacre",
- "value": 0.2
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{applicationDataId}}&resourceTypes=ApplicationData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_List.json
deleted file mode 100644
index 5f76b4ef2d0d..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_List.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "farmerId": "FARMER123",
- "id": "APPLICATION123",
- "source": "Manual",
- "name": "Application data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T11:12:12Z",
- "operationBoundaryId": "APPLICATIONOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 60
- },
- "totalMaterial": {
- "unit": "kilos",
- "value": 9
- },
- "avgMaterial": {
- "unit": "kilosperacre",
- "value": 0.15
- },
- "applicationProductDetails": [
- {
- "productName": "POTASHVAR1",
- "isCarrier": false,
- "totalMaterial": {
- "unit": "kilos",
- "value": 4
- },
- "avgMaterial": {
- "unit": "kilosperacre",
- "value": 0.2
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{applicationDataId}}&resourceTypes=ApplicationData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- ],
- "$skipToken": "string",
- "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_ListByFarmerId.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_ListByFarmerId.json
deleted file mode 100644
index 5b0d758e3ae4..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_ListByFarmerId.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "farmerId": "FARMER123",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "farmerId": "FARMER123",
- "id": "APPLICATION123",
- "source": "Manual",
- "name": "Application data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T11:12:12Z",
- "operationBoundaryId": "APPLICATIONOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 60
- },
- "totalMaterial": {
- "unit": "kilos",
- "value": 9
- },
- "avgMaterial": {
- "unit": "kilosperacre",
- "value": 0.15
- },
- "applicationProductDetails": [
- {
- "productName": "POTASHVAR1",
- "isCarrier": false,
- "totalMaterial": {
- "unit": "kilos",
- "value": 4
- },
- "avgMaterial": {
- "unit": "kilosperacre",
- "value": 0.2
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{applicationDataId}}&resourceTypes=ApplicationData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- ],
- "$skipToken": "string",
- "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_CreateCascadeDeleteJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_CreateCascadeDeleteJob.json
deleted file mode 100644
index 09ce3d8c2053..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_CreateCascadeDeleteJob.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "farmerId": "FARMER123",
- "boundaryId": "BOUNDARY123",
- "api-version": "2021-03-31-preview",
- "jobId": "JOB123"
- },
- "responses": {
- "202": {
- "body": {
- "id": "JOB123",
- "status": "Succeeded",
- "message": "Job completed successfully.",
- "durationInSeconds": 14.7977857,
- "createdDateTime": "2021-04-19T11:31:20Z",
- "lastActionDateTime": "2021-04-19T11:31:34Z",
- "startTime": "2021-04-19T11:31:19Z",
- "endTime": "2021-04-19T11:31:34Z",
- "farmerId": "FARMER123",
- "resourceId": "BOUNDARY123",
- "resourceType": "boundary",
- "name": "John Smith's Boundary",
- "description": "Some description",
- "properties": {
- "Irrigated": "Yes",
- "RetailerId": "Retailer123"
- }
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_CreateDataIngestionJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_CreateDataIngestionJob.json
deleted file mode 100644
index 163cbf16f9e4..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_CreateDataIngestionJob.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "jobId": "JOB123",
- "api-version": "2021-03-31-preview",
- "body": {
- "farmerId": "TEST-FARMER",
- "authProviderId": "JOHNDEERE",
- "operations": [
- "AllOperations"
- ],
- "startYear": 2012,
- "name": "Farm Operations Job",
- "description": "For TEST-FARMER",
- "properties": {
- "Operation": "All"
- }
- }
- },
- "responses": {
- "202": {
- "body": {
- "operations": [
- "AllOperations"
- ],
- "startYear": 2012,
- "durationInSeconds": 14.79,
- "id": "sdi-0916aeec-ad8d-41d0-9797-63924f818cd7",
- "status": "Waiting",
- "message": "string",
- "createdDateTime": "2021-03-15T07:14:14Z",
- "lastActionDateTime": "2021-03-15T07:14:14Z",
- "startTime": "2021-03-15T07:14:14Z",
- "endTime": "2021-03-15T07:14:14Z",
- "name": "Farm Operations Job",
- "description": "For TEST-FARMER",
- "properties": {
- "Operation": "All"
- },
- "farmerId": "TEST-FARMER",
- "authProviderId": "JOHNDEERE"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_GetDataIngestionJobDetails.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_GetDataIngestionJobDetails.json
deleted file mode 100644
index 19947892604d..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_GetDataIngestionJobDetails.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "jobId": "JOB123",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "200": {
- "body": {
- "durationInSeconds": 11.2,
- "id": "farm-operations-job",
- "status": "Succeeded",
- "message": "string",
- "createdDateTime": "2021-04-16T08:24:50Z",
- "lastActionDateTime": "2021-04-16T08:24:50Z",
- "startTime": "2021-04-16T08:24:50Z",
- "endTime": "2021-04-16T08:24:50Z",
- "name": "Farm operations Job",
- "description": "Test job",
- "properties": {
- "Region": "Asia"
- },
- "farmerId": "FARMER123",
- "authProviderId": "JOHNDEERE",
- "operations": [
- "AllOperations"
- ],
- "startYear": 2012
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_CreateCascadeDeleteJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_CreateCascadeDeleteJob.json
deleted file mode 100644
index a7d2c1e25a5b..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_CreateCascadeDeleteJob.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "farmerId": "FARMER123",
- "api-version": "2021-03-31-preview",
- "jobId": "JOB123"
- },
- "responses": {
- "202": {
- "body": {
- "id": "JOB123",
- "status": "Succeeded",
- "message": "Job completed successfully.",
- "durationInSeconds": 14.7977857,
- "createdDateTime": "2021-04-19T11:31:20Z",
- "lastActionDateTime": "2021-04-19T11:31:34Z",
- "startTime": "2021-04-19T11:31:19Z",
- "endTime": "2021-04-19T11:31:34Z",
- "farmerId": "FARMER123",
- "resourceId": "FARMER123",
- "resourceType": "farmer",
- "name": "John Smith",
- "description": "Some description",
- "properties": {
- "Irrigated": "Yes",
- "RetailerId": "Retailer123"
- }
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_CreateCascadeDeleteJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_CreateCascadeDeleteJob.json
deleted file mode 100644
index 4a26aca784c9..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_CreateCascadeDeleteJob.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "farmerId": "FARMER123",
- "farmId": "FARM123",
- "api-version": "2021-03-31-preview",
- "jobId": "JOB123"
- },
- "responses": {
- "202": {
- "body": {
- "id": "JOB123",
- "status": "Succeeded",
- "message": "Job completed successfully.",
- "durationInSeconds": 14.7977857,
- "createdDateTime": "2021-04-19T11:31:20Z",
- "lastActionDateTime": "2021-04-19T11:31:34Z",
- "startTime": "2021-04-19T11:31:19Z",
- "endTime": "2021-04-19T11:31:34Z",
- "farmerId": "FARMER123",
- "resourceId": "FARM123",
- "resourceType": "farm",
- "name": "John Smith's Field",
- "description": "Some description",
- "properties": {
- "Irrigated": "Yes",
- "RetailerId": "Retailer123"
- }
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_CreateCascadeDeleteJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_CreateCascadeDeleteJob.json
deleted file mode 100644
index 3db893452b2a..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_CreateCascadeDeleteJob.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "farmerId": "FARMER123",
- "fieldId": "FIELD123",
- "api-version": "2021-03-31-preview",
- "jobId": "JOB123"
- },
- "responses": {
- "202": {
- "body": {
- "id": "JOB123",
- "status": "Succeeded",
- "message": "Job completed successfully.",
- "durationInSeconds": 14.7977857,
- "createdDateTime": "2021-04-19T11:31:20Z",
- "lastActionDateTime": "2021-04-19T11:31:34Z",
- "startTime": "2021-04-19T11:31:19Z",
- "endTime": "2021-04-19T11:31:34Z",
- "farmerId": "FARMER123",
- "resourceId": "FIELD123",
- "resourceType": "field",
- "name": "John Smith's Field",
- "description": "Some description",
- "properties": {
- "Irrigated": "Yes",
- "RetailerId": "Retailer123"
- }
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_CreateOrUpdate.json
deleted file mode 100644
index 1b81b715ffee..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_CreateOrUpdate.json
+++ /dev/null
@@ -1,242 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview",
- "farmerId": "FARMER123",
- "harvestDataId": "HARVESTOP123",
- "harvestData": {
- "source": "Manual",
- "name": "Harvest data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:14:12Z",
- "operationBoundaryId": "HARVESTOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 50
- },
- "totalYield": {
- "unit": "kilos",
- "value": 1400
- },
- "avgYield": {
- "unit": "kilosperacre",
- "value": 28
- },
- "totalWetMass": {
- "unit": "kilos",
- "value": 500
- },
- "avgWetMass": {
- "unit": "kilosperacre",
- "value": 10
- },
- "avgMoisture": {
- "unit": "percent",
- "value": 14.61
- },
- "avgSpeed": {
- "unit": "kmsperhour",
- "value": 7.2
- },
- "harvestProductDetails": [
- {
- "productName": "VAR1",
- "area": {
- "unit": "acre",
- "value": 30
- },
- "totalYield": {
- "unit": "kilos",
- "value": 900
- },
- "avgYield": {
- "unit": "kilosperacre",
- "value": 30
- },
- "totalWetMass": {
- "unit": "kilos",
- "value": 300
- },
- "avgWetMass": {
- "unit": "kilosperacre",
- "value": 10
- },
- "avgMoisture": {
- "unit": "percent",
- "value": 16.4
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "farmerId": "FARMER123",
- "id": "HARVESTOP123",
- "source": "Manual",
- "name": "Harvest data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:12:12Z",
- "operationBoundaryId": "HARVESTOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 50
- },
- "totalYield": {
- "unit": "kilos",
- "value": 1400
- },
- "avgYield": {
- "unit": "kilosperacre",
- "value": 28
- },
- "totalWetMass": {
- "unit": "kilos",
- "value": 500
- },
- "avgWetMass": {
- "unit": "kilosperacre",
- "value": 10
- },
- "avgMoisture": {
- "unit": "percent",
- "value": 14.61
- },
- "avgSpeed": {
- "unit": "kmsperhour",
- "value": 7.2
- },
- "harvestProductDetails": [
- {
- "productName": "VAR1",
- "area": {
- "unit": "acre",
- "value": 30
- },
- "totalYield": {
- "unit": "kilos",
- "value": 900
- },
- "avgYield": {
- "unit": "kilosperacre",
- "value": 30
- },
- "totalWetMass": {
- "unit": "kilos",
- "value": 300
- },
- "avgWetMass": {
- "unit": "kilosperacre",
- "value": 10
- },
- "avgMoisture": {
- "unit": "percent",
- "value": 16.4
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{harvestDataId}}&resourceTypes=HarvestData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- },
- "201": {
- "body": {
- "farmerId": "FARMER123",
- "id": "HARVESTOP123",
- "source": "Manual",
- "name": "Harvest data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:12:12Z",
- "operationBoundaryId": "HARVESTOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 50
- },
- "totalYield": {
- "unit": "kilos",
- "value": 1400
- },
- "avgYield": {
- "unit": "kilosperacre",
- "value": 28
- },
- "totalWetMass": {
- "unit": "kilos",
- "value": 500
- },
- "avgWetMass": {
- "unit": "kilosperacre",
- "value": 10
- },
- "avgMoisture": {
- "unit": "percent",
- "value": 14.61
- },
- "avgSpeed": {
- "unit": "kmsperhour",
- "value": 7.2
- },
- "harvestProductDetails": [
- {
- "productName": "VAR1",
- "area": {
- "unit": "acre",
- "value": 30
- },
- "totalYield": {
- "unit": "kilos",
- "value": 900
- },
- "avgYield": {
- "unit": "kilosperacre",
- "value": 30
- },
- "totalWetMass": {
- "unit": "kilos",
- "value": 300
- },
- "avgWetMass": {
- "unit": "kilosperacre",
- "value": 10
- },
- "avgMoisture": {
- "unit": "percent",
- "value": 16.4
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{harvestDataId}}&resourceTypes=HarvestData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Delete.json
deleted file mode 100644
index 88c5785f4045..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Delete.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview",
- "farmerId": "FARMER123",
- "harvestDataId": "HARVESTOP123"
- },
- "responses": {
- "204": {}
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Get.json
deleted file mode 100644
index caae9cb85c56..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Get.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview",
- "farmerId": "FARMER123",
- "harvestDataId": "HARVESTOP123"
- },
- "responses": {
- "200": {
- "body": {
- "farmerId": "FARMER123",
- "id": "HARVESTOP123",
- "source": "Manual",
- "name": "Harvest data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:12:12Z",
- "operationBoundaryId": "HARVESTOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 50
- },
- "totalYield": {
- "unit": "kilos",
- "value": 1400
- },
- "avgYield": {
- "unit": "kilosperacre",
- "value": 28
- },
- "totalWetMass": {
- "unit": "kilos",
- "value": 500
- },
- "avgWetMass": {
- "unit": "kilosperacre",
- "value": 10
- },
- "avgMoisture": {
- "unit": "percent",
- "value": 14.61
- },
- "avgSpeed": {
- "unit": "kmsperhour",
- "value": 7.2
- },
- "harvestProductDetails": [
- {
- "productName": "VAR1",
- "area": {
- "unit": "acre",
- "value": 30
- },
- "totalYield": {
- "unit": "kilos",
- "value": 900
- },
- "avgYield": {
- "unit": "kilosperacre",
- "value": 30
- },
- "totalWetMass": {
- "unit": "kilos",
- "value": 300
- },
- "avgWetMass": {
- "unit": "kilosperacre",
- "value": 10
- },
- "avgMoisture": {
- "unit": "percent",
- "value": 16.4
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{harvestDataId}}&resourceTypes=HarvestData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_List.json
deleted file mode 100644
index 7eecebcce739..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_List.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "farmerId": "FARMER123",
- "id": "HARVESTOP123",
- "source": "Manual",
- "name": "Harvest data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:14:12Z",
- "operationBoundaryId": "HARVESTOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 50
- },
- "totalYield": {
- "unit": "kilos",
- "value": 1400
- },
- "avgYield": {
- "unit": "kilosperacre",
- "value": 28
- },
- "totalWetMass": {
- "unit": "kilos",
- "value": 500
- },
- "avgWetMass": {
- "unit": "kilosperacre",
- "value": 10
- },
- "avgMoisture": {
- "unit": "percent",
- "value": 14.61
- },
- "avgSpeed": {
- "unit": "kmsperhour",
- "value": 7.2
- },
- "harvestProductDetails": [
- {
- "productName": "VAR1",
- "area": {
- "unit": "acre",
- "value": 30
- },
- "totalYield": {
- "unit": "kilos",
- "value": 900
- },
- "avgYield": {
- "unit": "kilosperacre",
- "value": 30
- },
- "totalWetMass": {
- "unit": "kilos",
- "value": 300
- },
- "avgWetMass": {
- "unit": "kilosperacre",
- "value": 10
- },
- "avgMoisture": {
- "unit": "percent",
- "value": 16.4
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{harvestDataId}}&resourceTypes=HarvestData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- ],
- "$skipToken": "string",
- "nextLink": "https:/{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/harvestData?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7ehK8eAKzdo1MNnwcAAAAAAA%3d%3d%23RT%3a1%23TRC%3a10%23ISV%3a2%23IEO%3a65551%23FPC%3aAQ2fBwAAAAAAD58HAAAAAAA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_ListByFarmerId.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_ListByFarmerId.json
deleted file mode 100644
index fdab67c54d14..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_ListByFarmerId.json
+++ /dev/null
@@ -1,95 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview",
- "farmerId": "FARMER123"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "farmerId": "FARMER123",
- "id": "HARVESTOP123",
- "source": "Manual",
- "name": "Harvest data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:12:12Z",
- "operationBoundaryId": "HARVESTOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 50
- },
- "totalYield": {
- "unit": "kilos",
- "value": 1400
- },
- "avgYield": {
- "unit": "kilosperacre",
- "value": 28
- },
- "totalWetMass": {
- "unit": "kilos",
- "value": 500
- },
- "avgWetMass": {
- "unit": "kilosperacre",
- "value": 10
- },
- "avgMoisture": {
- "unit": "percent",
- "value": 14.61
- },
- "avgSpeed": {
- "unit": "kmsperhour",
- "value": 7.2
- },
- "harvestProductDetails": [
- {
- "productName": "VAR1",
- "area": {
- "unit": "acre",
- "value": 30
- },
- "totalYield": {
- "unit": "kilos",
- "value": 900
- },
- "avgYield": {
- "unit": "kilosperacre",
- "value": 30
- },
- "totalWetMass": {
- "unit": "kilos",
- "value": 300
- },
- "avgWetMass": {
- "unit": "kilosperacre",
- "value": 10
- },
- "avgMoisture": {
- "unit": "percent",
- "value": 16.4
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{harvestDataId}}&resourceTypes=HarvestData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- ],
- "$skipToken": "string",
- "nextLink": "https:/{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/harvestData?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7ehK8eAKzdo1MNnwcAAAAAAA%3d%3d%23RT%3a1%23TRC%3a10%23ISV%3a2%23IEO%3a65551%23FPC%3aAQ2fBwAAAAAAD58HAAAAAAA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_CreateRasterizeJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_CreateRasterizeJob.json
deleted file mode 100644
index b3dc595eb9bd..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_CreateRasterizeJob.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "jobId": "JOB123",
- "api-version": "2021-03-31-preview",
- "body": {
- "farmerId": "test_farmer",
- "shapefileAttachmentId": "harvesting_data_shapefile123",
- "shapefileColumnNames": [
- "Wet_yield",
- "Dry_yield"
- ],
- "name": "Harvest_Data_Rasterize_Job",
- "description": "Rasterize harvest data shape file",
- "properties": {
- "region": "Asia"
- }
- }
- },
- "responses": {
- "202": {
- "body": {
- "durationInSeconds": 12.4,
- "id": "weather-job",
- "status": "Waiting",
- "message": "Created job to fetch weather data for job name 'TestWeatherJob', farmer id 'test_farmer' and field id 'test_field'.",
- "createdDateTime": "2021-04-16T11:33:45Z",
- "lastActionDateTime": "2021-04-16T11:33:45Z",
- "startTime": "2021-04-16T11:33:45Z",
- "endTime": "2021-04-16T11:33:45Z",
- "farmerId": "test_farmer",
- "shapefileAttachmentId": "harvesting_data_shapefile123",
- "shapefileColumnNames": [
- "Wet_yield",
- "Dry_yield"
- ],
- "name": "Harvest_Data_Rasterize_Job",
- "description": "Rasterize harvest data shape file",
- "properties": {
- "region": "Asia"
- }
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_GetRasterizeJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_GetRasterizeJob.json
deleted file mode 100644
index 62face2583c2..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_GetRasterizeJob.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "jobId": "JOB123",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "200": {
- "body": {
- "durationInSeconds": 12.4,
- "id": "weather-job",
- "status": "Succeeded",
- "message": "Weather data is available for startTime to endTime",
- "createdDateTime": "2021-04-16T08:24:50Z",
- "lastActionDateTime": "2021-04-16T08:24:50Z",
- "startTime": "2021-04-16T08:24:50Z",
- "endTime": "2021-04-16T08:24:50Z",
- "farmerId": "test_farmer",
- "shapefileAttachmentId": "harvesting_data_shapefile123",
- "shapefileColumnNames": [
- "Wet_yield",
- "Dry_yield"
- ],
- "name": "Harvest_Data_Rasterize_Job",
- "description": "Rasterize harvest data shape file",
- "properties": {
- "region": "Asia"
- }
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_CreateOrUpdate.json
deleted file mode 100644
index 80139cdbf05e..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_CreateOrUpdate.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "oauthProviderId": "JOHNDEERE",
- "api-version": "2021-03-31-preview",
- "oauthProvider": {
- "appId": "appId",
- "appSecret": "appSecret",
- "apiKey": "apiKey",
- "isProductionApp": false,
- "name": "JOHNDEERE",
- "description": "some description",
- "properties": {
- "orgId": "ORG123"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "JOHNDEERE",
- "appId": "appId",
- "appSecret": "appSecret",
- "apiKey": "apiKey",
- "isProductionApp": false,
- "name": "JOHNDEERE",
- "description": "some description",
- "properties": {
- "orgId": "ORG123"
- },
- "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e",
- "createdDateTime": "2021-04-23T11:31:10Z",
- "modifiedDateTime": "2021-04-23T11:31:10Z"
- }
- },
- "201": {
- "body": {
- "id": "JOHNDEERE",
- "appId": "appId",
- "appSecret": "appSecret",
- "apiKey": "apiKey",
- "isProductionApp": false,
- "name": "JOHNDEERE",
- "description": "some description",
- "properties": {
- "orgId": "ORG123"
- },
- "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e",
- "createdDateTime": "2021-04-23T11:31:10Z",
- "modifiedDateTime": "2021-04-23T11:31:10Z"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_Get.json
deleted file mode 100644
index 994c7a7013be..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_Get.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "oauthProviderId": "JOHNDEERE",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "200": {
- "body": {
- "appId": "appId",
- "appSecret": "appSecret",
- "apiKey": "apiKey",
- "isProductionApp": false,
- "id": "JOHNDEERE",
- "eTag": "f8fad5b-d9cb-469f-a165-70867728950e",
- "createdDateTime": "2021-04-22T18:27:37Z",
- "modifiedDateTime": "2021-04-22T18:27:37Z",
- "name": "JD Integration",
- "description": "Oauth Flow",
- "properties": {
- "Farmer": "123"
- }
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_List.json
deleted file mode 100644
index 3777236bf4b3..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_List.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "appId": "appId",
- "appSecret": "appSecret",
- "apiKey": "apiKey",
- "isProductionApp": false,
- "id": "JOHNDEERE",
- "eTag": "f8fad5b-d9cb-469f-a165-70867728950e",
- "createdDateTime": "2021-04-22T18:27:37Z",
- "modifiedDateTime": "2021-04-22T18:27:37Z",
- "name": "JD Integration",
- "description": "Oauth Flow",
- "properties": {
- "Farmer": "123"
- }
- }
- ],
- "$skipToken": "string",
- "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_CreateCascadeDeleteJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_CreateCascadeDeleteJob.json
deleted file mode 100644
index 65800d1eba15..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_CreateCascadeDeleteJob.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "jobId": "JOBID123",
- "farmerId": "FARMER123",
- "oauthProviderId": "JOHNDEERE",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "202": {
- "body": {
- "farmerId": "FARMER123",
- "resourceId": "JOHNDEERE",
- "resourceType": "oauthtokeninfo",
- "id": "JOBID123",
- "status": "Waiting",
- "message": "Created cascade delete job for 'oauthtokeninfo' resource with id 'JOHNDEERE' and farmerId 'FARMER123'.",
- "createdDateTime": "2021-05-13T20:04:39Z",
- "lastActionDateTime": "2021-05-13T20:04:39Z",
- "startTime": "2021-05-13T20:04:37Z"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_List.json
deleted file mode 100644
index 7ccb4143441b..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_List.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "farmerId": "FARMER123",
- "authProviderId": "JOHNDEERE",
- "isValid": true,
- "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e",
- "createdDateTime": "2021-04-22T18:49:25Z",
- "modifiedDateTime": "2021-04-22T18:49:25Z"
- }
- ],
- "$skipToken": "string",
- "nextLink": "https://{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/seasonalFields/{{seasonalFieldId}}?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7e23TRC%3a10%23ISA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_CreateOrUpdate.json
deleted file mode 100644
index 3c9dad916c1e..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_CreateOrUpdate.json
+++ /dev/null
@@ -1,170 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview",
- "farmerId": "FARMER123",
- "plantingDataId": "PLANTINGOP123",
- "plantingData": {
- "source": "Manual",
- "name": "Planting data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:14:12Z",
- "operationBoundaryId": "PLANTINGOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "avgPlantingRate": {
- "unit": "seedsperacre",
- "value": 30
- },
- "area": {
- "unit": "acre",
- "value": 30
- },
- "totalMaterial": {
- "unit": "seeds",
- "value": 758814
- },
- "avgMaterial": {
- "unit": "seedsperacre",
- "value": 25293
- },
- "plantingProductDetails": [
- {
- "productName": "VAR1",
- "area": {
- "unit": "acre",
- "value": 20
- },
- "totalMaterial": {
- "unit": "seeds",
- "value": 389214
- },
- "avgMaterial": {
- "unit": "seedsperacre",
- "value": 19460
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "farmerId": "FARMER123",
- "id": "PLANTINGOP123",
- "source": "Manual",
- "name": "Planting data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:14:12Z",
- "operationBoundaryId": "PLANTINGOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "avgPlantingRate": {
- "unit": "seedsperacre",
- "value": 30
- },
- "area": {
- "unit": "acre",
- "value": 30
- },
- "totalMaterial": {
- "unit": "seeds",
- "value": 758814
- },
- "avgMaterial": {
- "unit": "seedsperacre",
- "value": 25293
- },
- "plantingProductDetails": [
- {
- "productName": "VAR1",
- "area": {
- "unit": "acre",
- "value": 20
- },
- "totalMaterial": {
- "unit": "seeds",
- "value": 389214
- },
- "avgMaterial": {
- "unit": "seedsperacre",
- "value": 19460
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- },
- "201": {
- "body": {
- "farmerId": "FARMER123",
- "id": "PLANTINGOP123",
- "source": "Manual",
- "name": "Planting data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:14:12Z",
- "operationBoundaryId": "PLANTINGOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "avgPlantingRate": {
- "unit": "seedsperacre",
- "value": 30
- },
- "area": {
- "unit": "acre",
- "value": 30
- },
- "totalMaterial": {
- "unit": "seeds",
- "value": 758814
- },
- "avgMaterial": {
- "unit": "seedsperacre",
- "value": 25293
- },
- "plantingProductDetails": [
- {
- "productName": "VAR1",
- "area": {
- "unit": "acre",
- "value": 20
- },
- "totalMaterial": {
- "unit": "seeds",
- "value": 389214
- },
- "avgMaterial": {
- "unit": "seedsperacre",
- "value": 19460
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Delete.json
deleted file mode 100644
index 8b17313f1110..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Delete.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview",
- "farmerId": "FARMER123",
- "plantingDataId": "PLANTINGOP123"
- },
- "responses": {
- "204": {}
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Get.json
deleted file mode 100644
index 155712c370fd..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Get.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview",
- "farmerId": "FARMER123",
- "plantingDataId": "PLANTINGOP123"
- },
- "responses": {
- "200": {
- "body": {
- "farmerId": "FARMER123",
- "id": "PLANTINGOP123",
- "source": "Manual",
- "name": "Planting data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:14:12Z",
- "operationBoundaryId": "PLANTINGOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "avgPlantingRate": {
- "unit": "seedsperacre",
- "value": 30
- },
- "area": {
- "unit": "acre",
- "value": 30
- },
- "totalMaterial": {
- "unit": "seeds",
- "value": 758814
- },
- "avgMaterial": {
- "unit": "seedsperacre",
- "value": 25293
- },
- "plantingProductDetails": [
- {
- "productName": "VAR1",
- "area": {
- "unit": "acre",
- "value": 20
- },
- "totalMaterial": {
- "unit": "seeds",
- "value": 389214
- },
- "avgMaterial": {
- "unit": "seedsperacre",
- "value": 19460
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_List.json
deleted file mode 100644
index b6c59eaee01a..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_List.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "farmerId": "FARMER123",
- "id": "PLANTINGOP123",
- "source": "Manual",
- "name": "Planting data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:14:12Z",
- "operationBoundaryId": "PLANTINGOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "avgPlantingRate": {
- "unit": "seedsperacre",
- "value": 30
- },
- "area": {
- "unit": "acre",
- "value": 30
- },
- "totalMaterial": {
- "unit": "seeds",
- "value": 758814
- },
- "avgMaterial": {
- "unit": "seedsperacre",
- "value": 25293
- },
- "plantingProductDetails": [
- {
- "productName": "VAR1",
- "area": {
- "unit": "acre",
- "value": 20
- },
- "totalMaterial": {
- "unit": "seeds",
- "value": 389214
- },
- "avgMaterial": {
- "unit": "seedsperacre",
- "value": 19460
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- ],
- "$skipToken": "string",
- "nextLink": "https:/{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/plantingData?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7ehK8eAKzdo1MNnwcAAAAAAA%3d%3d%23RT%3a1%23TRC%3a10%23ISV%3a2%23IEO%3a65551%23FPC%3aAQ2fBwAAAAAAD58HAAAAAAA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_ListByFarmerId.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_ListByFarmerId.json
deleted file mode 100644
index 7bb636bba095..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_ListByFarmerId.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview",
- "farmerId": "FARMER123"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "farmerId": "FARMER123",
- "id": "PLANTINGOP123",
- "source": "Manual",
- "name": "Planting data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:14:12Z",
- "operationBoundaryId": "PLANTINGOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "avgPlantingRate": {
- "unit": "seedsperacre",
- "value": 30
- },
- "area": {
- "unit": "acre",
- "value": 30
- },
- "totalMaterial": {
- "unit": "seeds",
- "value": 758814
- },
- "avgMaterial": {
- "unit": "seedsperacre",
- "value": 25293
- },
- "plantingProductDetails": [
- {
- "productName": "VAR1",
- "area": {
- "unit": "acre",
- "value": 20
- },
- "totalMaterial": {
- "unit": "seeds",
- "value": 389214
- },
- "avgMaterial": {
- "unit": "seedsperacre",
- "value": 19460
- }
- }
- ],
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- ],
- "$skipToken": "string",
- "nextLink": "https:/{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/plantingData?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7ehK8eAKzdo1MNnwcAAAAAAA%3d%3d%23RT%3a1%23TRC%3a10%23ISV%3a2%23IEO%3a65551%23FPC%3aAQ2fBwAAAAAAD58HAAAAAAA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_CreateSatelliteDataIngestionJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_CreateSatelliteDataIngestionJob.json
deleted file mode 100644
index 3e97b7391d97..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_CreateSatelliteDataIngestionJob.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "jobId": "JOB123",
- "api-version": "2021-03-31-preview",
- "body": {
- "boundaryId": "BOUNDARY123",
- "farmerId": "FARMER123",
- "startDateTime": "2020-04-16T10:14:12Z",
- "endDateTime": "2021-04-16T10:14:12Z",
- "provider": "Microsoft",
- "source": "Sentinel_2_L2A",
- "name": "North Farm 2019 satellite imagery",
- "description": "Test job",
- "data": {
- "imageFormats": [
- "Tif"
- ],
- "imageNames": [
- "NDVI"
- ],
- "imageResolutions": [
- 10.0
- ]
- },
- "properties": {
- "Region": "Asia"
- }
- }
- },
- "responses": {
- "202": {
- "body": {
- "durationInSeconds": 12.4,
- "id": "satellite-job",
- "status": "Created",
- "message": "Created job 'satellite-job' to fetch satellite data for boundary 'BOUNDARY123' for startDate '01/01/2019 00:00:00' and endDate '03/30/2019 00:00:00' (both inclusive)",
- "createdDateTime": "2021-04-16T07:56:05Z",
- "lastActionDateTime": "2021-04-16T07:56:05Z",
- "startDateTime": "2021-04-16T07:56:05Z",
- "endDateTime": "2021-04-16T07:56:05Z",
- "farmerId": "FARMER123",
- "boundaryId": "BOUNDARY123",
- "name": "North Farm 2019 satellite imagery",
- "description": "Test job",
- "properties": {
- "Region": "Asia"
- }
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_Download.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_Download.json
deleted file mode 100644
index 0fe996302727..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_Download.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "filePath": "https://filePath",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "200": {
- "body": "101010101"
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_GetSatelliteDataIngestionJobDetails.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_GetSatelliteDataIngestionJobDetails.json
deleted file mode 100644
index 07ac177ebd7d..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_GetSatelliteDataIngestionJobDetails.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "jobId": "JOB123",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "200": {
- "body": {
- "durationInSeconds": 12.4,
- "id": "satellite-job",
- "status": "Succeeded",
- "message": "Satellite data is available for 73 days from provider in the requested date range. Successfully fetched data for 73 days.",
- "createdDateTime": "2021-04-16T08:24:50Z",
- "lastActionDateTime": "2021-04-16T08:24:50Z",
- "startTime": "2021-04-16T08:24:50Z",
- "endTime": "2021-04-16T08:24:50Z",
- "name": "North Farm 2019 satellite imagery",
- "description": "Test job",
- "properties": {
- "Region": "Asia"
- },
- "boundaryId": "BOUNDARY123",
- "farmerId": "FARMER123",
- "startDateTime": "2020-04-16T10:14:12Z",
- "endDateTime": "2021-04-16T10:14:12Z",
- "provider": "Microsoft",
- "source": "Sentinel_2_L2A",
- "data": {
- "imageFormats": [
- "Tif"
- ],
- "imageNames": [
- "NDVI"
- ],
- "imageResolutions": [
- 10.0
- ]
- }
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_List.json
deleted file mode 100644
index cd555fe0682f..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_List.json
+++ /dev/null
@@ -1,142 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "provider": "Microsoft",
- "farmerId": "FARMER123",
- "boundaryId": "BOUNDARY123",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "400e200f-ccc4-0cea-c120-3fdc6a41f99f",
- "sceneDateTime": "2019-01-27T00:00:00Z",
- "boundaryId": "BOUNDARY123",
- "farmerId": "FARMER123",
- "provider": "Microsoft",
- "source": "Sentinel_2_L2A",
- "cloudCoverPercentage": 67.2,
- "darkPixelPercentage": 2.4,
- "imageFormat": "TIF",
- "imageFiles": [
- {
- "name": "B08",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b08_10.tif"
- },
- {
- "name": "B03",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b03_10.tif"
- },
- {
- "name": "B11",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b11_10.tif"
- },
- {
- "name": "SNW",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/snw_10.tif"
- },
- {
- "name": "B05",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b05_10.tif"
- },
- {
- "name": "B06",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b06_10.tif"
- },
- {
- "name": "dataMask",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/datamask_10.tif"
- },
- {
- "name": "B07",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b07_10.tif"
- },
- {
- "name": "CLP",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/clp_10.tif"
- },
- {
- "name": "NDVI",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/ndvi_10.tif"
- },
- {
- "name": "SCL",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/scl_10.tif"
- },
- {
- "name": "B09",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b09_10.tif"
- },
- {
- "name": "B01",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b01_10.tif"
- },
- {
- "name": "NDWI",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/ndwi_10.tif"
- },
- {
- "name": "AOT",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/aot_10.tif"
- },
- {
- "name": "CLD",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/cld_10.tif"
- },
- {
- "name": "CLM",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/clm_10.tif"
- },
- {
- "name": "B02",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b02_10.tif"
- },
- {
- "name": "B04",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b04_10.tif"
- },
- {
- "name": "B8A",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b8a_10.tif"
- },
- {
- "name": "EVI",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/evi_10.tif"
- },
- {
- "name": "B12",
- "resolution": 10.0,
- "fileLink": "https://{{resourceName}}.farmbeats.azure.net/scenes/downloadFiles?api-version=2020-12-31-preview& filePath=microsoft/sentinel_2_l2a/FARMER123/BOUNDARY123/2019-01-27/00-00-00/b12_10.tif"
- }
- ]
- }
- ],
- "$skipToken": "string",
- "nextLink": "https://{{resourceName}}.farmbeats.azure.net/scenes?provider=Microsoft&farmerId=FARMER123&boundaryId=BOUNDARY123&api-version=2020-10-16-preview&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7ehK8eAKzdo1PTnwcAAAAAAA%3d%3d%23RT%3a1%23TRC%3a10%23ISV%3a2%23IEO%3a65551%23FPC%3aAdOfBwAAAAAA7Z8HAAAAAAA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_CreateOrUpdate.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_CreateOrUpdate.json
deleted file mode 100644
index 4dfc09b2a20b..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_CreateOrUpdate.json
+++ /dev/null
@@ -1,107 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview",
- "farmerId": "FARMER123",
- "tillageDataId": "TILLAGEOP123",
- "tillageData": {
- "source": "Manual",
- "name": "Planting data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:14:12Z",
- "operationBoundaryId": "PLANTINGOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 30
- },
- "tillagePressure": {
- "unit": "kg per sq cms",
- "value": 950
- },
- "tillageDepth": {
- "unit": "cms",
- "value": 9.5
- },
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "farmerId": "FARMER123",
- "id": "TILLAGEOP123",
- "source": "Manual",
- "name": "Planting data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:12:12Z",
- "operationBoundaryId": "PLANTINGOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 30
- },
- "tillagePressure": {
- "unit": "kg per sq cms",
- "value": 950
- },
- "tillageDepth": {
- "unit": "cms",
- "value": 9.5
- },
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- },
- "201": {
- "body": {
- "farmerId": "FARMER123",
- "id": "TILLAGEOP123",
- "source": "Manual",
- "name": "Planting data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:12:12Z",
- "operationBoundaryId": "PLANTINGOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 30
- },
- "tillagePressure": {
- "unit": "kg per sq cms",
- "value": 950
- },
- "tillageDepth": {
- "unit": "cms",
- "value": 9.5
- },
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Delete.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Delete.json
deleted file mode 100644
index 8ab38e14e5fb..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Delete.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview",
- "farmerId": "FARMER123",
- "tillageDataId": "TILLAGEOP123"
- },
- "responses": {
- "204": {}
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Get.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Get.json
deleted file mode 100644
index a9499ed7990f..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Get.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview",
- "farmerId": "FARMER123",
- "tillageDataId": "TILLAGEOP123"
- },
- "responses": {
- "200": {
- "body": {
- "farmerId": "FARMER123",
- "id": "TILLAGEOP123",
- "source": "Manual",
- "name": "Planting data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:14:12Z",
- "operationBoundaryId": "PLANTINGOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 30
- },
- "tillagePressure": {
- "unit": "kg per sq cms",
- "value": 950
- },
- "tillageDepth": {
- "unit": "cms",
- "value": 9.5
- },
- "properties": {
- "Region": "Asia",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_List.json
deleted file mode 100644
index 52e57fe5de5e..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_List.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "farmerId": "FARMER123",
- "id": "TILLAGEOP123",
- "source": "Manual",
- "name": "Planting data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:14:12Z",
- "operationBoundaryId": "PLANTINGOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 30
- },
- "tillagePressure": {
- "unit": "kg per sq cms",
- "value": 950
- },
- "tillageDepth": {
- "unit": "cms",
- "value": 9.5
- },
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- ],
- "$skipToken": "string",
- "nextLink": "https:/{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/plantingData?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7ehK8eAKzdo1MNnwcAAAAAAA%3d%3d%23RT%3a1%23TRC%3a10%23ISV%3a2%23IEO%3a65551%23FPC%3aAQ2fBwAAAAAAD58HAAAAAAA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_ListByFarmerId.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_ListByFarmerId.json
deleted file mode 100644
index 240a3548c76b..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_ListByFarmerId.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "api-version": "2021-03-31-preview",
- "farmerId": "FARMER123"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "farmerId": "FARMER123",
- "id": "TILLAGEOP123",
- "source": "Manual",
- "name": "Planting data for North Farm",
- "description": "some description",
- "status": "Active",
- "operationStartDateTime": "2021-02-25T16:57:04Z",
- "operationEndDateTime": "2021-02-27T10:13:06Z",
- "operationModifiedDateTime": "2021-02-28T10:14:12Z",
- "operationBoundaryId": "PLANTINGOPBOUNDARY1",
- "associatedBoundaryId": "NORTHFARM2021CORNBOUNDARY",
- "area": {
- "unit": "acre",
- "value": 30
- },
- "tillagePressure": {
- "unit": "kg per sq cms",
- "value": 950
- },
- "tillageDepth": {
- "unit": "cms",
- "value": 9.5
- },
- "properties": {
- "Region": "Europe",
- "CountyCode": 123
- },
- "attachmentsLink": "https://.farmbeats.azure.net/farmer/{{farmerId}}/attachments?api-version={{apiVersion}}&resourceIds={{plantingDataId}}&resourceTypes=PlantingData",
- "createdDateTime": "2021-02-29T04:57:04Z",
- "modifiedDateTime": "2021-03-08T18:22:07Z",
- "eTag": "cb00a3ac-0000-0100-0000-601d21ec0000"
- }
- ],
- "$skipToken": "string",
- "nextLink": "https:/{{resourceName}}.farmbeats.azure.net/farmers/{{farmerId}}/plantingData?api-version={{apiVersion}}&$skipToken=%5b%7b%22token%22%3a%22%2bRID%3a%7ehK8eAKzdo1MNnwcAAAAAAA%3d%3d%23RT%3a1%23TRC%3a10%23ISV%3a2%23IEO%3a65551%23FPC%3aAQ2fBwAAAAAAD58HAAAAAAA%3d%22%2c%22range%22%3a%7b%22min%22%3a%22%22%2c%22max%22%3a%22FF%22%7d%7d%5d"
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataDeleteJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataDeleteJob.json
deleted file mode 100644
index 98a2a1267033..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataDeleteJob.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "jobId": "JOB123",
- "api-version": "2021-03-31-preview",
- "body": {
- "extensionId": "dtn.clearAg",
- "farmerId": "test_farmer",
- "boundaryId": "test_farmer",
- "weatherDataType": "forecast",
- "granularity": "daily",
- "startDateTime": "2021-04-18T01:32:42Z",
- "endDateTime": "2021-04-18T01:32:42Z",
- "name": "Delete Job",
- "description": "For extension dtn.clearAg",
- "properties": {
- "region": "US"
- }
- }
- },
- "responses": {
- "202": {
- "body": {
- "durationInSeconds": 12.4,
- "id": "delete-weather-job",
- "status": "Waiting",
- "message": "Created job to delete weather data for job name 'delete-weather-job', farmer id 'test_farmer' and boundary id 'test_boundary'.",
- "createdDateTime": "2021-04-16T11:33:45Z",
- "lastActionDateTime": "2021-04-16T11:33:45Z",
- "startTime": "2021-04-16T11:33:45Z",
- "endTime": "2021-04-16T11:33:45Z",
- "farmerId": "test_farmer",
- "boundaryId": "test_farmer",
- "extensionId": "dtn.clearAg",
- "name": "Delete Job",
- "description": "For extension dtn.clearAg",
- "properties": {
- "region": "US"
- }
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataIngestionJob.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataIngestionJob.json
deleted file mode 100644
index 27b4b7a446cc..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataIngestionJob.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "jobId": "JOB123",
- "api-version": "2021-03-31-preview",
- "body": {
- "farmerId": "test_farmer",
- "boundaryId": "test_boundary",
- "extensionId": "dtn.clearAg",
- "extensionApiName": "dailyforecast",
- "extensionApiInput": {
- "start": 0,
- "end": 5
- },
- "name": "TestWeatherJob",
- "description": "Daily Forecast data for 5 days",
- "properties": {
- "region": "Asia"
- }
- }
- },
- "responses": {
- "202": {
- "body": {
- "durationInSeconds": 12.4,
- "id": "weather-job",
- "status": "Waiting",
- "message": "Created job to fetch weather data for job name 'TestWeatherJob', farmer id 'test_farmer' and field id 'test_field'.",
- "createdDateTime": "2021-04-16T11:33:45Z",
- "lastActionDateTime": "2021-04-16T11:33:45Z",
- "startTime": "2021-04-16T11:33:45Z",
- "endTime": "2021-04-16T11:33:45Z",
- "farmerId": "test_farmer",
- "boundaryId": "test_boundary",
- "extensionId": "dtn.clearAg",
- "extensionApiName": "dailyforecast",
- "extensionApiInput": {
- "start": 0,
- "end": 5
- },
- "name": "TestWeatherJob",
- "description": "Daily Forecast data for 5 days",
- "properties": {
- "region": "Asia"
- }
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataDeleteJobDetails.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataDeleteJobDetails.json
deleted file mode 100644
index 91bd4cb389ae..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataDeleteJobDetails.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "jobId": "JOB123",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "200": {
- "body": {
- "durationInSeconds": 12.4,
- "id": "weather-delete-job",
- "status": "Succeeded",
- "message": "Weather data is deleted for startTime to endTime",
- "createdDateTime": "2021-04-16T08:24:50Z",
- "lastActionDateTime": "2021-04-16T08:24:50Z",
- "extensionId": "dtn.clearAg",
- "farmerId": "test_farmer",
- "boundaryId": "test_farmer",
- "weatherDataType": "forecast",
- "granularity": "daily",
- "startDateTime": "2021-04-18T01:32:42Z",
- "endDateTime": "2021-04-18T01:32:42Z",
- "name": "Delete Job",
- "description": "For extension dtn.clearAg",
- "properties": {
- "region": "US"
- }
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataIngestionJobDetails.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataIngestionJobDetails.json
deleted file mode 100644
index 9b4a6f6ac0e9..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataIngestionJobDetails.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "jobId": "JOB123",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "200": {
- "body": {
- "durationInSeconds": 12.4,
- "id": "weather-job",
- "status": "Succeeded",
- "message": "Weather data is available for startTime to endTime",
- "createdDateTime": "2021-04-16T08:24:50Z",
- "lastActionDateTime": "2021-04-16T08:24:50Z",
- "startTime": "2021-04-16T08:24:50Z",
- "endTime": "2021-04-16T08:24:50Z",
- "farmerId": "test_farmer",
- "boundaryId": "test_boundary",
- "extensionId": "dtn.clearAg",
- "extensionApiName": "dailyforecast",
- "extensionApiInput": {
- "start": 0,
- "end": 5
- },
- "name": "TestWeatherJob",
- "description": "Daily Forecast data for 5 days",
- "properties": {
- "region": "Asia"
- }
- }
- }
- }
-}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_List.json b/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_List.json
deleted file mode 100644
index 837c992aaa74..000000000000
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_List.json
+++ /dev/null
@@ -1,143 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "farmerId": "FARMER123",
- "boundaryId": "BOUNDARY123",
- "extensionId": "DTN.ClearAg",
- "weatherDataType": "Historical",
- "granularity": "Daily",
- "api-version": "2021-03-31-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "ecd327e7-07f1-31b1-65ee-2162e193c055",
- "farmerId": "test_farmer",
- "boundaryId": "test_boundary",
- "extensionId": "dtn.clearAg",
- "location": {
- "latitude": 77.75695801443568,
- "longitude": 12.30932563432023
- },
- "dateTime": "2020-12-23T00:00:00Z",
- "unitSystemCode": "us-std",
- "extensionVersion": "1.0",
- "weatherDataType": "forecast",
- "granularity": "daily",
- "cloudCover": {
- "unit": "%",
- "value": 81.1
- },
- "dewPoint": {
- "unit": "F",
- "value": 26.0
- },
- "precipitation": {
- "unit": "in",
- "value": 0.1
- },
- "relativeHumidity": {
- "unit": "%",
- "value": 74.0
- },
- "temperature": {
- "unit": "F",
- "value": 33.0
- },
- "windGust": {
- "unit": "mph",
- "value": 50.0
- },
- "windSpeed": {
- "unit": "mph",
- "value": 31.0
- },
- "eTag": "\"2b00a419-0000-0700-0000-5fe1ae4c0000\"",
- "properties": {
- "air_temp_max": {
- "unit": "F",
- "value": 36.0
- },
- "air_temp_min": "29",
- "cloudCoverDescriptor": "Becoming Broken Overcast",
- "precipitationDescriptor": "Light Snow Likely",
- "weatherDescriptor": "Light Snow Likely",
- "windDirectionDescriptor": "East",
- "windTrendDescriptor": "None",
- "dewPointMax": {
- "unit": "F",
- "value": 28.0
- },
- "dewPointMin": {
- "unit": "F",
- "value": 22.0
- },
- "iceAccPeriod": {
- "unit": "in",
- "value": 0.0
- },
- "liquidAccPeriod": {
- "unit": "in",
- "value": 0.0
- },
- "longWaveRadiationAvg": {
- "unit": "W/m^2",
- "value": 291.0
- },
- "petPeriod": {
- "unit": "in",
- "value": 0.04
- },
- "precipProb": {
- "unit": "%",
- "value": 75.0
- },
- "relativeHumidityMax": {
- "unit": "%",
- "value": 81.0
- },
- "relativeHumidityMin": {
- "unit": "%",
- "value": 69.0
- },
- "shortWaveRadiationAvg": {
- "unit": "W/m^2",
- "value": 0.0
- },
- "snowAccPeriod": {
- "unit": "in",
- "value": 0.7
- },
- "sunshineDuration": {
- "unit": "hours",
- "value": 0.0
- },
- "windSpeed2mAvg": {
- "unit": "mph",
- "value": 24.0
- },
- "windSpeed2mMax": {
- "unit": "mph",
- "value": 32.0
- },
- "windSpeed2mMin": {
- "unit": "mph",
- "value": 17.0
- },
- "windSpeedMax": {
- "unit": "mph",
- "value": 42.0
- },
- "windSpeedMin": {
- "unit": "mph",
- "value": 23.0
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/agfood.json b/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/agfood.json
deleted file mode 100644
index 4c4c7db32213..000000000000
--- a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/agfood.json
+++ /dev/null
@@ -1,1200 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "Azure AgFoodPlatform RP Service",
- "description": "APIs documentation for Azure AgFoodPlatform Resource Provider Service.",
- "version": "2020-05-12-preview"
- },
- "paths": {
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AgFoodPlatform/farmBeats/{farmBeatsResourceName}/extensions/{extensionId}": {
- "put": {
- "tags": [
- "Extensions"
- ],
- "description": "Install extension.",
- "operationId": "Extensions_Create",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ExtensionIdParameter"
- },
- {
- "$ref": "#/parameters/FarmBeatsResourceNameParameter"
- },
- {
- "$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": {
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Extension"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Extensions_Create": {
- "$ref": "./examples/Extensions_Create.json"
- }
- }
- },
- "get": {
- "tags": [
- "Extensions"
- ],
- "description": "Get installed extension details by extension id.",
- "operationId": "Extensions_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ExtensionIdParameter"
- },
- {
- "$ref": "#/parameters/FarmBeatsResourceNameParameter"
- },
- {
- "$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": "Success",
- "schema": {
- "$ref": "#/definitions/Extension"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Extensions_Get": {
- "$ref": "./examples/Extensions_Get.json"
- }
- }
- },
- "patch": {
- "tags": [
- "Extensions"
- ],
- "description": "Upgrade to latest extension.",
- "operationId": "Extensions_Update",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ExtensionIdParameter"
- },
- {
- "$ref": "#/parameters/FarmBeatsResourceNameParameter"
- },
- {
- "$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": "Success",
- "schema": {
- "$ref": "#/definitions/Extension"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Extensions_Update": {
- "$ref": "./examples/Extensions_Update.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Extensions"
- ],
- "description": "Uninstall extension.",
- "operationId": "Extensions_Delete",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/ExtensionIdParameter"
- },
- {
- "$ref": "#/parameters/FarmBeatsResourceNameParameter"
- },
- {
- "$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": "Success"
- },
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Extensions_Delete": {
- "$ref": "./examples/Extensions_Delete.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AgFoodPlatform/farmBeats/{farmBeatsResourceName}/extensions": {
- "get": {
- "tags": [
- "Extensions"
- ],
- "description": "Get installed extensions details.",
- "operationId": "Extensions_ListByFarmBeats",
- "produces": [
- "application/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"
- },
- {
- "$ref": "#/parameters/FarmBeatsResourceNameParameter"
- },
- {
- "in": "query",
- "name": "extensionIds",
- "description": "Installed extension ids.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "extensionCategories",
- "description": "Installed extension categories.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/ExtensionListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Extensions_ListByFarmBeats": {
- "$ref": "./examples/Extensions_ListByFarmBeats.json"
- }
- }
- }
- },
- "/providers/Microsoft.AgFoodPlatform/farmBeatsExtensionDefinitions": {
- "get": {
- "tags": [
- "FarmBeatsExtensions"
- ],
- "description": "Get list of farmBeats extension.",
- "operationId": "FarmBeatsExtensions_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "farmBeatsExtensionIds",
- "description": "FarmBeatsExtension ids.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "farmBeatsExtensionNames",
- "description": "FarmBeats extension names.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "extensionCategories",
- "description": "Extension categories.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "publisherIds",
- "description": "Publisher ids.",
- "type": "array",
- "items": {
- "type": "string"
- },
- "collectionFormat": "multi"
- },
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/FarmBeatsExtensionListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "FarmBeatsExtensions_List": {
- "$ref": "./examples/FarmBeatsExtensions_List.json"
- }
- }
- }
- },
- "/providers/Microsoft.AgFoodPlatform/farmBeatsExtensionDefinitions/{farmBeatsExtensionId}": {
- "get": {
- "tags": [
- "FarmBeatsExtensions"
- ],
- "description": "Get farmBeats extension.",
- "operationId": "FarmBeatsExtensions_Get",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "farmBeatsExtensionId",
- "description": "farmBeatsExtensionId to be queried.",
- "required": true,
- "type": "string",
- "pattern": "^[A-za-z]{3,50}[.][A-za-z]{3,100}$"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/FarmBeatsExtension"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "FarmBeatsExtensions_Get": {
- "$ref": "./examples/FarmBeatsExtensions_Get.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AgFoodPlatform/farmBeats/{farmBeatsResourceName}": {
- "get": {
- "tags": [
- "FarmBeatsModels"
- ],
- "description": "Get FarmBeats resource.",
- "operationId": "FarmBeatsModels_Get",
- "produces": [
- "application/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"
- },
- {
- "$ref": "#/parameters/FarmBeatsResourceNameParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/FarmBeats"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "FarmBeatsModels_Get": {
- "$ref": "./examples/FarmBeatsModels_Get.json"
- }
- }
- },
- "put": {
- "tags": [
- "FarmBeatsModels"
- ],
- "description": "Create or update FarmBeats resource.",
- "operationId": "FarmBeatsModels_CreateOrUpdate",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/FarmBeatsResourceNameParameter"
- },
- {
- "$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"
- },
- {
- "in": "body",
- "name": "body",
- "description": "FarmBeats resource create or update request object.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/FarmBeats"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/FarmBeats"
- }
- },
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/FarmBeats"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "FarmBeatsModels_CreateOrUpdate": {
- "$ref": "./examples/FarmBeatsModels_CreateOrUpdate.json"
- }
- }
- },
- "patch": {
- "tags": [
- "FarmBeatsModels"
- ],
- "description": "Update a FarmBeats resource.",
- "operationId": "FarmBeatsModels_Update",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/FarmBeatsResourceNameParameter"
- },
- {
- "$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"
- },
- {
- "in": "body",
- "name": "body",
- "description": "Request object.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/FarmBeatsUpdateRequestModel"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/FarmBeats"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "FarmBeatsModels_Update": {
- "$ref": "./examples/FarmBeatsModels_Update.json"
- }
- }
- },
- "delete": {
- "tags": [
- "FarmBeatsModels"
- ],
- "description": "Delete a FarmBeats resource.",
- "operationId": "FarmBeatsModels_Delete",
- "produces": [
- "application/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"
- },
- {
- "$ref": "#/parameters/FarmBeatsResourceNameParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success"
- },
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "FarmBeatsModels_Delete": {
- "$ref": "./examples/FarmBeatsModels_Delete.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.AgFoodPlatform/farmBeats": {
- "get": {
- "tags": [
- "FarmBeatsModels"
- ],
- "description": "Lists the FarmBeats instances for a subscription.",
- "operationId": "FarmBeatsModels_ListBySubscription",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Skip token for getting next set of results.",
- "type": "string"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/FarmBeatsListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "FarmBeatsModels_ListBySubscription": {
- "$ref": "./examples/FarmBeatsModels_ListBySubscription.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AgFoodPlatform/farmBeats": {
- "get": {
- "tags": [
- "FarmBeatsModels"
- ],
- "description": "Lists the FarmBeats instances for a resource group.",
- "operationId": "FarmBeatsModels_ListByResourceGroup",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "query",
- "name": "$maxPageSize",
- "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
- "type": "integer",
- "format": "int32",
- "default": 50,
- "maximum": 1000,
- "minimum": 10
- },
- {
- "in": "query",
- "name": "$skipToken",
- "description": "Continuation token for getting next set of results.",
- "type": "string"
- },
- {
- "$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": "Success",
- "schema": {
- "$ref": "#/definitions/FarmBeatsListResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "FarmBeatsModels_ListByResourceGroup": {
- "$ref": "./examples/FarmBeatsModels_ListByResourceGroup.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.AgFoodPlatform/checkNameAvailability": {
- "post": {
- "tags": [
- "Locations"
- ],
- "description": "Checks the name availability of the resource with requested resource name.",
- "operationId": "Locations_CheckNameAvailability",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "in": "body",
- "name": "body",
- "description": "NameAvailabilityRequest object.",
- "required": true,
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/CheckNameAvailabilityRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/CheckNameAvailabilityResponse"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Locations_CheckNameAvailability_AlreadyExists": {
- "$ref": "./examples/Locations_CheckNameAvailability_AlreadyExists.json"
- },
- "Locations_CheckNameAvailability_Available": {
- "$ref": "./examples/Locations_CheckNameAvailability_Available.json"
- }
- }
- }
- },
- "/providers/Microsoft.AgFoodPlatform/operations": {
- "get": {
- "tags": [
- "Operations"
- ],
- "description": "Lists the available operations of Microsoft.AgFoodPlatform resource provider.",
- "operationId": "Operations_List",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult"
- }
- },
- "default": {
- "description": "Error",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Operations_List": {
- "$ref": "./examples/Operations_List.json"
- }
- }
- }
- }
- },
- "definitions": {
- "ExtensionProperties": {
- "description": "Extension resource properties.",
- "type": "object",
- "properties": {
- "extensionId": {
- "description": "Extension Id.",
- "pattern": "^[A-za-z]{3,50}[.][A-za-z]{3,100}$",
- "type": "string",
- "readOnly": true
- },
- "extensionCategory": {
- "description": "Extension category. e.g. weather/sensor/satellite.",
- "type": "string",
- "readOnly": true
- },
- "installedExtensionVersion": {
- "description": "Installed extension version.",
- "pattern": "^([1-9]|10).\\d$",
- "type": "string",
- "readOnly": true
- },
- "extensionAuthLink": {
- "description": "Extension auth link.",
- "type": "string",
- "readOnly": true
- },
- "extensionApiDocsLink": {
- "description": "Extension api docs link.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "Extension": {
- "description": "Extension resource.",
- "type": "object",
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
- }
- ],
- "properties": {
- "systemData": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
- },
- "properties": {
- "$ref": "#/definitions/ExtensionProperties",
- "x-ms-client-flatten": true
- },
- "eTag": {
- "description": "The ETag value to implement optimistic concurrency.",
- "type": "string",
- "readOnly": true
- }
- },
- "x-ms-azure-resource": true
- },
- "ExtensionListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Extension"
- }
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "UnitSystemsInfo": {
- "description": "Unit systems info for the data provider.",
- "required": [
- "key",
- "values"
- ],
- "type": "object",
- "properties": {
- "key": {
- "description": "UnitSystem key sent as part of ProviderInput.",
- "maxLength": 100,
- "minLength": 2,
- "type": "string"
- },
- "values": {
- "description": "List of unit systems supported by this data provider.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "DetailedInformation": {
- "description": "Model to capture detailed information for farmBeatsExtensions.",
- "type": "object",
- "properties": {
- "apiName": {
- "description": "ApiName available for the farmBeatsExtension.",
- "type": "string",
- "example": "dailyforecast, dailyhistorical."
- },
- "customParameters": {
- "description": "List of customParameters.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "platformParameters": {
- "description": "List of platformParameters.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "unitsSupported": {
- "$ref": "#/definitions/UnitSystemsInfo"
- },
- "apiInputParameters": {
- "description": "List of apiInputParameters.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "FarmBeatsExtensionProperties": {
- "description": "FarmBeatsExtension properties.",
- "type": "object",
- "properties": {
- "targetResourceType": {
- "description": "Target ResourceType of the farmBeatsExtension.",
- "type": "string",
- "readOnly": true
- },
- "farmBeatsExtensionId": {
- "description": "FarmBeatsExtension ID.",
- "maxLength": 100,
- "minLength": 2,
- "pattern": "^[A-za-z]{3,50}[.][A-za-z]{3,100}$",
- "type": "string",
- "readOnly": true
- },
- "farmBeatsExtensionName": {
- "description": "FarmBeatsExtension name.",
- "maxLength": 100,
- "minLength": 2,
- "type": "string",
- "readOnly": true
- },
- "farmBeatsExtensionVersion": {
- "description": "FarmBeatsExtension version.",
- "maxLength": 100,
- "minLength": 2,
- "pattern": "^([1-9]|10).\\d$",
- "type": "string",
- "readOnly": true
- },
- "publisherId": {
- "description": "Publisher ID.",
- "maxLength": 100,
- "minLength": 2,
- "type": "string",
- "readOnly": true
- },
- "description": {
- "description": "Textual description.",
- "maxLength": 500,
- "minLength": 2,
- "type": "string",
- "readOnly": true
- },
- "extensionCategory": {
- "description": "Category of the extension. e.g. weather/sensor/satellite.",
- "maxLength": 100,
- "minLength": 2,
- "type": "string",
- "readOnly": true
- },
- "extensionAuthLink": {
- "description": "FarmBeatsExtension auth link.",
- "type": "string",
- "readOnly": true
- },
- "extensionApiDocsLink": {
- "description": "FarmBeatsExtension api docs link.",
- "type": "string",
- "readOnly": true
- },
- "detailedInformation": {
- "description": "Detailed information which shows summary of requested data.\r\nUsed in descriptive get extension metadata call.\r\nInformation for weather category per api included are apisSupported,\r\ncustomParameters, PlatformParameters and Units supported.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/DetailedInformation"
- },
- "readOnly": true
- }
- }
- },
- "FarmBeatsExtension": {
- "description": "FarmBeats extension resource.",
- "type": "object",
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
- }
- ],
- "properties": {
- "systemData": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
- },
- "properties": {
- "$ref": "#/definitions/FarmBeatsExtensionProperties",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-azure-resource": true
- },
- "FarmBeatsExtensionListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/FarmBeatsExtension"
- }
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "FarmBeatsProperties": {
- "description": "FarmBeats ARM Resource properties.",
- "type": "object",
- "properties": {
- "instanceUri": {
- "format": "uri",
- "description": "Uri of the FarmBeats instance.",
- "type": "string",
- "readOnly": true
- },
- "provisioningState": {
- "description": "FarmBeats instance provisioning state.",
- "enum": [
- "Succeeded",
- "Failed"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "ProvisioningState",
- "modelAsString": true
- }
- }
- }
- },
- "FarmBeats": {
- "description": "FarmBeats ARM Resource.",
- "type": "object",
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
- }
- ],
- "properties": {
- "systemData": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
- },
- "properties": {
- "$ref": "#/definitions/FarmBeatsProperties",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-azure-resource": true
- },
- "FarmBeatsUpdateRequestModel": {
- "description": "FarmBeats update request.",
- "type": "object",
- "properties": {
- "location": {
- "description": "Geo-location where the resource lives.",
- "type": "string"
- },
- "tags": {
- "description": "Resource tags.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- }
- },
- "FarmBeatsListResponse": {
- "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
- "type": "object",
- "properties": {
- "value": {
- "description": "List of requested objects.",
- "type": "array",
- "uniqueItems": false,
- "items": {
- "$ref": "#/definitions/FarmBeats"
- }
- },
- "nextLink": {
- "description": "Continuation link (absolute URI) to the next page of results in the list.",
- "type": "string",
- "readOnly": true
- }
- }
- }
- },
- "parameters": {
- "FarmBeatsResourceNameParameter": {
- "in": "path",
- "name": "farmBeatsResourceName",
- "description": "FarmBeats resource name.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "ExtensionIdParameter": {
- "in": "path",
- "name": "extensionId",
- "description": "Id of extension resource.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- }
- },
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "flow": "implicit",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- },
- "description": "Azure Active Directory OAuth2 Flow."
- }
- },
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "produces": [
- "application/json"
- ],
- "consumes": [
- "application/json"
- ]
-}
diff --git a/specification/agfood/resource-manager/readme.csharp.md b/specification/agfood/resource-manager/readme.csharp.md
deleted file mode 100644
index 9e64c3052486..000000000000
--- a/specification/agfood/resource-manager/readme.csharp.md
+++ /dev/null
@@ -1,15 +0,0 @@
-## 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.AgFoodPlatform
- output-folder: $(csharp-sdks-folder)/agfood/management/Microsoft.AgFoodPlatform/Generated
-```
diff --git a/specification/agfood/resource-manager/readme.go.md b/specification/agfood/resource-manager/readme.go.md
deleted file mode 100644
index 056ea4b911ef..000000000000
--- a/specification/agfood/resource-manager/readme.go.md
+++ /dev/null
@@ -1,11 +0,0 @@
-## Go
-
-These settings apply only when `--go` is specified on the command line.
-
-```yaml $(go) && $(track2)
-license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/agfood/armagfood
-module: github.com/Azure/azure-sdk-for-go/$(module-name)
-output-folder: $(go-sdk-folder)/$(module-name)
-azure-arm: true
-```
diff --git a/specification/agfood/resource-manager/readme.md b/specification/agfood/resource-manager/readme.md
deleted file mode 100644
index 2798ac8e8a73..000000000000
--- a/specification/agfood/resource-manager/readme.md
+++ /dev/null
@@ -1,105 +0,0 @@
-# agfood
-
-> see https://aka.ms/autorest
-
-This is the AutoRest configuration file for agfood.
-
-## 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 agfood.
-
-```yaml
-openapi-type: arm
-tag: package-2020-05-12-preview
-```
-
-### Tag: package-2020-05-12-preview
-
-These settings apply only when `--tag=package-2020-05-12-preview` is specified on the command line.
-
-```yaml $(tag) == 'package-2020-05-12-preview'
-input-file:
- - Microsoft.AgFoodPlatform/preview/2020-05-12-preview/agfood.json
-```
-
----
-
-# Code Generation
-
-## Swagger to SDK
-
-This section describes what SDK should be generated by the automatic system.
-This is not used by Autorest itself.
-
-```yaml $(swagger-to-sdk)
-swagger-to-sdk:
- - repo: azure-sdk-for-python-track2
- - repo: azure-sdk-for-js
-```
-## Go
-
-See configuration in [readme.go.md](./readme.go.md)
-
-## Python
-
-See configuration in [readme.python.md](./readme.python.md)
-
-## TypeScript
-
-See configuration in [readme.typescript.md](./readme.typescript.md)
-
-## CSharp
-
-See configuration in [readme.csharp.md](./readme.csharp.md)
-
-## Suppression
-
-``` yaml
-directive:
- - from: agfood.json
- suppress: R3006 # BodyTopLevelProperties
- where: $.definitions.FarmBeats.properties
- reason: Currently systemData is not allowed.
- - from: agfood.json
- suppress: R3006 # BodyTopLevelProperties
- where: $.definitions.Extension.properties
- reason: Currently systemData is not allowed.
- - from: agfood.json
- suppress: R3018 # EnumInsteadOfBoolean
- where:
- - $.definitions.Operation.properties.isDataAction
- - $.definitions.CheckNameAvailabilityResult.properties.nameAvailable
- reason: Booleans are used to indicate binary states of the property, enum is not appropriate.
- - from: agfood.json
- suppress: R4000 # DescriptionAndTitleMissing
- where:
- - $.definitions.Error.properties.innererror
- - $.definitions.ErrorResponse.properties.error
- - $.definitions.Extension.properties.properties
- - $.definitions.Extension.properties.systemData
- - $.definitions.FarmBeats.properties.properties
- - $.definitions.FarmBeats.properties.systemData
- - $.definitions.InnerError.properties.innererror
- - $.definitions.Operation.properties.display
- reason: Model has description added in it's schema.
- - from: types.json
- suppress: R4000 # DescriptionAndTitleMissing
- where: $.definitions.Resource
- reason: Common type models are inherited.
-```
diff --git a/specification/agfood/resource-manager/readme.python.md b/specification/agfood/resource-manager/readme.python.md
deleted file mode 100644
index f109f297029c..000000000000
--- a/specification/agfood/resource-manager/readme.python.md
+++ /dev/null
@@ -1,23 +0,0 @@
-## Python
-
-These settings apply only when `--python` is specified on the command line.
-Please also specify `--python-sdks-folder=`.
-
-``` yaml $(track2)
-azure-arm: true
-license-header: MICROSOFT_MIT_NO_VERSION
-package-name: azure-mgmt-agfood
-no-namespace-folders: true
-package-version: 1.0.0b1
-clear-output-folder: true
-```
-
-``` yaml $(python-mode) == 'update' && $(track2)
-no-namespace-folders: true
-output-folder: $(python-sdks-folder)/agfood/azure-mgmt-agfood/azure/mgmt/agfood
-```
-
-``` yaml $(python-mode) == 'create' && $(track2)
-basic-setup-py: true
-output-folder: $(python-sdks-folder)/agfood/azure-mgmt-agfood
-```
diff --git a/specification/agfood/resource-manager/readme.typescript.md b/specification/agfood/resource-manager/readme.typescript.md
deleted file mode 100644
index c4ad9c4e1545..000000000000
--- a/specification/agfood/resource-manager/readme.typescript.md
+++ /dev/null
@@ -1,15 +0,0 @@
-## TypeScript
-
-These settings apply only when `--typescript` is specified on the command line.
-Please also specify `--typescript-sdks-folder=`.
-
-``` yaml $(typescript)
-typescript:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- package-name: "@azure/arm-agfood"
- output-folder: "$(typescript-sdks-folder)/sdk/agfood/arm-agfood"
- payload-flattening-threshold: 1
- clear-output-folder: true
- generate-metadata: true
-```
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/agfood.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/agfood.json
new file mode 100644
index 000000000000..027ef43d4b80
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/agfood.json
@@ -0,0 +1,12429 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure AgFoodPlatform Data Plane Service",
+ "description": "APIs documentation for Azure AgPlatform DataPlane Service.",
+ "version": "2021-03-31-preview"
+ },
+ "paths": {
+ "/farmers/{farmerId}/application-data": {
+ "get": {
+ "tags": [
+ "ApplicationData"
+ ],
+ "description": "Get a paginated list of application data resources for a given farmer and search criteria.\n\n\r###### Note: \n1. Users will get paginated response with each page containing a link to the next page. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "ApplicationData_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "minAvgMaterial",
+ "description": "Application data with average material greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgMaterial",
+ "description": "Application data with average material lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minTotalMaterial",
+ "description": "Application data with total material greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTotalMaterial",
+ "description": "Application data with total material lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "sources",
+ "description": "Application data obtained from the given list of sources will be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "associatedBoundaryIds",
+ "description": "List of boundary Ids of the field/seasonal field on which the application operation was done.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "operationBoundaryIds",
+ "description": "List of the boundary Ids that were created using the geographical area on which the application operation was carried out.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minOperationStartDateTime",
+ "description": "Application operations that began at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationStartDateTime",
+ "description": "Application operations that began at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationEndDateTime",
+ "description": "Application operations that ended at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationEndDateTime",
+ "description": "Application operations that ended at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationModifiedDateTime",
+ "description": "Application operations that were modified (at source) at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationModifiedDateTime",
+ "description": "Application operations that were modified (at source) at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minArea",
+ "description": "Application operations carried over area greater than or equal to the given value is returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxArea",
+ "description": "Application operations carried over area lesser than or equal to the given value is returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of application operations to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of application operations to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Application data with only given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ApplicationDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ApplicationData_ListByFarmerId": {
+ "$ref": "./examples/ApplicationData_ListByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/application-data": {
+ "get": {
+ "tags": [
+ "ApplicationData"
+ ],
+ "description": "Get a paginated list of application data resources across all the farmers for a given search criteria.\n\n\r###### Note:\n1. This API does a serial search of the database for the given search criteria. If the farmer Id is available, it is strongly recommended to use **‘List by Farmer Id’** API as it is performant.\n2. Users will get paginated response with each page containing a link to the next page. Few pages may have **no items (zero results)**. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "ApplicationData_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "minAvgMaterial",
+ "description": "Application data with average material greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgMaterial",
+ "description": " Application data with average material lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minTotalMaterial",
+ "description": "Application data with total material greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTotalMaterial",
+ "description": "Application data with total material lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "sources",
+ "description": "Application data obtained from the given list of sources will be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "associatedBoundaryIds",
+ "description": "List of boundary Ids of the field/seasonal field on which the application operation was done.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "operationBoundaryIds",
+ "description": "List of the boundary Ids that were created using the geographical area on which the application operation was carried out.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minOperationStartDateTime",
+ "description": "Application operations that began at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationStartDateTime",
+ "description": "Application operations that began at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationEndDateTime",
+ "description": "Application operations that ended at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationEndDateTime",
+ "description": "Application operations that ended at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationModifiedDateTime",
+ "description": "Application operations that were modified (at source) at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationModifiedDateTime",
+ "description": "Application operations that were modified (at source) at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minArea",
+ "description": "Application operations carried over area greater than or equal to the given value is returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxArea",
+ "description": "Application operations carried over area lesser than or equal to the given value is returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of application operations to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of application operations to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Application data with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ApplicationDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ApplicationData_List": {
+ "$ref": "./examples/ApplicationData_List.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/application-data/{applicationDataId}": {
+ "get": {
+ "tags": [
+ "ApplicationData"
+ ],
+ "description": "Get a specified application data resource for a given farmer.\n\n",
+ "operationId": "ApplicationData_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "applicationDataId",
+ "description": "Id of the application data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ApplicationData"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ApplicationData_Get": {
+ "$ref": "./examples/ApplicationData_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ApplicationData"
+ ],
+ "description": "Create or update an application data resource for a given farmer.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/merge-patch+json'**.\n2. 'Id' of a resource can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of an ‘Id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "ApplicationData_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "applicationDataId",
+ "description": "Id of the application data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "applicationData",
+ "description": "Application data resource payload to Create or update.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationData"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ApplicationData"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ApplicationData"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ApplicationData_CreateOrUpdate": {
+ "$ref": "./examples/ApplicationData_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApplicationData"
+ ],
+ "description": "Delete a specified application data resource for a given farmer.\n\n",
+ "operationId": "ApplicationData_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "applicationDataId",
+ "description": "Id of the application data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ApplicationData_Delete": {
+ "$ref": "./examples/ApplicationData_Delete.json"
+ }
+ }
+ }
+ },
+ "/application-data/cascade-delete/{jobId}": {
+ "get": {
+ "tags": [
+ "ApplicationData"
+ ],
+ "description": "Get details of a cascade delete job for application data resource.\n\n",
+ "operationId": "ApplicationData_GetCascadeDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the application data cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ApplicationData_GetCascadeDeleteJobDetails": {
+ "$ref": "./examples/ApplicationData_GetCascadeDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApplicationData"
+ ],
+ "description": "Create cascade delete job for application data resource.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/json'**.\n2. ‘Job id’ can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of a ‘Job id’ is 2 characters and maximum length is 50 characters.\n\n",
+ "operationId": "ApplicationData_CreateCascadeDeleteJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the application data cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "applicationDataId",
+ "description": "Id of the application data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "ApplicationData_CreateCascadeDeleteJob": {
+ "$ref": "./examples/ApplicationData_CreateCascadeDeleteJob.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/attachments": {
+ "get": {
+ "tags": [
+ "Attachments"
+ ],
+ "description": "Get a paginated list of attachment resources for a given farmer and search criteria.\n\n",
+ "operationId": "Attachments_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "resourceIds",
+ "description": "Attachments belonging to the given list of resources will be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "resourceTypes",
+ "description": "Attachments belonging to the resources of the given resource types will be returned. Valid values are Farmer, Farm, Field, SeasonalField, Boundary, ApplicationData, HarvestData, TillageDat and PlantingData.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids of the attachments to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of attachments to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Attachments with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Attachments created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Attachments created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Attachments last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Attachments last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AttachmentListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Attachments_ListByFarmerId": {
+ "$ref": "./examples/Attachments_ListByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/attachments/{attachmentId}": {
+ "get": {
+ "tags": [
+ "Attachments"
+ ],
+ "description": "Get a specified attachment resource for a given farmer.\n\n",
+ "operationId": "Attachments_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "attachmentId",
+ "description": "Id of the attachment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Attachment"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Attachments_Get": {
+ "$ref": "./examples/Attachments_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Attachments"
+ ],
+ "description": "Create or update an attachment resource for a given farmer.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/merge-patch+json'**.\n2. 'Id' of a resource can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of an ‘Id’ is 2 characters and maximum length is 50 characters.\n\n",
+ "operationId": "Attachments_CreateOrUpdate",
+ "consumes": [
+ "multipart/form-data"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "attachmentId",
+ "description": "Id of the attachment. This Id is unique for a given farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "formData",
+ "name": "file",
+ "description": "File to be uploaded.",
+ "type": "file",
+ "format": "binary"
+ },
+ {
+ "in": "formData",
+ "name": "FarmerId",
+ "description": "Id of the associated farmer.",
+ "type": "string"
+ },
+ {
+ "in": "formData",
+ "name": "ResourceId",
+ "description": "This is the Id of the resource to which the attachment belongs. Ids of following entities are valid: Farmer, Farm, Field, Seasonal field, Boundary, Application data, Harvest data, Tillage data and Planting data.",
+ "type": "string"
+ },
+ {
+ "in": "formData",
+ "name": "ResourceType",
+ "description": "Indicates the type of resource to which this attachment belongs. Valid values are Farmer, Farm, Field, SeasonalField, Boundary, ApplicationData, HarvestData, TillageDat and PlantingData.",
+ "type": "string"
+ },
+ {
+ "in": "formData",
+ "name": "OriginalFileName",
+ "description": "Original file name of the attachment.",
+ "type": "string"
+ },
+ {
+ "in": "formData",
+ "name": "Id",
+ "description": "Unique Id of the attachment. This Id is unique for a given farmer.",
+ "type": "string"
+ },
+ {
+ "in": "formData",
+ "name": "Status",
+ "description": "User provided status of the attachment.",
+ "type": "string",
+ "maxLength": 100,
+ "minLength": 0
+ },
+ {
+ "in": "formData",
+ "name": "CreatedDateTime",
+ "description": "UTC Date-time at which the attachment was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "formData",
+ "name": "ModifiedDateTime",
+ "description": "UTC Date-time at which the attachment was last modified (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "formData",
+ "name": "Name",
+ "description": "Name of the attachment.",
+ "type": "string",
+ "maxLength": 100,
+ "minLength": 0
+ },
+ {
+ "in": "formData",
+ "name": "Description",
+ "description": "Brief description of the attachment.",
+ "type": "string",
+ "maxLength": 500,
+ "minLength": 0
+ },
+ {
+ "in": "formData",
+ "name": "ETag",
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Attachment"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Attachment"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Attachments_CreateOrUpdate": {
+ "$ref": "./examples/Attachments_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Attachments"
+ ],
+ "description": "Delete a specified attachment resource for a given farmer.\n\n",
+ "operationId": "Attachments_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "attachmentId",
+ "description": "Id of the attachment.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Attachments_Delete": {
+ "$ref": "./examples/Attachments_Delete.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/attachments/{attachmentId}/file": {
+ "get": {
+ "tags": [
+ "Attachments"
+ ],
+ "description": "Return attachment as a file stream for a given input filePath.\n\n",
+ "operationId": "Attachments_Download",
+ "produces": [
+ "application/octet-stream",
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "attachmentId",
+ "description": "Id of attachment to be downloaded.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "format": "binary",
+ "type": "file"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Attachments_Download": {
+ "$ref": "./examples/Attachments_Download.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/boundaries": {
+ "get": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Get a paginated list of boundary resources for a given farmer and search criteria.\n\n\r###### Note: \n1. Users will get paginated response with each page containing a link to the next page. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "Boundaries_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "isPrimary",
+ "description": "If set, only primary boundaries are returned.",
+ "type": "boolean"
+ },
+ {
+ "in": "query",
+ "name": "parentType",
+ "description": "Boundaries with given parent types are returned. VAlid values are 'Field' and 'SeasonalField'.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "parentIds",
+ "description": "Boundaries associated with the given parent Ids are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minAcreage",
+ "description": "Boundaries with acreage equal to or greater than the given value are returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAcreage",
+ "description": "Boundaries with acreage equal to or lesser than the given value are returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of boundaries to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of boundaries to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Boundaries with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/BoundaryListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Boundaries_ListByFarmerId": {
+ "$ref": "./examples/Boundaries_ListByFarmerId.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Search for boundaries of a farmer intersecting with a given geometry.\nThis API is expected to be used when users want to find boundaries that intersect with a given geometry. Otherwise, this is functionally same as 'List by Farmer Id' API for boundaries.\n\n\r###### Note: \n1. Users will get paginated response with each page containing a link to the next page. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "Boundaries_SearchByFarmerId",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "query",
+ "description": "Query filters.",
+ "schema": {
+ "$ref": "#/definitions/SearchBoundaryQuery"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/BoundaryListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Boundaries_SearchByFarmerId": {
+ "$ref": "./examples/Boundaries_SearchByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/boundaries": {
+ "get": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Get a paginated list of boundary resources across all the farmers for a given search criteria.\n\n\r###### Note:\n1. This API does a serial search of the database for the given search criteria. If the farmer Id is available, it is strongly recommended to use **‘List by Farmer Id’** API as it is performant.\n2. Users will get paginated response with each page containing a link to the next page. Few pages may have **no items (zero results)**. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "Boundaries_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "isPrimary",
+ "description": "If set, only primary boundaries are returned.",
+ "type": "boolean"
+ },
+ {
+ "in": "query",
+ "name": "parentType",
+ "description": "Boundaries with given parent types are returned. VAlid values are 'Field' and 'SeasonalField'.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "parentIds",
+ "description": "Boundaries associated with the given parent Ids are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minAcreage",
+ "description": "Boundaries with acreage equal to or greater than the given value are returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAcreage",
+ "description": "Boundaries with acreage equal to or lesser than the given value are returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of boundaries to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of boundaries to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Boundaries with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/BoundaryListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Boundaries_List": {
+ "$ref": "./examples/Boundaries_List.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Search for boundaries across all the farmers intersecting with a given geometry.\nThis API is expected to be used when users want to find boundaries that intersect with a given geometry. Otherwise, this is functionally same as 'List' API for boundaries.\n\n\r\n\n\r###### Note:\n1. This API does a serial search of the database for the given search criteria. If the farmer Id is available, it is strongly recommended to use **‘Search by Farmer Id’** API as it is performant.\n2. Users will get paginated response with each page containing a link to the next page. Few pages may have **no items (zero results)**. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "Boundaries_Search",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "query",
+ "description": "Query filters.",
+ "schema": {
+ "$ref": "#/definitions/SearchBoundaryQuery"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/BoundaryListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Boundaries_Search": {
+ "$ref": "./examples/Boundaries_Search.json"
+ }
+ }
+ }
+ },
+ "/boundaries/cascade-delete/{jobId}": {
+ "get": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Get details of cascade delete job for a specified boundary.\n\n",
+ "operationId": "Boundaries_GetCascadeDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the boundary cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Boundaries_GetCascadeDeleteJobDetails": {
+ "$ref": "./examples/Boundaries_GetCascadeDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Create a cascade delete job for a specified boundary.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/json'**.\n2. ‘Job id’ can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of a ‘Job id’ is 2 characters and maximum length is 50 characters.\n\n",
+ "operationId": "Boundaries_CreateCascadeDeleteJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the boundary cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "boundaryId",
+ "description": "Id of the boundary to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Boundaries_CreateCascadeDeleteJob": {
+ "$ref": "./examples/Boundaries_CreateCascadeDeleteJob.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/boundaries/{boundaryId}": {
+ "get": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Get a specified boundary resource for a given farmer.\n\n",
+ "operationId": "Boundaries_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "boundaryId",
+ "description": "Id of the boundary.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Boundary"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Boundaries_Get": {
+ "$ref": "./examples/Boundaries_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Create or update a boundary resource.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/merge-patch+json'**.\n2. 'Id' of a resource can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of an ‘Id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "Boundaries_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "boundaryId",
+ "description": "Unique Id of the boundary. This Id is unique for a given farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "boundary",
+ "description": "Boundary resource payload to Create or update.",
+ "schema": {
+ "$ref": "#/definitions/Boundary"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Boundary"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Boundary"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Boundaries_CreateOrUpdate": {
+ "$ref": "./examples/Boundaries_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Delete a specified boundary resource for a given farmer. It can only be deleted if it has no linked attachments, satellite or weather data.\n\n",
+ "operationId": "Boundaries_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "boundaryId",
+ "description": "Id of the boundary to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Boundaries_Delete": {
+ "$ref": "./examples/Boundaries_Delete.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/boundaries/{boundaryId}/overlap": {
+ "get": {
+ "tags": [
+ "Boundaries"
+ ],
+ "description": "Get overlapping (intersecting) acreage between two boundaries.\n\n",
+ "operationId": "Boundaries_GetOverlap",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the farmer associated with the given boundary.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "boundaryId",
+ "description": "Id of the given boundary.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "otherFarmerId",
+ "description": "Id of the farmer associated with the other boundary.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "otherBoundaryId",
+ "description": "Id of the other boundary.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/BoundaryOverlapResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Boundaries_GetOverlap": {
+ "$ref": "./examples/Boundaries_GetOverlap.json"
+ }
+ }
+ }
+ },
+ "/crops": {
+ "get": {
+ "tags": [
+ "Crops"
+ ],
+ "description": "Get a paginated list of crop resources.\n\n\r###### Note: \n1. Users will get paginated response with each page containing a link to the next page. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "Crops_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "phenotypes",
+ "description": "Crops with the given list of phenotypes are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of crops to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of crops to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Crops with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CropListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Crops_List": {
+ "$ref": "./examples/Crops_List.json"
+ }
+ }
+ }
+ },
+ "/crops/{cropId}": {
+ "get": {
+ "tags": [
+ "Crops"
+ ],
+ "description": "Get a specified crop resource.\n\n",
+ "operationId": "Crops_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cropId",
+ "description": "Id of the crop.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Crop"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Crops_Get": {
+ "$ref": "./examples/Crops_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Crops"
+ ],
+ "description": "Create or update a crop resource.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/merge-patch+json'**.\n2. 'Id' of a resource can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of an ‘Id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "Crops_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cropId",
+ "description": "Id of the crop resource. This Id is unique for a given tenant.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "crop",
+ "description": "Crop resource payload to create or update.",
+ "schema": {
+ "$ref": "#/definitions/Crop"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Crop"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Crop"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Crops_CreateOrUpdate": {
+ "$ref": "./examples/Crops_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Crops"
+ ],
+ "description": "Delete a specified crop resource.\n\n",
+ "operationId": "Crops_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cropId",
+ "description": "Id of crop to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Crops_Delete": {
+ "$ref": "./examples/Crops_Delete.json"
+ }
+ }
+ }
+ },
+ "/crops/{cropId}/crop-varieties": {
+ "get": {
+ "tags": [
+ "CropVarieties"
+ ],
+ "description": "Get a paginated list of crop variety resources for a given crop and search criteria.\n\n\r###### Note: \n1. Users will get paginated response with each page containing a link to the next page. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "CropVarieties_ListByCropId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cropId",
+ "description": "Id of the associated crop.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "cropIds",
+ "description": "Crop varieties associated with the given list of crop ids are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "brands",
+ "description": "Crop varieties associated with the given list of brands are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "products",
+ "description": "Crop varieties associated with the given list of products are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of crop varieties to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of crop varieties to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Crop varieties with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CropVarietyListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "CropVarieties_ListByCropId": {
+ "$ref": "./examples/CropVarieties_ListByCropId.json"
+ }
+ }
+ }
+ },
+ "/crop-varieties": {
+ "get": {
+ "tags": [
+ "CropVarieties"
+ ],
+ "description": "Get a paginated list of crop variety resources across all the crops for a given search criteria.\n\n\r###### Note:\n1. This API does a serial search of the database for the given search criteria. If the crop Id is available, it is strongly recommended to use **‘List by Crop Id’** API as it is performant.\n2. Users will get paginated response with each page containing a link to the next page. Few pages may have **no items (zero results)**. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "CropVarieties_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "cropIds",
+ "description": "Crop varieties associated with the given list of crop ids are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "brands",
+ "description": "Crop varieties associated with the given list of brands are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "products",
+ "description": "Crop varieties associated with the given list of products are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of crop varieties to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of crop varieties to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Crop varieties with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CropVarietyListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "CropVarieties_List": {
+ "$ref": "./examples/CropVarieties_List.json"
+ }
+ }
+ }
+ },
+ "/crops/{cropId}/crop-varieties/{cropVarietyId}": {
+ "get": {
+ "tags": [
+ "CropVarieties"
+ ],
+ "description": "Get a specified crop variety resource for a given crop.\n\n",
+ "operationId": "CropVarieties_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cropId",
+ "description": "Id of the associated crop.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "cropVarietyId",
+ "description": "Id of the crop variety.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CropVariety"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CropVarieties_Get": {
+ "$ref": "./examples/CropVarieties_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "CropVarieties"
+ ],
+ "description": "Create or update a crop variety resource.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/merge-patch+json'**.\n2. 'Id' of a resource can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of an ‘Id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "CropVarieties_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cropId",
+ "description": "Id of the associated crop.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "cropVarietyId",
+ "description": "Unique Id of the crop variety. This Is is unique for a given crop.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "cropVariety",
+ "description": "Crop variety resource payload to create or update.",
+ "schema": {
+ "$ref": "#/definitions/CropVariety"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CropVariety"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CropVariety"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CropVarieties_CreateOrUpdate": {
+ "$ref": "./examples/CropVarieties_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "CropVarieties"
+ ],
+ "description": "Delete a specified crop variety resource for a given crop.\n\n",
+ "operationId": "CropVarieties_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "cropId",
+ "description": "Id of the associated crop.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "cropVarietyId",
+ "description": "Id of the crop variety to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CropVarieties_Delete": {
+ "$ref": "./examples/CropVarieties_Delete.json"
+ }
+ }
+ }
+ },
+ "/farmers": {
+ "get": {
+ "tags": [
+ "Farmers"
+ ],
+ "description": "Get a paginated list of farmer resources for a given search criteria.\n\n",
+ "operationId": "Farmers_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of farmers to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of farmers to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Farmers with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmerListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Farmers_List": {
+ "$ref": "./examples/Farmers_List.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}": {
+ "get": {
+ "tags": [
+ "Farmers"
+ ],
+ "description": "Get a specified farmer resource.\n\n",
+ "operationId": "Farmers_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "ID of the farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Farmer"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Farmers_Get": {
+ "$ref": "./examples/Farmers_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Farmers"
+ ],
+ "description": "Create or update a farmer resource.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/merge-patch+json'**.\n2. 'Id' of a resource can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of an ‘Id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "Farmers_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "farmer",
+ "description": "Farmer resource payload to create or update.",
+ "schema": {
+ "$ref": "#/definitions/Farmer"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Farmer"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Farmer"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Farmers_CreateOrUpdate": {
+ "$ref": "./examples/Farmers_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Farmers"
+ ],
+ "description": "Delete a specified farmer resource. It can only be deleted if it has no linked attachments or farms.\n\n",
+ "operationId": "Farmers_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of farmer to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Farmers_Delete": {
+ "$ref": "./examples/Farmers_Delete.json"
+ }
+ }
+ }
+ },
+ "/farmers/cascade-delete/{jobId}": {
+ "get": {
+ "tags": [
+ "Farmers"
+ ],
+ "description": "Get details of a cascade delete job for a specified farmer.\n\n",
+ "operationId": "Farmers_GetCascadeDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the farmer cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Farmers_GetCascadeDeleteJobDetails": {
+ "$ref": "./examples/Farmers_GetCascadeDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Farmers"
+ ],
+ "description": "Create a cascade delete job for a specified farmer.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/json'**.\n2. ‘Job id’ can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of a ‘Job id’ is 2 characters and maximum length is 50 characters.\n\n",
+ "operationId": "Farmers_CreateCascadeDeleteJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the farmer cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "Id of the farmer to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Farmers_CreateCascadeDeleteJob": {
+ "$ref": "./examples/Farmers_CreateCascadeDeleteJob.json"
+ }
+ }
+ }
+ },
+ "/farm-operations/ingest-data/{jobId}": {
+ "put": {
+ "tags": [
+ "FarmOperations"
+ ],
+ "description": "Create a farm operation data ingestion job.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/json'**.\n2. ‘Job id’ can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of a ‘Job id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "FarmOperations_CreateDataIngestionJob",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the farm operation data ingestion job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "job",
+ "description": "Job parameters supplied by the user.",
+ "schema": {
+ "$ref": "#/definitions/FarmOperationDataIngestionJob"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmOperationDataIngestionJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "FarmOperations_CreateDataIngestionJob": {
+ "$ref": "./examples/FarmOperations_CreateDataIngestionJob.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "FarmOperations"
+ ],
+ "description": "Get details of a farm operation data ingestion job.\n\n",
+ "operationId": "FarmOperations_GetDataIngestionJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the farm operation data ingestion job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmOperationDataIngestionJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "FarmOperations_GetDataIngestionJobDetails": {
+ "$ref": "./examples/FarmOperations_GetDataIngestionJobDetails.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/farms": {
+ "get": {
+ "tags": [
+ "Farms"
+ ],
+ "description": "Get a paginated list of farm resources for a given farmer and search criteria.\n\n\r###### Note: \n1. Users will get paginated response with each page containing a link to the next page. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "Farms_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of farms to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of farms to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Farms with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Farms_ListByFarmerId": {
+ "$ref": "./examples/Farms_ListByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/farms": {
+ "get": {
+ "tags": [
+ "Farms"
+ ],
+ "description": "Get a paginated list of farm resources across all the farmers for a given search criteria.\n\n\r###### Note:\n1. This API does a serial search of the database for the given search criteria. If the farmer Id is available, it is strongly recommended to use **‘List by Farmer Id’** API as it is performant.\n2. Users will get paginated response with each page containing a link to the next page. Few pages may have **no items (zero results)**. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "Farms_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of farms to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of farms to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Farms with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Farms_List": {
+ "$ref": "./examples/Farms_List.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/farms/{farmId}": {
+ "get": {
+ "tags": [
+ "Farms"
+ ],
+ "description": "Get a specified farm resource for a given farmer.\n\n",
+ "operationId": "Farms_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "farmId",
+ "description": "ID of the farm.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Farm"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Farms_Get": {
+ "$ref": "./examples/Farms_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Farms"
+ ],
+ "description": "Create or update a farm resource for a given farmer.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/merge-patch+json'**.\n2. 'Id' of a resource can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of an ‘Id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "Farms_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "farmId",
+ "description": "Unique Id of the farm. This Id is unique for a given farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "farm",
+ "description": "Farm resource payload to create or update.",
+ "schema": {
+ "$ref": "#/definitions/Farm"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Farm"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Farm"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Farms_CreateOrUpdate": {
+ "$ref": "./examples/Farms_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Farms"
+ ],
+ "description": "Delete a specified farm resource for a given farmer. It can only be deleted if it has no linked attachments, fields or seasonal fields.\n\n",
+ "operationId": "Farms_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "farmId",
+ "description": "Id of the farm to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Farms_Delete": {
+ "$ref": "./examples/Farms_Delete.json"
+ }
+ }
+ }
+ },
+ "/farms/cascade-delete/{jobId}": {
+ "get": {
+ "tags": [
+ "Farms"
+ ],
+ "description": "Get details of cascade delete job for a specified farm.\n\n",
+ "operationId": "Farms_GetCascadeDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the farm cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Farms_GetCascadeDeleteJobDetails": {
+ "$ref": "./examples/Farms_GetCascadeDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Farms"
+ ],
+ "description": "Create a cascade delete job for a specified farm.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/json'**.\n2. ‘Job id’ can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of a ‘Job id’ is 2 characters and maximum length is 50 characters.\n\n",
+ "operationId": "Farms_CreateCascadeDeleteJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the farm cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "ID of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmId",
+ "description": "ID of the farm to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Farms_CreateCascadeDeleteJob": {
+ "$ref": "./examples/Farms_CreateCascadeDeleteJob.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/fields": {
+ "get": {
+ "tags": [
+ "Fields"
+ ],
+ "description": "Get a paginated list of field resources for a given farmer and search criteria.\n\n\r###### Note: \n1. Users will get paginated response with each page containing a link to the next page. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "Fields_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmIds",
+ "description": "Fields associated with the given list of farms are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of fields to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of fields to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Fields with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FieldListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Fields_ListByFarmerId": {
+ "$ref": "./examples/Fields_ListByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/fields": {
+ "get": {
+ "tags": [
+ "Fields"
+ ],
+ "description": "Get a paginated list of field resources across all the farmers for a given search criteria.\n\n\r###### Note:\n1. This API does a serial search of the database for the given search criteria. If the farmer Id is available, it is strongly recommended to use **‘List by Farmer Id’** API as it is performant.\n2. Users will get paginated response with each page containing a link to the next page. Few pages may have **no items (zero results)**. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "Fields_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "farmIds",
+ "description": "Fields associated with the given list of farms are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of fields to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of fields to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Fields with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FieldListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Fields_List": {
+ "$ref": "./examples/Fields_List.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/fields/{fieldId}": {
+ "get": {
+ "tags": [
+ "Fields"
+ ],
+ "description": "Get a specified field resource for a given farmer.\n\n",
+ "operationId": "Fields_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "fieldId",
+ "description": "Id of the field.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Field"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Fields_Get": {
+ "$ref": "./examples/Fields_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Fields"
+ ],
+ "description": "Create or update a field resource for a given farmer.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/merge-patch+json'**.\n2. 'Id' of a resource can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of an ‘Id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "Fields_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "fieldId",
+ "description": "Unique Id of the field. This Id is unique for a given farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "field",
+ "description": "Field resource payload to Create or update.",
+ "schema": {
+ "$ref": "#/definitions/Field"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Field"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Field"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Fields_CreateOrUpdate": {
+ "$ref": "./examples/Fields_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Fields"
+ ],
+ "description": "Delete a specified field resource for a given farmer. It can only be deleted if it has no linked attachments, boundaries or seasonal fields.\n\n",
+ "operationId": "Fields_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "fieldId",
+ "description": "Id of the field to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Fields_Delete": {
+ "$ref": "./examples/Fields_Delete.json"
+ }
+ }
+ }
+ },
+ "/fields/cascade-delete/{jobId}": {
+ "get": {
+ "tags": [
+ "Fields"
+ ],
+ "description": "Get details of cascade delete job for a specified field.\n\n",
+ "operationId": "Fields_GetCascadeDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of field cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Fields_GetCascadeDeleteJobDetails": {
+ "$ref": "./examples/Fields_GetCascadeDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Fields"
+ ],
+ "description": "Create a cascade delete job for specified field.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/json'**.\n2. ‘Job id’ can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of a ‘Job id’ is 2 characters and maximum length is 50 characters.\n\n",
+ "operationId": "Fields_CreateCascadeDeleteJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of field cascade delete job. This Id is unique for a given tenant.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "fieldId",
+ "description": "ID of the field to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Fields_CreateCascadeDeleteJob": {
+ "$ref": "./examples/Fields_CreateCascadeDeleteJob.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/harvest-data": {
+ "get": {
+ "tags": [
+ "HarvestData"
+ ],
+ "description": "Get a paginated list of harvest data resources for a given farmer and search criteria.\n\n\r###### Note: \n1. Users will get paginated response with each page containing a link to the next page. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "HarvestData_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "minTotalYield",
+ "description": "Harvest data with total yield greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTotalYield",
+ "description": "Harvest data with total yield lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgYield",
+ "description": "Harvest data with average yield greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgYield",
+ "description": "Harvest data with average yield lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minTotalWetMass",
+ "description": "Harvest data with total wet mass greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTotalWetMass",
+ "description": "Harvest data with total wet mass lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgWetMass",
+ "description": "Harvest data with average wet mass greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgWetMass",
+ "description": "Harvest data with average wet mass lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgMoisture",
+ "description": "Harvest data with average moisture greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgMoisture",
+ "description": "Harvest data with average moisture lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgSpeed",
+ "description": "Harvest data with average speed greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgSpeed",
+ "description": "Harvest data with average speed lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "sources",
+ "description": "Harvest data obtained from the given list of sources will be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "associatedBoundaryIds",
+ "description": "List of boundary Ids of the field/seasonal field on which the harvest operation was done.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "operationBoundaryIds",
+ "description": "List of the boundary Ids that were created using the geographical area on which the harvest operation was carried out.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minOperationStartDateTime",
+ "description": "Harvest operations that began at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationStartDateTime",
+ "description": "Harvest operations that began at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationEndDateTime",
+ "description": "Harvest operations that ended at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationEndDateTime",
+ "description": "Harvest operations that ended at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationModifiedDateTime",
+ "description": "Harvest operations that were modified (at source) at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationModifiedDateTime",
+ "description": "Harvest operations that were modified (at source) at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minArea",
+ "description": "Harvest operations carried over area greater than or equal to the given value is returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxArea",
+ "description": "Harvest operations carried over area lesser than or equal to the given value is returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of harvest operations to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of harvest operations to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Harvest data with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/HarvestDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "HarvestData_ListByFarmerId": {
+ "$ref": "./examples/HarvestData_ListByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/harvest-data": {
+ "get": {
+ "tags": [
+ "HarvestData"
+ ],
+ "description": "Get a paginated list of harvest data resources across all the farmers for a given search criteria.\n\n\r###### Note:\n1. This API does a serial search of the database for the given search criteria. If the farmer Id is available, it is strongly recommended to use **‘List by Farmer Id’** API as it is performant.\n2. Users will get paginated response with each page containing a link to the next page. Few pages may have **no items (zero results)**. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "HarvestData_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "minTotalYield",
+ "description": "Harvest data with total yield greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTotalYield",
+ "description": "Harvest data with total yield lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgYield",
+ "description": "Harvest data with average yield greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgYield",
+ "description": "Harvest data with average yield lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minTotalWetMass",
+ "description": "Harvest data with total wet mass greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTotalWetMass",
+ "description": "Harvest data with total wet mass lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgWetMass",
+ "description": "Harvest data with average wet mass greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgWetMass",
+ "description": "Harvest data with average wet mass lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgMoisture",
+ "description": "Harvest data with average moisture greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgMoisture",
+ "description": "Harvest data with average moisture lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgSpeed",
+ "description": "Harvest data with average speed greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgSpeed",
+ "description": "Harvest data with average speed lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "sources",
+ "description": "Harvest data obtained from the given list of sources will be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "associatedBoundaryIds",
+ "description": "List of boundary Ids of the field/seasonal field on which the harvest operation was done.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "operationBoundaryIds",
+ "description": "List of the boundary Ids that were created using the geographical area on which the harvest operation was carried out.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minOperationStartDateTime",
+ "description": "Harvest operations that began at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationStartDateTime",
+ "description": "Harvest operations that began at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationEndDateTime",
+ "description": "Harvest operations that ended at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationEndDateTime",
+ "description": "Harvest operations that ended at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationModifiedDateTime",
+ "description": "Harvest operations that were modified (at source) at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationModifiedDateTime",
+ "description": "Harvest operations that were modified (at source) at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minArea",
+ "description": "Harvest operations carried over area greater than or equal to the given value is returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxArea",
+ "description": "Harvest operations carried over area lesser than or equal to the given value is returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of harvest operations to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of harvest operations to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Harvest data with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/HarvestDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "HarvestData_List": {
+ "$ref": "./examples/HarvestData_List.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/harvest-data/{harvestDataId}": {
+ "get": {
+ "tags": [
+ "HarvestData"
+ ],
+ "description": "Get a specified harvest data resource for a given farmer.\n\n",
+ "operationId": "HarvestData_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "harvestDataId",
+ "description": "Id of the harvest data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/HarvestData"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "HarvestData_Get": {
+ "$ref": "./examples/HarvestData_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "HarvestData"
+ ],
+ "description": "Create or update harvest data resource for a given farmer.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/merge-patch+json'**.\n2. 'Id' of a resource can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of an ‘Id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "HarvestData_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "harvestDataId",
+ "description": "IDd of the harvest data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "harvestData",
+ "description": "Harvest data resource payload to Create or update.",
+ "schema": {
+ "$ref": "#/definitions/HarvestData"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/HarvestData"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/HarvestData"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "HarvestData_CreateOrUpdate": {
+ "$ref": "./examples/HarvestData_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "HarvestData"
+ ],
+ "description": "Delete a specified harvest data resource for a given farmer.\n\n",
+ "operationId": "HarvestData_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "harvestDataId",
+ "description": "Id of the harvest data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "HarvestData_Delete": {
+ "$ref": "./examples/HarvestData_Delete.json"
+ }
+ }
+ }
+ },
+ "/harvest-data/cascade-delete/{jobId}": {
+ "get": {
+ "tags": [
+ "HarvestData"
+ ],
+ "description": "Get details of a cascade delete job for harvest data resource.\n\n",
+ "operationId": "HarvestData_GetCascadeDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the harvest data cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "HarvestData_GetCascadeDeleteJobDetails": {
+ "$ref": "./examples/HarvestData_GetCascadeDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "HarvestData"
+ ],
+ "description": "Create cascade delete job for harvest data resource.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/json'**.\n2. ‘Job id’ can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of a ‘Job id’ is 2 characters and maximum length is 50 characters.\n\n",
+ "operationId": "HarvestData_CreateCascadeDeleteJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the harvest data cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "harvestDataId",
+ "description": "Id of the harvest data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "HarvestData_CreateCascadeDeleteJob": {
+ "$ref": "./examples/HarvestData_CreateCascadeDeleteJob.json"
+ }
+ }
+ }
+ },
+ "/image-processing/rasterize/{jobId}": {
+ "put": {
+ "tags": [
+ "ImageProcessing"
+ ],
+ "description": "Create a job which converts shape files into raster images.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/json'**.\n2. ‘Job id’ can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of a ‘Job id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "ImageProcessing_CreateRasterizeJob",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Unique Id of the image processing (rasterize) job. This Id must be unique for a given tenant.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "job",
+ "description": "Job parameters supplied by the user.",
+ "schema": {
+ "$ref": "#/definitions/ImageProcessingRasterizeJob"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ImageProcessingRasterizeJob"
+ }
+ },
+ "default": {
+ "description": "Error"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "ImageProcessing_CreateRasterizeJob": {
+ "$ref": "./examples/ImageProcessing_CreateRasterizeJob.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ImageProcessing"
+ ],
+ "description": "Get details of rasterize job. Rasterize job converts shape files into raster images.\n\n",
+ "operationId": "ImageProcessing_GetRasterizeJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the image processing (rasterize) job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ImageProcessingRasterizeJob"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ImageProcessing_GetRasterizeJob": {
+ "$ref": "./examples/ImageProcessing_GetRasterizeJob.json"
+ }
+ }
+ }
+ },
+ "/oauth/providers": {
+ "get": {
+ "tags": [
+ "OAuthProviders"
+ ],
+ "description": "Get a paginated list of OAuth provider resources for a given search criteria.\n\n\r###### Note: \n1. Users will get paginated response with each page containing a link to the next page. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "OAuthProviders_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of OAuth providers to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of OAuth providers to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "OAuth providers with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OAuthProviderListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OAuthProviders_List": {
+ "$ref": "./examples/OAuthProviders_List.json"
+ }
+ }
+ }
+ },
+ "/oauth/providers/{oauthProviderId}": {
+ "get": {
+ "tags": [
+ "OAuthProviders"
+ ],
+ "description": "Get a specified OAuth provider resource.\n\n",
+ "operationId": "OAuthProviders_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "oauthProviderId",
+ "description": "Id of the OAuth provider resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OAuthProvider"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OAuthProviders_Get": {
+ "$ref": "./examples/OAuthProviders_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "OAuthProviders"
+ ],
+ "description": "Create or update an OAuth provider resource.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/merge-patch+json'**.\n2. 'Id' of a resource can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of an ‘Id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "OAuthProviders_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "oauthProviderId",
+ "description": "Id of the OAuth provider resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "oauthProvider",
+ "description": "OauthProvider resource payload to Create or update.",
+ "schema": {
+ "$ref": "#/definitions/OAuthProvider"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OAuthProvider"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OAuthProvider"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OAuthProviders_CreateOrUpdate": {
+ "$ref": "./examples/OAuthProviders_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "OAuthProviders"
+ ],
+ "description": "Delete a specified OAuth provider resource.\n\n",
+ "operationId": "OAuthProviders_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "oauthProviderId",
+ "description": "Id of the OAuth provider resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OAuthProviders_Delete": {
+ "$ref": "./examples/OAuthProviders_Delete.json"
+ }
+ }
+ }
+ },
+ "/oauth/providers/cascade-delete/{jobId}": {
+ "get": {
+ "tags": [
+ "OAuthProviders"
+ ],
+ "description": "Get details of cascade delete job for an OAuth provider resource.\n\n",
+ "operationId": "OAuthProviders_GetCascadeDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the OAuth provider cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OAuthProviderCascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OAuthProviders_GetCascadeDeleteJobDetails": {
+ "$ref": "./examples/OAuthProviders_GetCascadeDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "OAuthProviders"
+ ],
+ "description": "Create cascade delete job for an OAuth provider resource.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/json'**.\n2. ‘Job id’ can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of a ‘Job id’ is 2 characters and maximum length is 50 characters.\n\n",
+ "operationId": "OAuthProviders_CreateCascadeDeleteJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the OAuth provider cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "oauthProviderId",
+ "description": "Id of the OAuth provider resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OAuthProviderCascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "OAuthProviders_CreateCascadeDeleteJob": {
+ "$ref": "./examples/OAuthProviders_CreateCascadeDeleteJob.json"
+ }
+ }
+ }
+ },
+ "/oauth/tokens": {
+ "get": {
+ "tags": [
+ "OAuthTokens"
+ ],
+ "description": "Get a list of OAuthToken documents for a given search criteria.\n\n",
+ "operationId": "OAuthTokens_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "authProviderIds",
+ "description": "List of Ids of OAuth providers to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "farmerIds",
+ "description": "List of Ids of associated farmers.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "isValid",
+ "description": "If set, only valid (non expired) OAuth tokens are returned.",
+ "type": "boolean"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OAuthTokenListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OAuthTokens_List": {
+ "$ref": "./examples/OAuthTokens_List.json"
+ }
+ }
+ }
+ },
+ "/oauth/tokens/:connect": {
+ "post": {
+ "tags": [
+ "OAuthTokens"
+ ],
+ "description": "Get connection link needed in the OAuth flow.\n\n",
+ "operationId": "OAuthTokens_GetOAuthConnectionLink",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "connectRequest",
+ "description": "OAuth Connect Request.",
+ "schema": {
+ "$ref": "#/definitions/OAuthConnectRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OAuthTokens_GetOAuthConnectionLink": {
+ "$ref": "./examples/OAuthTokens_GetOAuthConnectionLink.json"
+ }
+ }
+ }
+ },
+ "/oauth/tokens/remove/{jobId}": {
+ "get": {
+ "tags": [
+ "OAuthTokens"
+ ],
+ "description": "Get details of OAuth token remove job.\n\n",
+ "operationId": "OAuthTokens_GetCascadeDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the OAuth token removal job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OAuthTokens_GetCascadeDeleteJobDetails": {
+ "$ref": "./examples/OAuthTokens_GetCascadeDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "OAuthTokens"
+ ],
+ "description": "Create job to remove OAuth token.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/json'**.\n2. ‘Job id’ can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of a ‘Job id’ is 2 characters and maximum length is 50 characters.\n\n",
+ "operationId": "OAuthTokens_CreateCascadeDeleteJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the OAuth token removal job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "oauthProviderId",
+ "description": "Id of the OAuth provider resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "OAuthTokens_CreateCascadeDeleteJob": {
+ "$ref": "./examples/OAuthTokens_CreateCascadeDeleteJob.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/planting-data": {
+ "get": {
+ "tags": [
+ "PlantingData"
+ ],
+ "description": "Get a paginated list of planting data resources for a given farm and search criteria.\n\n\r###### Note: \n1. Users will get paginated response with each page containing a link to the next page. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "PlantingData_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "minAvgPlantingRate",
+ "description": "Planting data with average planting rate greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgPlantingRate",
+ "description": "Planting data with average planting rate lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minTotalMaterial",
+ "description": "Planting data with total material greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTotalMaterial",
+ "description": "Planting data with total material lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgMaterial",
+ "description": "Planting data with average material greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgMaterial",
+ "description": "Planting data with total material lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "sources",
+ "description": "Planting data obtained from the given list of sources will be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "associatedBoundaryIds",
+ "description": "List of boundary Ids of the field/seasonal field on which the planting operation was done.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "operationBoundaryIds",
+ "description": "List of the boundary Ids that were created using the geographical area on which the planting operation was carried out.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minOperationStartDateTime",
+ "description": "Planting operations that began at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationStartDateTime",
+ "description": "Planting operations that began at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationEndDateTime",
+ "description": "Planting operations that ended at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationEndDateTime",
+ "description": "Planting operations that ended at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationModifiedDateTime",
+ "description": "Planting operations that were modified (at source) at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationModifiedDateTime",
+ "description": "Planting operations that were modified (at source) at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minArea",
+ "description": "Planting operations carried over area greater than or equal to the given value is returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxArea",
+ "description": "Planting operations carried over area lesser than or equal to the given value is returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of planting operations to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of planting operations to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Planting data with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PlantingDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "PlantingData_ListByFarmerId": {
+ "$ref": "./examples/PlantingData_ListByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/planting-data": {
+ "get": {
+ "tags": [
+ "PlantingData"
+ ],
+ "description": "Get a paginated list of planting data resources across all the farmers for a given search criteria.\n\n\r###### Note:\n1. This API does a serial search of the database for the given search criteria. If the farmer Id is available, it is strongly recommended to use **‘List by Farmer Id’** API as it is performant.\n2. Users will get paginated response with each page containing a link to the next page. Few pages may have **no items (zero results)**. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "PlantingData_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "minAvgPlantingRate",
+ "description": "Planting data with average planting rate greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgPlantingRate",
+ "description": "Planting data with average planting rate lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minTotalMaterial",
+ "description": "Planting data with total material greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTotalMaterial",
+ "description": "Planting data with total material lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minAvgMaterial",
+ "description": "Planting data with average material greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgMaterial",
+ "description": "Planting data with average material lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "sources",
+ "description": "Planting data obtained from the given list of sources will be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "associatedBoundaryIds",
+ "description": "List of boundary Ids of the field/seasonal field on which the planting operation was done.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "operationBoundaryIds",
+ "description": "List of the boundary Ids that were created using the geographical area on which the planting operation was carried out.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minOperationStartDateTime",
+ "description": "Planting operations that began at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationStartDateTime",
+ "description": "Planting operations that began at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationEndDateTime",
+ "description": "Planting operations that ended at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationEndDateTime",
+ "description": "Planting operations that ended at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationModifiedDateTime",
+ "description": "Planting operations that were modified (at source) at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationModifiedDateTime",
+ "description": "Planting operations that were modified (at source) at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minArea",
+ "description": "Planting operations carried over area greater than or equal to the given value is returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxArea",
+ "description": "Planting operations carried over area lesser than or equal to the given value is returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of planting operations to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of planting operations to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Planting data with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PlantingDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "PlantingData_List": {
+ "$ref": "./examples/PlantingData_List.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/planting-data/{plantingDataId}": {
+ "get": {
+ "tags": [
+ "PlantingData"
+ ],
+ "description": "Get a specified planting data resource for a given farmer.\n\n",
+ "operationId": "PlantingData_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "plantingDataId",
+ "description": "Id of the planting data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PlantingData"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PlantingData_Get": {
+ "$ref": "./examples/PlantingData_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "PlantingData"
+ ],
+ "description": "Create or update a planting data resource for a given farmer.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/merge-patch+json'**.\n2. 'Id' of a resource can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of an ‘Id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "PlantingData_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "plantingDataId",
+ "description": "Id of the planting data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "plantingData",
+ "description": "Planting data resource payload to Create or update.",
+ "schema": {
+ "$ref": "#/definitions/PlantingData"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PlantingData"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PlantingData"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PlantingData_CreateOrUpdate": {
+ "$ref": "./examples/PlantingData_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PlantingData"
+ ],
+ "description": "Delete a specified planting data resource under a particular farmer.\n\n",
+ "operationId": "PlantingData_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "plantingDataId",
+ "description": "Id of the planting data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PlantingData_Delete": {
+ "$ref": "./examples/PlantingData_Delete.json"
+ }
+ }
+ }
+ },
+ "/planting-data/cascade-delete/{jobId}": {
+ "get": {
+ "tags": [
+ "PlantingData"
+ ],
+ "description": "Get details of a cascade delete job for planting data resource.\n\n",
+ "operationId": "PlantingData_GetCascadeDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the planting data cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PlantingData_GetCascadeDeleteJobDetails": {
+ "$ref": "./examples/PlantingData_GetCascadeDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PlantingData"
+ ],
+ "description": "Create cascade delete job for planting data resource.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/json'**.\n2. ‘Job id’ can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of a ‘Job id’ is 2 characters and maximum length is 50 characters.\n\n",
+ "operationId": "PlantingData_CreateCascadeDeleteJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the planting data cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "plantingDataId",
+ "description": "Id of the planting data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "PlantingData_CreateCascadeDeleteJob": {
+ "$ref": "./examples/PlantingData_CreateCascadeDeleteJob.json"
+ }
+ }
+ }
+ },
+ "/scenes": {
+ "get": {
+ "tags": [
+ "Scenes"
+ ],
+ "description": "Get a paginated list of scene resources for a given search criteria.\n\n\r###### Note: \n1. Users will get paginated response with each page containing a link to the next page. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n2. This API will retrieve scenes present in the FarmBeats datastore and does not ingest new data. Example: a user has ingested satellite data from 1st of Jan 2019 to 30th of June 2019. However, using the current API, the user has asked for data from 1st of Jan 2019 to 31st of December 2019. In such a case, only data for the first 6 months is returned to the user.\n\n",
+ "operationId": "Scenes_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "provider",
+ "description": "Name of the data provider for the scene. For satellite imagery, this refers to the name of the satellite data provider.",
+ "required": true,
+ "type": "string",
+ "default": "Microsoft"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "boundaryId",
+ "description": "Id of the associated boundary.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "source",
+ "description": "Source from where the scene was procured/generated. For satellite imagery, this refers to the name of the satellite constellation.",
+ "type": "string",
+ "default": "Sentinel_2_L2A"
+ },
+ {
+ "in": "query",
+ "name": "startDateTime",
+ "description": "Scenes that were captured/made available (at source) at or after this UTC Date-time is returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "endDateTime",
+ "description": "Scenes that were captured/made available (at source) at or before this UTC Date-time is returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCloudCoveragePercentage",
+ "description": "Scenes with cloud cover less than or equal to the given value are returned. Range [0 to 100.0].",
+ "type": "number",
+ "format": "double",
+ "default": 100,
+ "maximum": 100,
+ "minimum": 0
+ },
+ {
+ "in": "query",
+ "name": "maxDarkPixelCoveragePercentage",
+ "description": "Scenes with dark pixel cover less than or equal to the given value are returned. Range [0 to 100.0].",
+ "type": "number",
+ "format": "double",
+ "default": 100,
+ "maximum": 100,
+ "minimum": 0
+ },
+ {
+ "in": "query",
+ "name": "imageNames",
+ "description": "List of names of images to be fetched.\r\nFor Sentinel-2, allowed values are: 'B01', 'B02', 'B03', 'B04', 'B05', 'B06', 'B07', 'B08', 'B8A', 'B09', 'B11', 'B12', 'AOT', 'SCL', 'SNW', 'CLD', 'NDVI', 'NDWI', 'EVI', 'LAI', 'LAIMask', 'CLP', 'CLM', 'dataMask', sunAzimuthAngles, sunZenithAngles, viewAzimuthMean and viewZenithMean.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "imageResolutions",
+ "description": "List of image resolutions in meters. For Sentinel-2, available values are: 10, 20, 60.",
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "imageFormats",
+ "description": "Format in which the scenes are to be returned. Available value: TIF.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SceneListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Scenes_List": {
+ "$ref": "./examples/Scenes_List.json"
+ }
+ }
+ }
+ },
+ "/scenes/satellite/ingest-data/{jobId}": {
+ "put": {
+ "tags": [
+ "Scenes"
+ ],
+ "description": "Create a satellite data ingestion job.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/json'**.\n2. ‘Job id’ can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of a ‘Job id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "Scenes_CreateSatelliteDataIngestionJob",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the satellite data ingestion job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "job",
+ "description": "Job parameters supplied by the user.",
+ "schema": {
+ "$ref": "#/definitions/SatelliteDataIngestionJob"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SatelliteDataIngestionJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Scenes_CreateSatelliteDataIngestionJob": {
+ "$ref": "./examples/Scenes_CreateSatelliteDataIngestionJob.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Scenes"
+ ],
+ "description": "Get details of a satellite data ingestion job.\n\n",
+ "operationId": "Scenes_GetSatelliteDataIngestionJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the satellite data ingestion job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SatelliteDataIngestionJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Scenes_GetSatelliteDataIngestionJobDetails": {
+ "$ref": "./examples/Scenes_GetSatelliteDataIngestionJobDetails.json"
+ }
+ }
+ }
+ },
+ "/scenes/downloadFiles": {
+ "get": {
+ "tags": [
+ "Scenes"
+ ],
+ "description": "Return scenes as a file stream for a given input filePath.\n\n",
+ "operationId": "Scenes_Download",
+ "produces": [
+ "application/octet-stream",
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "filePath",
+ "description": "Relative path where the scene is stored in cloud storage.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "format": "binary",
+ "type": "file"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Scenes_Download": {
+ "$ref": "./examples/Scenes_Download.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/seasonal-fields": {
+ "get": {
+ "tags": [
+ "SeasonalFields"
+ ],
+ "description": "Get a paginated list of seasonal field resources for a given farmer and search criteria.\n\n\r###### Note: \n1. Users will get paginated response with each page containing a link to the next page. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "SeasonalFields_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmIds",
+ "description": "Seasonal fields associated with the given farms are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "fieldIds",
+ "description": "Seasonal fields associated with the given fields are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "seasonIds",
+ "description": "Seasonal fields associated with the given seasons are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "cropVarietyIds",
+ "description": "Seasonal fields associated with at least one of the given crop varieties are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "cropIds",
+ "description": "Seasonal fields associated with at least one of the given crops are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minAvgYieldValue",
+ "description": "Seasonal fields with average yield greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgYieldValue",
+ "description": "Seasonal fields with average yield lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "avgYieldUnit",
+ "description": "Unit of the average yield.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "minAvgSeedPopulationValue",
+ "description": "Seasonal fields with average seed population greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgSeedPopulationValue",
+ "description": "Seasonal fields with average seed population lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "avgSeedPopulationUnit",
+ "description": "Unit of average seed population.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "minPlantingDateTime",
+ "description": "Seasonal fields with planting date at or after the value specified will be returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxPlantingDateTime",
+ "description": "Seasonal fields with planting date at or before the value specified will be returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of seasonal fields to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of seasonal fields to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Seasonal fields with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SeasonalFieldListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "SeasonalFields_ListByFarmerId": {
+ "$ref": "./examples/SeasonalFields_ListByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/seasonal-fields": {
+ "get": {
+ "tags": [
+ "SeasonalFields"
+ ],
+ "description": "Get a paginated list of seasonal field resources across all the farmers for a given search criteria.\n\n\r###### Note:\n1. This API does a serial search of the database for the given search criteria. If the farmer Id is available, it is strongly recommended to use **‘List by Farmer Id’** API as it is performant.\n2. Users will get paginated response with each page containing a link to the next page. Few pages may have **no items (zero results)**. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "SeasonalFields_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "farmIds",
+ "description": "Seasonal fields associated with the given farms are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "fieldIds",
+ "description": "Seasonal fields associated with the given fields are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "seasonIds",
+ "description": "Seasonal fields associated with the given seasons are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "cropVarietyIds",
+ "description": "Seasonal fields associated with at least one of the given crop varieties are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "cropIds",
+ "description": "Seasonal fields associated with at least one of the given crops are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minAvgYieldValue",
+ "description": "Seasonal fields with average yield greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgYieldValue",
+ "description": "Seasonal fields with average yield lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "avgYieldUnit",
+ "description": "Unit of the average yield.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "minAvgSeedPopulationValue",
+ "description": "Seasonal fields with average seed population greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxAvgSeedPopulationValue",
+ "description": "Seasonal fields with average seed population lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "avgSeedPopulationUnit",
+ "description": "Unit of average seed population.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "minPlantingDateTime",
+ "description": "Seasonal fields with planting date at or after the value specified will be returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxPlantingDateTime",
+ "description": "Seasonal fields with planting date at or before the value specified will be returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of seasonal fields to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of seasonal fields to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Seasonal fields with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SeasonalFieldListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "SeasonalFields_List": {
+ "$ref": "./examples/SeasonalFields_List.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/seasonal-fields/{seasonalFieldId}": {
+ "get": {
+ "tags": [
+ "SeasonalFields"
+ ],
+ "description": "Get a specified seasonal field resource for a given farmer.\n\n",
+ "operationId": "SeasonalFields_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "seasonalFieldId",
+ "description": "Id of the seasonal field.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SeasonalField"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SeasonalFields_Get": {
+ "$ref": "./examples/SeasonalFields_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SeasonalFields"
+ ],
+ "description": "Create or update a seasonal field resource for a given farmer.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/merge-patch+json'**.\n2. 'Id' of a resource can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of an ‘Id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "SeasonalFields_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "seasonalFieldId",
+ "description": "Unique Id of the seasonal field. This Id is unique for a given farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "seasonalField",
+ "description": "Seasonal field resource payload to Create or update.",
+ "schema": {
+ "$ref": "#/definitions/SeasonalField"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SeasonalField"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SeasonalField"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SeasonalFields_CreateOrUpdate": {
+ "$ref": "./examples/SeasonalFields_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SeasonalFields"
+ ],
+ "description": "Delete a specified seasonal field resource for a given farmer. It can only be deleted if it has no linked attachments or boundaries.\n\n",
+ "operationId": "SeasonalFields_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "seasonalFieldId",
+ "description": "Id of the seasonal field to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SeasonalFields_Delete": {
+ "$ref": "./examples/SeasonalFields_Delete.json"
+ }
+ }
+ }
+ },
+ "/seasonal-fields/cascade-delete/{jobId}": {
+ "get": {
+ "tags": [
+ "SeasonalFields"
+ ],
+ "description": "Get details of cascade delete job for a specified seasonal field.\n\n",
+ "operationId": "SeasonalFields_GetCascadeDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the seasonal field cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SeasonalFields_GetCascadeDeleteJobDetails": {
+ "$ref": "./examples/SeasonalFields_GetCascadeDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SeasonalFields"
+ ],
+ "description": "Create a cascade delete job for a specified seasonal field.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/json'**.\n2. ‘Job id’ can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of a ‘Job id’ is 2 characters and maximum length is 50 characters.\n\n",
+ "operationId": "SeasonalFields_CreateCascadeDeleteJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the seasonal field cascade delete job. This Id is unique for a given tenant.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "seasonalFieldId",
+ "description": "Id of the seasonal field to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "SeasonalFields_CreateCascadeDeleteJob": {
+ "$ref": "./examples/SeasonalFields_CreateCascadeDeleteJob.json"
+ }
+ }
+ }
+ },
+ "/seasons": {
+ "get": {
+ "tags": [
+ "Seasons"
+ ],
+ "description": "Get a paginated list of season resources.\n\n\r###### Note: \n1. Users will get paginated response with each page containing a link to the next page. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "Seasons_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "minStartDateTime",
+ "description": "Seasons which start at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxStartDateTime",
+ "description": "Seasons which start at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minEndDateTime",
+ "description": "Seasons which end at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxEndDateTime",
+ "description": "Seasons which end at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "years",
+ "description": "Seasons with given list of years are returned.",
+ "type": "array",
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of seasons to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of seasons to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Seasons with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/SeasonListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Seasons_List": {
+ "$ref": "./examples/Seasons_List.json"
+ }
+ }
+ }
+ },
+ "/seasons/{seasonId}": {
+ "get": {
+ "tags": [
+ "Seasons"
+ ],
+ "description": "Get a specified season resource.\n\n",
+ "operationId": "Seasons_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "seasonId",
+ "description": "Id of the season.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Season"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Seasons_Get": {
+ "$ref": "./examples/Seasons_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Seasons"
+ ],
+ "description": "Create or update a season resource.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/merge-patch+json'**.\n2. 'Id' of a resource can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of an ‘Id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "Seasons_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "seasonId",
+ "description": "Unique Id of the season. This Id is unique for a given tenant.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "season",
+ "description": "Season resource payload to Create or update.",
+ "schema": {
+ "$ref": "#/definitions/Season"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Season"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Season"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Seasons_CreateOrUpdate": {
+ "$ref": "./examples/Seasons_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Seasons"
+ ],
+ "description": "Delete a specified season resource.\n\n",
+ "operationId": "Seasons_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "seasonId",
+ "description": "Id of the season.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Seasons_Delete": {
+ "$ref": "./examples/Seasons_Delete.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/tillage-data": {
+ "get": {
+ "tags": [
+ "TillageData"
+ ],
+ "description": "Get a paginated list of tillage data resources for a given farmer and search criteria.\n\n\r###### Note: \n1. Users will get paginated response with each page containing a link to the next page. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "TillageData_ListByFarmerId",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "minTillageDepth",
+ "description": "Tillage data with tillage depth greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTillageDepth",
+ "description": "Tillage data with tillage depth lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minTillagePressure",
+ "description": "Tillage data with tillage pressure greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTillagePressure",
+ "description": "Tillage data with tillage pressure lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "sources",
+ "description": "Tillage data obtained from the given list of sources will be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "associatedBoundaryIds",
+ "description": "List of boundary Ids of the field/seasonal field on which the tillage operation was done.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "operationBoundaryIds",
+ "description": "List of the boundary Ids that were created using the geographical area on which the tillage operation was carried out.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minOperationStartDateTime",
+ "description": "Tillage operations that began at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationStartDateTime",
+ "description": "Tillage operations that began at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationEndDateTime",
+ "description": "Tillage operations that ended at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationEndDateTime",
+ "description": "Tillage operations that ended at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationModifiedDateTime",
+ "description": "Tillage operations that were modified (at source) at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationModifiedDateTime",
+ "description": "Tillage operations that were modified (at source) at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minArea",
+ "description": "Tillage operations carried over area greater than or equal to the given value is returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxArea",
+ "description": "Tillage operations carried over area lesser than or equal to the given value is returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of tillage operations to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of tillage operations to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Tillage data with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/TillageDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "TillageData_ListByFarmerId": {
+ "$ref": "./examples/TillageData_ListByFarmerId.json"
+ }
+ }
+ }
+ },
+ "/tillage-data": {
+ "get": {
+ "tags": [
+ "TillageData"
+ ],
+ "description": "Get a paginated list of tillage data resources across all the farmers for a given search criteria.\n\n\r###### Note:\n1. This API does a serial search of the database for the given search criteria. If the farmer Id is available, it is strongly recommended to use **‘List by Farmer Id’** API as it is performant.\n2. Users will get paginated response with each page containing a link to the next page. Few pages may have **no items (zero results)**. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n\n",
+ "operationId": "TillageData_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "minTillageDepth",
+ "description": "Tillage data with tillage depth greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTillageDepth",
+ "description": "Tillage data with tillage depth lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "minTillagePressure",
+ "description": "Tillage data with tillage pressure greater than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxTillagePressure",
+ "description": "Tillage data with tillage pressure lesser than or equal to the value specified will be returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "sources",
+ "description": "Tillage data obtained from the given list of sources will be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "associatedBoundaryIds",
+ "description": "List of boundary Ids of the field/seasonal field on which the tillage operation was done.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "operationBoundaryIds",
+ "description": "List of the boundary Ids that were created using the geographical area on which the tillage operation was carried out.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minOperationStartDateTime",
+ "description": "Tillage operations that began at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationStartDateTime",
+ "description": "Tillage operations that began at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationEndDateTime",
+ "description": "Tillage operations that ended at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationEndDateTime",
+ "description": "Tillage operations that ended at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minOperationModifiedDateTime",
+ "description": "Tillage operations that were modified (at source) at or after the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxOperationModifiedDateTime",
+ "description": "Tillage operations that were modified (at source) at or before the given UTC date-time is returned.",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minArea",
+ "description": "Tillage operations carried over area greater than or equal to the given value is returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "maxArea",
+ "description": "Tillage operations carried over area lesser than or equal to the given value is returned.",
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "List of Ids of tillage operations to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "names",
+ "description": "List of names of tillage operations to be returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "propertyFilters",
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Tillage data with only the given statuses are returned.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "minCreatedDateTime",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxCreatedDateTime",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "minLastModifiedDateTime",
+ "description": "Resources last modified at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "maxLastModifiedDateTime",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/TillageDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "TillageData_List": {
+ "$ref": "./examples/TillageData_List.json"
+ }
+ }
+ }
+ },
+ "/farmers/{farmerId}/tillage-data/{tillageDataId}": {
+ "get": {
+ "tags": [
+ "TillageData"
+ ],
+ "description": "Get a specified tillage data resource for a given farmer.\n\n",
+ "operationId": "TillageData_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "tillageDataId",
+ "description": "Id of the tillage data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/TillageData"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TillageData_Get": {
+ "$ref": "./examples/TillageData_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "TillageData"
+ ],
+ "description": "Create or update a tillage data resource for a given farmer.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/merge-patch+json'**.\n2. 'Id' of a resource can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of an ‘Id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "TillageData_CreateOrUpdate",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "tillageDataId",
+ "description": "Id of the tillage data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "tillageData",
+ "description": "Tillage data resource payload to Create or update.",
+ "schema": {
+ "$ref": "#/definitions/TillageData"
+ }
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/TillageData"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/TillageData"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TillageData_CreateOrUpdate": {
+ "$ref": "./examples/TillageData_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "TillageData"
+ ],
+ "description": "Delete a specified tillage data resource for a given farmer.\n\n",
+ "operationId": "TillageData_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "path",
+ "name": "tillageDataId",
+ "description": "Id of the tillage data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TillageData_Delete": {
+ "$ref": "./examples/TillageData_Delete.json"
+ }
+ }
+ }
+ },
+ "/tillage-data/cascade-delete/{jobId}": {
+ "get": {
+ "tags": [
+ "TillageData"
+ ],
+ "description": "Get details of a cascade delete job for tillage data resource.\n\n",
+ "operationId": "TillageData_GetCascadeDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the tillage data cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TillageData_GetCascadeDeleteJobDetails": {
+ "$ref": "./examples/TillageData_GetCascadeDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "TillageData"
+ ],
+ "description": "Create cascade delete job for tillage data resource.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/json'**.\n2. ‘Job id’ can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of a ‘Job id’ is 2 characters and maximum length is 50 characters.\n\n",
+ "operationId": "TillageData_CreateCascadeDeleteJob",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the tillage data cascade delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "tillageDataId",
+ "description": "Id of the tillage data resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CascadeDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "TillageData_CreateCascadeDeleteJob": {
+ "$ref": "./examples/TillageData_CreateCascadeDeleteJob.json"
+ }
+ }
+ }
+ },
+ "/weather": {
+ "get": {
+ "tags": [
+ "Weather"
+ ],
+ "description": "Get a paginated list of weather data resources for a given search criteria.\n\n\r###### Note: \n1. Users will get paginated response with each page containing a link to the next page. Users are expected to iterate over all the pages using ‘nextLink’. The search comes to an end when ‘nextLink’ is null.\n2. This API will retrieve weather data present in the FarmBeats datastore and does not ingest new data. Example: a user has ingested historical weather data from 1st of Jan 2019 to 30th of June 2019. However, using the current API, the user has asked for historical data from 1st of Jan 2019 to 31st of December 2019. In such a case, only data for the first 6 months is returned to the user.\n\n",
+ "operationId": "Weather_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "farmerId",
+ "description": "Id of the associated farmer.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "boundaryId",
+ "description": "Id of the associated boundary.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "extensionId",
+ "description": "Id of the weather extension. This signifies the source from where the weather data is fetched (eg. DTN.ClearAg).",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z]{3,50}[.][a-zA-Z]{3,100}$"
+ },
+ {
+ "in": "query",
+ "name": "weatherDataType",
+ "description": "Type of weather data (forecast/historical).",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 0
+ },
+ {
+ "in": "query",
+ "name": "granularity",
+ "description": "Granularity of weather data (daily/hourly).",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 0
+ },
+ {
+ "in": "query",
+ "name": "startDateTime",
+ "description": "Weather data at or after the given UTC Date-time will be returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "endDateTime",
+ "description": "Weather data at or before the given UTC Date-time will be returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items to be returned in a single page.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/WeatherDataListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Weather_List": {
+ "$ref": "./examples/Weather_List.json"
+ }
+ }
+ }
+ },
+ "/weather/ingest-data/{jobId}": {
+ "get": {
+ "tags": [
+ "Weather"
+ ],
+ "description": "Get details of a weather data ingestion job.\n\n",
+ "operationId": "Weather_GetDataIngestionJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the weather data ingestion job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/WeatherDataIngestionJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Weather_GetDataIngestionJobDetails": {
+ "$ref": "./examples/Weather_GetDataIngestionJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Weather"
+ ],
+ "description": "Create a weather data ingestion job.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/json'**.\n2. ‘Job id’ can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of a ‘Job id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "Weather_CreateDataIngestionJob",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the weather data ingestion job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "job",
+ "description": "Job parameters supplied by the user.",
+ "schema": {
+ "$ref": "#/definitions/WeatherDataIngestionJob"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/WeatherDataIngestionJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Weather_CreateDataIngestionJob": {
+ "$ref": "./examples/Weather_CreateDataIngestionJob.json"
+ }
+ }
+ }
+ },
+ "/weather/delete-data/{jobId}": {
+ "get": {
+ "tags": [
+ "Weather"
+ ],
+ "description": "Get details of a weather data delete job.\n\n",
+ "operationId": "Weather_GetDataDeleteJobDetails",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the weather data delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/WeatherDataDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Weather_GetDataDeleteJobDetails": {
+ "$ref": "./examples/Weather_GetDataDeleteJobDetails.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Weather"
+ ],
+ "description": "Create a weather data delete job.\n\n\r###### Note:\n\r1. The **‘contentType’** in the request header should be **'application/json'**.\n2. ‘Job id’ can only contain alphanumeric characters, '-', '_', '~' or '.', and must begin and end with an alphanumeric character. Minimum length of a ‘Job id’ is 2 characters and maximum length is 50 characters.\n3. 'Key' and 'value' in 'Properties' can have a maximum of 50 and 150 characters respectively.\n\n",
+ "operationId": "Weather_CreateDataDeleteJob",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "description": "Id of the weather data delete job.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "api-version",
+ "description": "The requested API version.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "job",
+ "description": "Job parameters supplied by the user.",
+ "schema": {
+ "$ref": "#/definitions/WeatherDataDeleteJob"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/WeatherDataDeleteJob"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Weather_CreateDataDeleteJob": {
+ "$ref": "./examples/Weather_CreateDataDeleteJob.json"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "The endpoint of your FarmBeats resource (protocol and hostname, for example: https://{resourceName}.farmbeats.azure.net).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ },
+ "definitions": {
+ "Measure": {
+ "description": "Schema for storing measurement reading and unit.",
+ "type": "object",
+ "properties": {
+ "unit": {
+ "description": "Data unit.",
+ "maxLength": 50,
+ "minLength": 1,
+ "type": "string"
+ },
+ "value": {
+ "format": "double",
+ "description": "Data value.",
+ "type": "number"
+ }
+ }
+ },
+ "ApplicationProductDetail": {
+ "description": "Schema of a product used during application.",
+ "type": "object",
+ "properties": {
+ "productName": {
+ "description": "Name of a product applied.",
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "isCarrier": {
+ "description": "Indicates if the product is a carrier for a tank mix.",
+ "default": false,
+ "type": "boolean"
+ },
+ "avgMaterial": {
+ "$ref": "#/definitions/Measure"
+ },
+ "totalMaterial": {
+ "$ref": "#/definitions/Measure"
+ }
+ }
+ },
+ "ApplicationData": {
+ "description": "Schema of application data resource.",
+ "type": "object",
+ "properties": {
+ "applicationProductDetails": {
+ "description": "Application product details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationProductDetail"
+ }
+ },
+ "avgMaterial": {
+ "$ref": "#/definitions/Measure"
+ },
+ "totalMaterial": {
+ "$ref": "#/definitions/Measure"
+ },
+ "area": {
+ "$ref": "#/definitions/Measure"
+ },
+ "source": {
+ "description": "Represents the source from which the application data was obtained.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "operationModifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC date-time at which the operation data was modified at the source (format: yyyy-MM-ddTHH:mm:ssZ). This will be specified by the source.",
+ "type": "string"
+ },
+ "operationStartDateTime": {
+ "format": "date-time",
+ "description": "UTC date-time at which the operation started (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "operationEndDateTime": {
+ "format": "date-time",
+ "description": "UTC date-time at which the operation ended (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "attachmentsLink": {
+ "description": "Link to 'Attachments API' that can be used to find shapefiles, raster files or any other attachments associated with this operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "associatedBoundaryId": {
+ "description": "Id of the boundary of the field/seasonal field on which the application operation was done.",
+ "type": "string"
+ },
+ "operationBoundaryId": {
+ "description": "Id of the boundary that is created using the geographical area on which the application operation was carried out.",
+ "type": "string"
+ },
+ "farmerId": {
+ "description": "Id of the associated farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Unique Id of the operation (application). This Id is unique for a given farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "User determined status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was last modified (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the application operation.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the application operation.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "ApplicationDataListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationData"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "InnerError": {
+ "description": "Inner error containing list of errors.\r\nInnerError reference document.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Specific error code than was provided by the containing error.",
+ "type": "string"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError"
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "Error": {
+ "description": "An error from Azure FarmBeats service.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Server-defined set of error codes.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Human-readable representation of the error.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Target of the error.",
+ "type": "string"
+ },
+ "details": {
+ "description": "Array of details about specific errors that led to this reported error.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "An error response from Azure AgPlatform service.\r\nErrorResponse reference document..",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "traceId": {
+ "description": "Unique trace Id.",
+ "type": "string"
+ }
+ }
+ },
+ "CascadeDeleteJob": {
+ "description": "Schema of cascade delete job.",
+ "required": [
+ "farmerId",
+ "resourceId",
+ "resourceType"
+ ],
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Farmer Id.",
+ "type": "string"
+ },
+ "resourceId": {
+ "description": "The id of the resource which is to be deleted (along with the subtree & associated data).",
+ "type": "string"
+ },
+ "resourceType": {
+ "description": "Signifies the type of the resource that is being deleted (along with the subtree & associated data).",
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique Id of the cascade delete job. This Id is unique for a given tenant.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
+ "enum": [
+ "Waiting",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Cancelled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": true
+ }
+ },
+ "durationInSeconds": {
+ "format": "double",
+ "description": "Processing duration of the job. Can be calculated as min(current time, job succeeded/failed/cancelled time) - job execution start time. This does not include the time spent waiting in the queue for the job to be picked up for processing.",
+ "type": "number",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Brief description of the result of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the job was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastActionDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the job was last acted upon (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the processing of the job started (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the processing of the job ended (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Attachment": {
+ "description": "Schema of attachment resource.",
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Id of the associated farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceId": {
+ "description": "This is the Id of the resource to which the attachment belongs. Ids of following entities are valid: Farmer, Farm, Field, Seasonal field, Boundary, Application data, Harvest data, Tillage data and Planting data.",
+ "type": "string"
+ },
+ "resourceType": {
+ "description": "Indicates the type of resource to which this attachment belongs. Valid values are Farmer, Farm, Field, SeasonalField, Boundary, ApplicationData, HarvestData, TillageDat and PlantingData.",
+ "type": "string"
+ },
+ "originalFileName": {
+ "description": "Original file name of the attachment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Unique Id of the attachment. This Id is unique for a given farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "User determined status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was last modified (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the attachment.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the attachment.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "eTag": {
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AttachmentListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Attachment"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "GeoJsonObjectType": {
+ "description": "GeoJSON object type.",
+ "enum": [
+ "Point",
+ "Polygon",
+ "MultiPolygon"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "GeoJsonObjectType",
+ "modelAsString": true
+ }
+ },
+ "GeoJsonObject": {
+ "description": "GeoJSON abstract class.",
+ "required": [
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/GeoJsonObjectType"
+ }
+ },
+ "discriminator": "type"
+ },
+ "Boundary": {
+ "description": "Schema of boundary resource.",
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Id of the associated farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "parentId": {
+ "description": "If the boundary is associated with a field or a seasonal field then the parent id refers to the id of the field/seasonal field.",
+ "type": "string"
+ },
+ "geometry": {
+ "$ref": "#/definitions/GeoJsonObject"
+ },
+ "isPrimary": {
+ "description": "Indicates if the boundary is a primary boundary for the associated parent (if any).",
+ "type": "boolean"
+ },
+ "acreage": {
+ "format": "double",
+ "description": "Area of the boundary in acres.",
+ "type": "number",
+ "readOnly": true
+ },
+ "parentType": {
+ "description": "Indicates if the parent is a field or a seasonal field. Permissible values are 'Field' and 'SeasonalField'.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Unique Id of the boundary. This Id is unique for a given farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "User determined status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was last modified (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the boundary.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the boundary.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ }
+ }
+ },
+ "example": {
+ "name": "string",
+ "description": "string",
+ "parentId": "string",
+ "isPrimary": false,
+ "geometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ],
+ [
+ 73.70448589324951,
+ 20.542411534243367
+ ],
+ [
+ 73.70877742767334,
+ 20.541688176010233
+ ],
+ [
+ 73.71023654937744,
+ 20.545083911372505
+ ],
+ [
+ 73.70663166046143,
+ 20.546992723579137
+ ],
+ [
+ 73.70457172393799,
+ 20.545385304358106
+ ]
+ ]
+ ]
+ }
+ }
+ },
+ "BoundaryListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Boundary"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "SearchBoundaryQuery": {
+ "description": "SearchAllBoundaries and SearchBoundaries parameters.",
+ "type": "object",
+ "properties": {
+ "ids": {
+ "description": "List of boundary Ids to be searched.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "names": {
+ "description": "List of names of boundaries to be searched.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "propertyFilters": {
+ "description": "Filters on key-value pairs within 'Properties'.\r\neg. \"{testKey} eq {testValue}\".",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "statuses": {
+ "description": "List of statuses of boundaries to be searched.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "minCreatedDateTime": {
+ "format": "date-time",
+ "description": "Resources created at or after the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "maxCreatedDateTime": {
+ "format": "date-time",
+ "description": "Resources created at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "minLastModifiedDateTime": {
+ "format": "date-time",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "maxLastModifiedDateTime": {
+ "format": "date-time",
+ "description": "Resources last modified at or before the given UTC date-time are returned (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "$maxPageSize": {
+ "format": "int32",
+ "description": "Maximum number of items to be returned in a single page.",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10,
+ "type": "integer"
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "isPrimary": {
+ "description": "If set, search result will contain only primary boundaries.",
+ "type": "boolean"
+ },
+ "parentType": {
+ "description": "Used to search based on the parent type (Field/ SeasonalField).",
+ "type": "string"
+ },
+ "parentIds": {
+ "description": "List of parent Ids whose boundaries are to be retrieved.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "minAcreage": {
+ "format": "double",
+ "description": "Minimum acreage of the boundary (inclusive).",
+ "type": "number"
+ },
+ "maxAcreage": {
+ "format": "double",
+ "description": "Maximum acreage of the boundary (inclusive).",
+ "type": "number"
+ },
+ "intersectsWithGeometry": {
+ "$ref": "#/definitions/GeoJsonObject"
+ }
+ }
+ },
+ "BoundaryOverlapResponse": {
+ "description": "Schema of boundary overlap response.",
+ "type": "object",
+ "properties": {
+ "boundaryAcreage": {
+ "format": "double",
+ "description": "Acreage of the main boundary.",
+ "type": "number"
+ },
+ "otherBoundaryAcreage": {
+ "format": "double",
+ "description": "Acreage of the other boundary.",
+ "type": "number"
+ },
+ "intersectingAcreage": {
+ "format": "double",
+ "description": "Acreage of the intersecting area between the given boundaries.",
+ "type": "number"
+ }
+ }
+ },
+ "Crop": {
+ "description": "Schema of crop resource.",
+ "type": "object",
+ "properties": {
+ "phenotype": {
+ "description": "Phenotype of the crop.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique Id of the crop.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "User determined status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was last modified (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the crop.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the crop.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "CropListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Crop"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "CropVariety": {
+ "description": "Schema of crop variety resource.",
+ "type": "object",
+ "properties": {
+ "cropId": {
+ "description": "Id of the associated crop.",
+ "type": "string",
+ "readOnly": true
+ },
+ "brand": {
+ "description": "Brand of the crop variety.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "product": {
+ "description": "Commercial name of the crop variety.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique Id of the crop variety. This Id is unique for a given crop.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "User determined status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was last modified (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the crop variety.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the crop variety.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "CropVarietyListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CropVariety"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "Farmer": {
+ "description": "Schema of farmer resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique Id of the farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "User determined status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was last modified (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the farmer.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the farmer.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "FarmerListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Farmer"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "FarmOperationDataIngestionJob": {
+ "description": "Schema of farm operation data ingestion job.",
+ "required": [
+ "authProviderId",
+ "farmerId",
+ "startYear"
+ ],
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Id of the farmer whose farm operations are to be fetched.",
+ "type": "string"
+ },
+ "authProviderId": {
+ "description": "Id of the farm operations data provider. Use 'JOHNDEERE' to fetch data from John Deere.",
+ "type": "string"
+ },
+ "operations": {
+ "description": "List of types of farm operations for which data needs to be fetched. Valid values are AllOperations, Application, Planting, Harvest and Tillage.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "startYear": {
+ "format": "int32",
+ "description": "The beginning year from when the farm operations data needs to be fetched (minimum = 2000, maximum = current year).",
+ "type": "integer"
+ },
+ "id": {
+ "description": "Unique Id of the farm operations data ingestion job. This Id must be unique for a given tenant.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
+ "type": "string",
+ "readOnly": true
+ },
+ "durationInSeconds": {
+ "format": "double",
+ "description": "Processing duration of the job. Can be calculated as min(current time, job succeeded/failed/cancelled time) - job execution start time. This does not include the time spent waiting in the queue for the job to be picked up for processing.",
+ "type": "number",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Brief description of the result of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the job was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastActionDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the job was last acted upon (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the processing of the job started (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the processing of the job ended (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the farm operations data ingestion job.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the farm operations data ingestion job.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "Farm": {
+ "description": "Schema of a farm resource.",
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Id of the associated farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Unique Id of the farm. This Id is unique for a given farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "User determined status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was last modified (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the farm.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the farm.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "FarmListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Farm"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "Field": {
+ "description": "Schema of a field resource.",
+ "type": "object",
+ "properties": {
+ "farmId": {
+ "description": "Id of the associated farm.",
+ "type": "string"
+ },
+ "farmerId": {
+ "description": "Id of the associated farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "primaryBoundaryId": {
+ "description": "Id of the primary boundary associated with the field. At any point in time, a field can contain a maximum of one primary boundary.",
+ "type": "string",
+ "readOnly": true
+ },
+ "boundaryIds": {
+ "description": "List of Ids of boundaries associated with the field.",
+ "uniqueItems": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "id": {
+ "description": "Unique Id of the field. This Id is unique for a given farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "User determined status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was last modified (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the field.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the field.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "FieldListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Field"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "HarvestProductDetail": {
+ "description": "Schema of a harvested product.",
+ "type": "object",
+ "properties": {
+ "productName": {
+ "description": "Name of a harvested product.",
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string"
+ },
+ "area": {
+ "$ref": "#/definitions/Measure"
+ },
+ "totalYield": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgYield": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgMoisture": {
+ "$ref": "#/definitions/Measure"
+ },
+ "totalWetMass": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgWetMass": {
+ "$ref": "#/definitions/Measure"
+ }
+ }
+ },
+ "HarvestData": {
+ "description": "Schema of harvest data resource.",
+ "type": "object",
+ "properties": {
+ "totalYield": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgYield": {
+ "$ref": "#/definitions/Measure"
+ },
+ "totalWetMass": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgWetMass": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgMoisture": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgSpeed": {
+ "$ref": "#/definitions/Measure"
+ },
+ "harvestProductDetails": {
+ "description": "Details of harvested products.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HarvestProductDetail"
+ }
+ },
+ "area": {
+ "$ref": "#/definitions/Measure"
+ },
+ "source": {
+ "description": "Represents the source from which the harvest data was obtained.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "operationModifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC date-time at which the harvest data was modified at the source (format: yyyy-MM-ddTHH:mm:ssZ). This will be specified by the source.",
+ "type": "string"
+ },
+ "operationStartDateTime": {
+ "format": "date-time",
+ "description": "UTC date-time at which the harvest operation started (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "operationEndDateTime": {
+ "format": "date-time",
+ "description": "UTC date-time at which the harvest operation ended (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "attachmentsLink": {
+ "description": "Link to 'Attachments API' that can be used to find shapefiles, raster files or any other attachments associated with this operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "associatedBoundaryId": {
+ "description": "Id of the boundary of the field/seasonal field on which the harvest operation was done.",
+ "type": "string"
+ },
+ "operationBoundaryId": {
+ "description": "Id of the boundary that is created using the geographical area on which the harvest operation was carried out.",
+ "type": "string"
+ },
+ "farmerId": {
+ "description": "Id of the associated farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Unique Id of the operation (harvest). This Id is unique for a given farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "User determined status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was last modified (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the harvest operation.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the harvest operation.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "HarvestDataListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HarvestData"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "ImageProcessingRasterizeJob": {
+ "description": "ImageProcessingRasterizeJob.",
+ "required": [
+ "farmerId",
+ "shapefileAttachmentId",
+ "shapefileColumnNames"
+ ],
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Id of the associated farmer.",
+ "type": "string"
+ },
+ "shapefileAttachmentId": {
+ "description": "Attachment id of the input shapefile which must be rasterized.",
+ "type": "string"
+ },
+ "shapefileColumnNames": {
+ "description": "List of shapefile column names that must be rasterized.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "id": {
+ "description": "Unique Id of the image processing (rasterize) job. This Id must be unique for a given tenant.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
+ "type": "string",
+ "readOnly": true
+ },
+ "durationInSeconds": {
+ "format": "double",
+ "description": "Processing duration of the job. Can be calculated as min(current time, job succeeded/failed/cancelled time) - job execution start time. This does not include the time spent waiting in the queue for the job to be picked up for processing.",
+ "type": "number",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Brief description of the result of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the job was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastActionDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the job was last acted upon (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the processing of the job started (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the processing of the job ended (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the image processing (rasterize) job.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the image processing (rasterize) job.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "OAuthProvider": {
+ "description": "Schema of OAuth provider resource.",
+ "type": "object",
+ "properties": {
+ "appId": {
+ "description": "OAuth App Id for a given OAuth Provider.",
+ "maxLength": 200,
+ "minLength": 2,
+ "type": "string"
+ },
+ "appSecret": {
+ "description": "OAuth App secret for a given OAuth Provider.\r\nNote: The app secret will not be part of the response.",
+ "maxLength": 200,
+ "minLength": 2,
+ "type": "string"
+ },
+ "apiKey": {
+ "description": "OAuth Api key for a given Provider.\r\nNote: The Api key will not be part of the response. This is applicable only for authenticating to Climate Corp.",
+ "maxLength": 200,
+ "minLength": 2,
+ "type": "string"
+ },
+ "isProductionApp": {
+ "description": "An optional flag to determine if the OAuth App is ready to be used for production scenarios.\r\nNote: This is applicable only for John Deere.",
+ "default": false,
+ "type": "boolean"
+ },
+ "id": {
+ "description": "FarmBeats recognized unique Id for the OAuth provider. Valid value: 'JOHNDEERE.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was last modified (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the OAuth provider.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the OAuth provider.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "OAuthProviderListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OAuthProvider"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "OAuthProviderCascadeDeleteJob": {
+ "description": "Schema of oauth provider cascade delete job.",
+ "required": [
+ "oauthProviderId"
+ ],
+ "type": "object",
+ "properties": {
+ "oauthProviderId": {
+ "description": "FarmBeats recognized unique Id for the OAuth provider. Valid value: 'JOHNDEERE'.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique Id of the OAuth provider delete job. This Id must be unique for a given tenant.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
+ "type": "string",
+ "readOnly": true
+ },
+ "durationInSeconds": {
+ "format": "double",
+ "description": "Processing duration of the job. Can be calculated as min(current time, job succeeded/failed/cancelled time) - job execution start time. This does not include the time spent waiting in the queue for the job to be picked up for processing.",
+ "type": "number",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Brief description of the result of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the job was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastActionDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the job was last acted upon (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the processing of the job started (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the processing of the job ended (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the OAuth provider cascade delete job.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the OAuth provider cascade delete job..",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "OAuthToken": {
+ "description": "Schema of OAuth token resource.",
+ "required": [
+ "authProviderId",
+ "farmerId"
+ ],
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Id of the farmer for whom the OAuth flow is being configured.",
+ "type": "string"
+ },
+ "authProviderId": {
+ "description": "Id of the OAuth provider resource containing the app information.",
+ "type": "string"
+ },
+ "isValid": {
+ "description": "An optional flag indicating whether the token is valid or expired.",
+ "default": true,
+ "type": "boolean"
+ },
+ "eTag": {
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was last modified (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OAuthTokenListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OAuthToken"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "OAuthConnectRequest": {
+ "description": "Get OAuth config query parameters.",
+ "required": [
+ "farmerId",
+ "oAuthProviderId",
+ "userRedirectLink"
+ ],
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Id of the farmer for whom the OAuth flow is being configured.",
+ "type": "string"
+ },
+ "oAuthProviderId": {
+ "description": "Id of the OAuth provider.",
+ "type": "string"
+ },
+ "userRedirectLink": {
+ "description": "Link to redirect the user to, at the end of the OAuth flow.",
+ "maxLength": 1000,
+ "minLength": 0,
+ "type": "string"
+ },
+ "userRedirectState": {
+ "description": "State to be returned when redirecting the user at the end of the oauth flow.",
+ "maxLength": 200,
+ "minLength": 0,
+ "type": "string"
+ }
+ }
+ },
+ "PlantingProductDetail": {
+ "description": "Schema of a planted product.",
+ "type": "object",
+ "properties": {
+ "productName": {
+ "description": "Name of the planted product.",
+ "type": "string"
+ },
+ "area": {
+ "$ref": "#/definitions/Measure"
+ },
+ "totalMaterial": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgMaterial": {
+ "$ref": "#/definitions/Measure"
+ }
+ }
+ },
+ "PlantingData": {
+ "description": "Schema of planting data resource.",
+ "type": "object",
+ "properties": {
+ "avgPlantingRate": {
+ "$ref": "#/definitions/Measure"
+ },
+ "totalMaterial": {
+ "$ref": "#/definitions/Measure"
+ },
+ "avgMaterial": {
+ "$ref": "#/definitions/Measure"
+ },
+ "plantingProductDetails": {
+ "description": "Details of products planted.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PlantingProductDetail"
+ }
+ },
+ "area": {
+ "$ref": "#/definitions/Measure"
+ },
+ "source": {
+ "description": "Represents the source from which the planting data was obtained.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "operationModifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC date-time at which the operation data was modified at the source (format: yyyy-MM-ddTHH:mm:ssZ). This will be specified by the source.",
+ "type": "string"
+ },
+ "operationStartDateTime": {
+ "format": "date-time",
+ "description": "UTC date-time at which the operation started (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "operationEndDateTime": {
+ "format": "date-time",
+ "description": "UTC date-time at which the operation ended (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "attachmentsLink": {
+ "description": "Link to 'Attachments API' that can be used to find shapefiles, raster files or any other attachments associated with this operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "associatedBoundaryId": {
+ "description": "Id of the boundary of the field/seasonal field on which the planting operation was done.",
+ "type": "string"
+ },
+ "operationBoundaryId": {
+ "description": "Id of the boundary that is created using the geographical area on which the planting operation was carried out.",
+ "type": "string"
+ },
+ "farmerId": {
+ "description": "Id of the associated farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Unique Id of the operation (planting). This Id is unique for a given farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "User determined status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was last modified (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the planting operation.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the planting operation.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "PlantingDataListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PlantingData"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "ImageFormat": {
+ "description": "Supported image formats for scene resource.",
+ "enum": [
+ "TIF"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ImageFormat",
+ "modelAsString": true
+ }
+ },
+ "ImageFile": {
+ "description": "Schema of image file resource.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "fileLink": {
+ "description": "Link to the image file.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the image file.",
+ "type": "string"
+ },
+ "imageFormat": {
+ "$ref": "#/definitions/ImageFormat"
+ },
+ "resolution": {
+ "format": "double",
+ "description": "Resolution of image in meters.",
+ "type": "number"
+ }
+ }
+ },
+ "Scene": {
+ "description": "Schema of scene resource.",
+ "type": "object",
+ "properties": {
+ "sceneDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the image was captured/made available at source (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Name of the data provider for the scene. For satellite imagery, this refers to the name of the satellite data provider.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "source": {
+ "description": "Source from where the scene was procured/generated. For satellite imagery, this refers to the name of the satellite constellation.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "imageFiles": {
+ "description": "Collection of image files.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageFile"
+ }
+ },
+ "imageFormat": {
+ "$ref": "#/definitions/ImageFormat"
+ },
+ "cloudCoverPercentage": {
+ "format": "double",
+ "description": "Signifies the percentage of the scene covered by clouds.",
+ "maximum": 100,
+ "minimum": 0,
+ "type": "number"
+ },
+ "darkPixelPercentage": {
+ "format": "double",
+ "description": "Signifies the percentage of the scene covered by dark pixels.",
+ "maximum": 100,
+ "minimum": 0,
+ "type": "number"
+ },
+ "ndviMedianValue": {
+ "format": "double",
+ "description": "Median of NDVI values of the scene.",
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "boundaryId": {
+ "description": "Id of the associated boundary.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "farmerId": {
+ "description": "Id of the associated farmer.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique Id of the scene",
+ "type": "string"
+ },
+ "eTag": {
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SceneListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Scene"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "DataProvider": {
+ "description": "Provider of satellite data.",
+ "enum": [
+ "Microsoft"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataProvider",
+ "modelAsString": true
+ }
+ },
+ "Source": {
+ "description": "Source of satellite data.",
+ "enum": [
+ "Sentinel_2_L2A"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Source",
+ "modelAsString": true
+ }
+ },
+ "SatelliteData": {
+ "description": "Data Model for SatelliteIngestionJobRequest.",
+ "type": "object",
+ "properties": {
+ "imageNames": {
+ "description": "List of names of images to be fetched.\r\nFor Sentinel-2, allowed values are: 'B01', 'B02', 'B03', 'B04', 'B05', 'B06', 'B07', 'B08', 'B8A', 'B09', 'B11', 'B12', 'AOT', 'SCL', 'SNW', 'CLD', 'NDVI', 'NDWI', 'EVI', 'LAI', 'LAIMask', 'CLP', 'CLM', and 'dataMask'.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "NDVI"
+ ]
+ },
+ "imageFormats": {
+ "description": "List of formats in which images can be fetched. Available value: TIF.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": [
+ "TIF"
+ ]
+ },
+ "imageResolutions": {
+ "description": "List of image resolutions in meters. For Sentinel-2, available values are: 10, 20, 60.",
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ },
+ "example": [
+ 10
+ ]
+ }
+ }
+ },
+ "SatelliteDataIngestionJob": {
+ "description": "Schema of satellite data ingestion job.",
+ "required": [
+ "boundaryId",
+ "endDateTime",
+ "farmerId",
+ "startDateTime"
+ ],
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Id of the associated farmer.",
+ "type": "string"
+ },
+ "boundaryId": {
+ "description": "The id of the boundary for which satellite data is being fetched.",
+ "type": "string"
+ },
+ "startDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time from when the satellite data has to be fetched (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "endDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time till when the satellite data has to be fetched (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "provider": {
+ "$ref": "#/definitions/DataProvider"
+ },
+ "source": {
+ "$ref": "#/definitions/Source"
+ },
+ "data": {
+ "$ref": "#/definitions/SatelliteData"
+ },
+ "id": {
+ "description": "Unique Id of the satellite data ingestion job. This Id must be unique for a given tenant.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
+ "type": "string",
+ "readOnly": true
+ },
+ "durationInSeconds": {
+ "format": "double",
+ "description": "DProcessing duration of the job. Can be calculated as min(current time, job succeeded/failed/cancelled time) - job execution start time. This does not include the time spent waiting in the queue for the job to be picked up for processing.",
+ "type": "number",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Brief description of the result of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the job was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastActionDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the job was last acted upon (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the processing of the job started (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the processing of the job ended (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the satellite data ingestion job.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the satellite data ingestion job.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "SeasonalField": {
+ "description": "Schema of seasonal field resource.",
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Id of the associated farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "primaryBoundaryId": {
+ "description": "Id of the primary boundary associated with the seasonal field. At any point in time, a seasonal field can contain a maximum of one primary boundary.",
+ "type": "string",
+ "readOnly": true
+ },
+ "boundaryIds": {
+ "description": "List of Ids of boundaries associated with the seasonal field.",
+ "uniqueItems": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "farmId": {
+ "description": "Id of the associated farm.",
+ "type": "string"
+ },
+ "fieldId": {
+ "description": "Id of the associated field.",
+ "type": "string"
+ },
+ "seasonId": {
+ "description": "Id of the season associated with the seasonal field.",
+ "type": "string"
+ },
+ "cropVarietyIds": {
+ "description": "List of Ids of crop varieties associated with the seasonal field. All the crop varieties must belong to the same crop.",
+ "uniqueItems": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cropId": {
+ "description": "Id of the crop associated with the seasonal field. Seasonal fields are mono crop entities.",
+ "type": "string"
+ },
+ "avgYieldValue": {
+ "format": "double",
+ "description": "Average yield generated from the seasonal field.",
+ "type": "number"
+ },
+ "avgYieldUnit": {
+ "description": "Unit to measure average yield.",
+ "maxLength": 32,
+ "minLength": 2,
+ "type": "string"
+ },
+ "avgSeedPopulationValue": {
+ "format": "double",
+ "description": "Average seed population planted in the seasonal field.",
+ "type": "number"
+ },
+ "avgSeedPopulationUnit": {
+ "description": "Unit to measure average seed population.",
+ "maxLength": 32,
+ "minLength": 2,
+ "type": "string"
+ },
+ "plantingDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which crops were planted (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique Id of the seasonal field. This Id is unique for a given farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "User determined status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was last modified (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the seasonal field.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the seasonal field.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "SeasonalFieldListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SeasonalField"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "Season": {
+ "description": "Schema of season resource.",
+ "type": "object",
+ "properties": {
+ "startDateTime": {
+ "format": "date-time",
+ "description": "UTC date-time signifying the start of the season (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "endDateTime": {
+ "format": "date-time",
+ "description": "UTC date-time signifying the end of the season (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "year": {
+ "format": "int32",
+ "description": "Year associated with the harvest i.e. year of season end date-time.",
+ "type": "integer"
+ },
+ "id": {
+ "description": "Unique Id of the season.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "User determined status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was last modified (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the season.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the season.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "SeasonListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Season"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "TillageData": {
+ "description": "Schema of tillage data resource.",
+ "type": "object",
+ "properties": {
+ "tillageDepth": {
+ "$ref": "#/definitions/Measure"
+ },
+ "tillagePressure": {
+ "$ref": "#/definitions/Measure"
+ },
+ "area": {
+ "$ref": "#/definitions/Measure"
+ },
+ "source": {
+ "description": "Represents the source from which the tillage data was obtained.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "operationModifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC date-time at which the operation data was modified at the source (format: yyyy-MM-ddTHH:mm:ssZ). This will be specified by the source.",
+ "type": "string"
+ },
+ "operationStartDateTime": {
+ "format": "date-time",
+ "description": "UTC date-time at which the operation started (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "operationEndDateTime": {
+ "format": "date-time",
+ "description": "UTC date-time at which the operation ended (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "attachmentsLink": {
+ "description": "Link to 'Attachments API' that can be used to find shapefiles, raster files or any other attachments associated with this operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "associatedBoundaryId": {
+ "description": "Id of the boundary of the field/seasonal field on which the tillage operation was done.",
+ "type": "string"
+ },
+ "operationBoundaryId": {
+ "description": "Id of the boundary that is created using the geographical area on which the tillage operation was carried out.",
+ "type": "string"
+ },
+ "farmerId": {
+ "description": "Id of the associated farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Unique Id of the operation (tillage). This Id is unique for a given farmer.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "User determined status of the resource.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was last modified (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the tillage operation.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the tillage operation.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "TillageDataListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TillageData"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "Location": {
+ "description": "Location model class.",
+ "required": [
+ "latitude",
+ "longitude"
+ ],
+ "type": "object",
+ "properties": {
+ "latitude": {
+ "format": "double",
+ "description": "Latitude of the location.",
+ "maximum": 90,
+ "minimum": -90,
+ "type": "number"
+ },
+ "longitude": {
+ "format": "double",
+ "description": "Longitude of the location.",
+ "maximum": 180,
+ "minimum": -180,
+ "type": "number"
+ }
+ }
+ },
+ "WeatherData": {
+ "description": "Schema of weather data.",
+ "required": [
+ "boundaryId",
+ "dateTime",
+ "extensionId",
+ "extensionVersion",
+ "farmerId",
+ "granularity",
+ "location",
+ "weatherDataType"
+ ],
+ "type": "object",
+ "properties": {
+ "farmerId": {
+ "description": "Id of the associated farmer.",
+ "type": "string"
+ },
+ "boundaryId": {
+ "description": "Id of the associated boundary.",
+ "type": "string"
+ },
+ "extensionId": {
+ "description": "Id of the weather extension. This signifies the source from where the weather data is fetched (eg. DTN.ClearAg).",
+ "type": "string"
+ },
+ "location": {
+ "$ref": "#/definitions/Location"
+ },
+ "dateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time of the weather data (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "unitSystemCode": {
+ "description": "Unit system like US/SI etc.",
+ "type": "string"
+ },
+ "extensionVersion": {
+ "description": "Version of the weather data extension.",
+ "type": "string"
+ },
+ "weatherDataType": {
+ "description": "Type of weather data (forecast/historical).",
+ "type": "string"
+ },
+ "granularity": {
+ "description": "Granularity of weather data (daily/hourly).",
+ "type": "string"
+ },
+ "cloudCover": {
+ "$ref": "#/definitions/Measure"
+ },
+ "dewPoint": {
+ "$ref": "#/definitions/Measure"
+ },
+ "growingDegreeDay": {
+ "$ref": "#/definitions/Measure"
+ },
+ "precipitation": {
+ "$ref": "#/definitions/Measure"
+ },
+ "pressure": {
+ "$ref": "#/definitions/Measure"
+ },
+ "relativeHumidity": {
+ "$ref": "#/definitions/Measure"
+ },
+ "soilMoisture": {
+ "$ref": "#/definitions/Measure"
+ },
+ "soilTemperature": {
+ "$ref": "#/definitions/Measure"
+ },
+ "temperature": {
+ "$ref": "#/definitions/Measure"
+ },
+ "visibility": {
+ "$ref": "#/definitions/Measure"
+ },
+ "wetBulbTemperature": {
+ "$ref": "#/definitions/Measure"
+ },
+ "windChill": {
+ "$ref": "#/definitions/Measure"
+ },
+ "windDirection": {
+ "$ref": "#/definitions/Measure"
+ },
+ "windGust": {
+ "$ref": "#/definitions/Measure"
+ },
+ "windSpeed": {
+ "$ref": "#/definitions/Measure"
+ },
+ "id": {
+ "description": "Unique id of weather data.",
+ "type": "string"
+ },
+ "eTag": {
+ "description": "ETag value can be used to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "modifiedDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the resource was last modified (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "WeatherDataListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WeatherData"
+ }
+ },
+ "$skipToken": {
+ "description": "Token used in retrieving the next page. If null, there are no additional pages.",
+ "type": "string"
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list. If null, there are no additional pages.",
+ "type": "string"
+ }
+ }
+ },
+ "WeatherDataIngestionJob": {
+ "description": "Schema of weather ingestion job.",
+ "required": [
+ "boundaryId",
+ "extensionApiInput",
+ "extensionApiName",
+ "extensionId",
+ "farmerId"
+ ],
+ "type": "object",
+ "properties": {
+ "boundaryId": {
+ "description": "Id of the associated boundary.",
+ "type": "string"
+ },
+ "farmerId": {
+ "description": "Id of the associated farmer.",
+ "type": "string"
+ },
+ "extensionId": {
+ "description": "Id of the weather extension. This signifies the source from where the weather data is fetched (eg. DTN.ClearAg).",
+ "maxLength": 100,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z]{3,50}[.][a-zA-Z]{3,100}$",
+ "type": "string"
+ },
+ "extensionApiName": {
+ "description": "Extension api name to which the request is to be made.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "extensionApiInput": {
+ "description": "Dictionary of inputs for extension api. This would be passed as part fo request to weather data provider.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "extensionDataProviderAppId": {
+ "description": "App id of the weather data provider.",
+ "maxLength": 200,
+ "minLength": 2,
+ "type": "string"
+ },
+ "extensionDataProviderApiKey": {
+ "description": "Api key of the weather data provider.",
+ "maxLength": 200,
+ "minLength": 2,
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique Id of the weather data ingestion job. This Id must be unique for a given tenant.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
+ "type": "string",
+ "readOnly": true
+ },
+ "durationInSeconds": {
+ "format": "double",
+ "description": "Processing duration of the job. Can be calculated as min(current time, job succeeded/failed/cancelled time) - job execution start time. This does not include the time spent waiting in the queue for the job to be picked up for processing.",
+ "type": "number",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Brief description of the result of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the job was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastActionDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the job was last acted upon (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the processing of the job started (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the processing of the job ended (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name to weather data ingestion job.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the weather data ingestion job.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "WeatherDataDeleteJob": {
+ "description": "Schema of weather data delete job.",
+ "required": [
+ "boundaryId",
+ "extensionId",
+ "farmerId"
+ ],
+ "type": "object",
+ "properties": {
+ "extensionId": {
+ "description": "Id of the weather extension. This signifies the source from where the weather data was fetched (eg. DTN.ClearAg).",
+ "maxLength": 100,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z]{3,50}[.][a-zA-Z]{3,100}$",
+ "type": "string"
+ },
+ "farmerId": {
+ "description": "The Id of the associated farmer.",
+ "type": "string"
+ },
+ "boundaryId": {
+ "description": "The id of the associated boundary.",
+ "type": "string"
+ },
+ "weatherDataType": {
+ "description": "Type of weather data (forecast/historical).",
+ "type": "string"
+ },
+ "granularity": {
+ "description": "Granularity of weather data (daily/hourly).",
+ "type": "string"
+ },
+ "startDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time from when the weather data has to be deleted (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "endDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time till when the weather data has to be deleted (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique Id of the weather data delete job. This Id must be unique for a given tenant.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the job.\r\nPossible values: 'Waiting', 'Running', 'Succeeded', 'Failed', 'Cancelled'.",
+ "type": "string",
+ "readOnly": true
+ },
+ "durationInSeconds": {
+ "format": "double",
+ "description": "Processing duration of the job. Can be calculated as min(current time, job succeeded/failed/cancelled time) - job execution start time. This does not include the time spent waiting in the queue for the job to be picked up for processing.",
+ "type": "number",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Brief description of the result of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the job was created (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastActionDateTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the job was last acted upon (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the processing of the job started (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "UTC Date-time at which the processing of the job ended (format: yyyy-MM-ddTHH:mm:ssZ).",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the weather data deletion job.",
+ "maxLength": 100,
+ "minLength": 0,
+ "type": "string"
+ },
+ "description": {
+ "description": "Brief description of the weather data deletion job.",
+ "maxLength": 500,
+ "minLength": 0,
+ "type": "string"
+ },
+ "properties": {
+ "description": "A collection of key value pairs associated with the resource. A key is a string and a value can be a numeric or a string. A maximum of 25 key value pairs can be associated with a resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "example": {
+ "key1": "value1",
+ "key2": 123.45
+ }
+ }
+ }
+ },
+ "MultiPolygon": {
+ "description": "MultiPolygon geometry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GeoJsonObject"
+ },
+ {
+ "$ref": "#/definitions/MultiPolygonCoordinates"
+ }
+ ],
+ "x-ms-discriminator-value": "MultiPolygon"
+ },
+ "MultiPolygonCoordinates": {
+ "description": "Schema of multi polygon coordinates.",
+ "required": [
+ "coordinates"
+ ],
+ "type": "object",
+ "properties": {
+ "coordinates": {
+ "description": "Gets or sets coordinates of GeoJSON Object.\r\nIt must be an array of polygons, each polygon contains list of linear rings.\r\nFor Polygons with more than one of these rings, the first MUST be the exterior ring,\r\nand any others MUST be interior rings.",
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "Point": {
+ "description": "Point geometry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GeoJsonObject"
+ },
+ {
+ "$ref": "#/definitions/PointCoordinates"
+ }
+ ],
+ "x-ms-discriminator-value": "Point"
+ },
+ "PointCoordinates": {
+ "description": "Schema of the coordinates of a point.",
+ "type": "object",
+ "required": [
+ "coordinates"
+ ],
+ "properties": {
+ "coordinates": {
+ "description": "Gets or sets the coordinate of this point.\r\nIt must be an array of 2 or 3 elements for a 2D or 3D system respectively.",
+ "maximum": 3,
+ "minimum": 2,
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ }
+ }
+ }
+ },
+ "Polygon": {
+ "description": "Polygon geometry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GeoJsonObject"
+ },
+ {
+ "$ref": "#/definitions/PolygonCoordinates"
+ }
+ ],
+ "x-ms-discriminator-value": "Polygon"
+ },
+ "PolygonCoordinates": {
+ "description": "Schema of polygon coordinates.",
+ "required": [
+ "coordinates"
+ ],
+ "type": "object",
+ "properties": {
+ "coordinates": {
+ "description": "Gets or sets type of the GeoJSON Object.\r\nIt must be an array of linear ring coordinate arrays.\r\nFor Polygons with more than one of these rings, the first MUST be the exterior ring,\r\nand any others MUST be interior rings.",
+ "minLength": 1,
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "Bearer": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header",
+ "description": "Please provide a valid bearer token for authorized API calls. Note that you might need to clear your browser cache if you tried un-authenticated calls before."
+ }
+ },
+ "security": [
+ {
+ "Bearer": []
+ }
+ ]
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_CreateCascadeDeleteJob.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_CreateCascadeDeleteJob.json
new file mode 100644
index 000000000000..62087dad58ba
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_CreateCascadeDeleteJob.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "Farmer123",
+ "applicationDataId": "Application123",
+ "api-version": "2021-03-31-preview",
+ "jobId": "Job123"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "farmerId": "Farmer123",
+ "resourceId": "Application123",
+ "resourceType": "farmoperationapplicationdata",
+ "id": "Job123",
+ "status": "Waiting",
+ "message": "Created cascade delete job for 'farmoperationapplicationdata' resource with id 'Application123' and farmerId 'Farmer123'.",
+ "createdDateTime": "2021-06-19T09:39:37Z",
+ "lastActionDateTime": "2021-06-19T09:39:37Z",
+ "startTime": "2021-06-19T09:39:37Z"
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_CreateOrUpdate.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_CreateOrUpdate.json
new file mode 100644
index 000000000000..a5ef976c5ffd
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_CreateOrUpdate.json
@@ -0,0 +1,147 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "Farmer123",
+ "applicationDataId": "Application123",
+ "api-version": "2021-03-31-preview",
+ "applicationData": {
+ "applicationProductDetails": [
+ {
+ "productName": "Product123",
+ "isCarrier": false,
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9
+ }
+ }
+ ],
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9
+ },
+ "area": {
+ "unit": "acre",
+ "value": 60
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-25T16:57:04Z",
+ "operationStartDateTime": "2021-02-27T10:13:06Z",
+ "operationEndDateTime": "2021-02-28T11:12:12Z",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "status": "Active",
+ "name": "Test application data",
+ "description": "Test application data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "applicationProductDetails": [
+ {
+ "productName": "Product123",
+ "isCarrier": false,
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9.0
+ }
+ }
+ ],
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9.0
+ },
+ "area": {
+ "unit": "acre",
+ "value": 60.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-25T16:57:04Z",
+ "operationStartDateTime": "2021-02-27T10:13:06Z",
+ "operationEndDateTime": "2021-02-28T11:12:12Z",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Application123",
+ "eTag": "0300c56c-0000-0600-0000-60cc93920000",
+ "status": "Active",
+ "createdDateTime": "2021-06-18T12:37:38Z",
+ "modifiedDateTime": "2021-06-18T12:37:38Z",
+ "name": "Test application data",
+ "description": "Test application data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "applicationProductDetails": [
+ {
+ "productName": "Product123",
+ "isCarrier": false,
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9.0
+ }
+ }
+ ],
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9.0
+ },
+ "area": {
+ "unit": "acre",
+ "value": 60.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-25T16:57:04Z",
+ "operationStartDateTime": "2021-02-27T10:13:06Z",
+ "operationEndDateTime": "2021-02-28T11:12:12Z",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Application123",
+ "eTag": "0300c56c-0000-0600-0000-60cc93920000",
+ "status": "Active",
+ "createdDateTime": "2021-06-18T12:37:38Z",
+ "modifiedDateTime": "2021-06-18T12:37:38Z",
+ "name": "Test application data",
+ "description": "Test application data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Delete.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Delete.json
new file mode 100644
index 000000000000..b2c455bc5945
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Delete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "Farmer123",
+ "applicationDataId": "Application123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Get.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Get.json
new file mode 100644
index 000000000000..94fa4a8be6a5
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_Get.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "Farmer123",
+ "applicationDataId": "Application123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "applicationProductDetails": [
+ {
+ "productName": "Product123",
+ "isCarrier": false,
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9.0
+ }
+ }
+ ],
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9.0
+ },
+ "area": {
+ "unit": "acre",
+ "value": 60.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-25T16:57:04Z",
+ "operationStartDateTime": "2021-02-27T10:13:06Z",
+ "operationEndDateTime": "2021-02-28T11:12:12Z",
+ "attachmentsLink": "https://test.farmbeats.azure.net/farmer/Farmer123/attachments?api-version=2021-03-31-preview&resourceIds=Application123&resourceTypes=FarmOperationApplicationData",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Application123",
+ "eTag": "0300c56c-0000-0600-0000-60cc93920000",
+ "status": "Active",
+ "createdDateTime": "2021-06-18T12:37:38Z",
+ "modifiedDateTime": "2021-06-18T12:37:38Z",
+ "name": "Test application data",
+ "description": "Test application data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_GetCascadeDeleteJobDetails.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_GetCascadeDeleteJobDetails.json
new file mode 100644
index 000000000000..a520e9287e6a
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_GetCascadeDeleteJobDetails.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "jobId": "Job123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "farmerId": "Farmer123",
+ "resourceId": "Application123",
+ "resourceType": "farmoperationapplicationdata",
+ "id": "Job123",
+ "status": "Succeeded",
+ "durationInSeconds": 10.1100966,
+ "message": "Job completed successfully.",
+ "createdDateTime": "2021-06-19T09:39:37Z",
+ "lastActionDateTime": "2021-06-19T09:39:47Z",
+ "startTime": "2021-06-19T09:39:37Z",
+ "endTime": "2021-06-19T09:39:47Z"
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_List.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_List.json
new file mode 100644
index 000000000000..a48ec37f6b84
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_List.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "applicationProductDetails": [
+ {
+ "productName": "Product123",
+ "isCarrier": false,
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9.0
+ }
+ }
+ ],
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9.0
+ },
+ "area": {
+ "unit": "acre",
+ "value": 60.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-25T16:57:04Z",
+ "operationStartDateTime": "2021-02-27T10:13:06Z",
+ "operationEndDateTime": "2021-02-28T11:12:12Z",
+ "attachmentsLink": "https://test.farmbeats.azure.net/farmer/Farmer123/attachments?api-version=2021-03-31-preview&resourceIds=Application123&resourceTypes=FarmOperationApplicationData",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Application123",
+ "eTag": "0300c56c-0000-0600-0000-60cc93920000",
+ "status": "Active",
+ "createdDateTime": "2021-06-18T12:37:38Z",
+ "modifiedDateTime": "2021-06-18T12:37:38Z",
+ "name": "Test application data",
+ "description": "Test application data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ ],
+ "nextLink": "https://bb-prod-wcus-1.farmbeats.azure.net/application-data?api-version=2021-03-31-preview&$skipToken=ffa6d232-0892-4e7e-bc8d-6acb12645251"
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_ListByFarmerId.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_ListByFarmerId.json
new file mode 100644
index 000000000000..c9034ea0b9ed
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ApplicationData_ListByFarmerId.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "Farmer123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "applicationProductDetails": [
+ {
+ "productName": "Product123",
+ "isCarrier": false,
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9.0
+ }
+ }
+ ],
+ "avgMaterial": {
+ "unit": "kilosperacre",
+ "value": 0.15
+ },
+ "totalMaterial": {
+ "unit": "kilos",
+ "value": 9.0
+ },
+ "area": {
+ "unit": "acre",
+ "value": 60.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-25T16:57:04Z",
+ "operationStartDateTime": "2021-02-27T10:13:06Z",
+ "operationEndDateTime": "2021-02-28T11:12:12Z",
+ "attachmentsLink": "https://bb-prod-wcus-1.farmbeats.azure.net/farmer/Farmer123/attachments?api-version=2021-03-31-preview&resourceIds=Application123&resourceTypes=FarmOperationApplicationData",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Application123",
+ "eTag": "0300c56c-0000-0600-0000-60cc93920000",
+ "status": "Active",
+ "createdDateTime": "2021-06-18T12:37:38Z",
+ "modifiedDateTime": "2021-06-18T12:37:38Z",
+ "name": "Test application data",
+ "description": "Test application data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_CreateOrUpdate.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_CreateOrUpdate.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_CreateOrUpdate.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_CreateOrUpdate.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Delete.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Delete.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Delete.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Delete.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Download.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Download.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Download.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Download.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Get.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Get.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Get.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_Get.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_ListByFarmerId.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_ListByFarmerId.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_ListByFarmerId.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Attachments_ListByFarmerId.json
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_CreateCascadeDeleteJob.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_CreateCascadeDeleteJob.json
new file mode 100644
index 000000000000..0555328dc7e3
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_CreateCascadeDeleteJob.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "boundaryId": "BOUNDARY123",
+ "api-version": "2021-03-31-preview",
+ "jobId": "JOB123"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "id": "JOB123",
+ "status": "Succeeded",
+ "message": "Job completed successfully.",
+ "durationInSeconds": 14.7977857,
+ "createdDateTime": "2021-04-19T11:31:20Z",
+ "lastActionDateTime": "2021-04-19T11:31:34Z",
+ "startTime": "2021-04-19T11:31:19Z",
+ "endTime": "2021-04-19T11:31:34Z",
+ "farmerId": "FARMER123",
+ "resourceId": "BOUNDARY123",
+ "resourceType": "boundary"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_CreateOrUpdate.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_CreateOrUpdate.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_CreateOrUpdate.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_CreateOrUpdate.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Delete.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Delete.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Delete.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Delete.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Get.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Get.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Get.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Get.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_GetCascadeDeleteJobDetails.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_GetCascadeDeleteJobDetails.json
similarity index 77%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_GetCascadeDeleteJobDetails.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_GetCascadeDeleteJobDetails.json
index aa0fba378785..8a44e2a721e6 100644
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_GetCascadeDeleteJobDetails.json
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_GetCascadeDeleteJobDetails.json
@@ -15,12 +15,6 @@
"lastActionDateTime": "2021-04-19T11:31:34Z",
"startTime": "2021-04-19T11:31:19Z",
"endTime": "2021-04-19T11:31:34Z",
- "name": "John Smith's Boundary",
- "description": "Some description",
- "properties": {
- "Irrigated": "Yes",
- "RetailerId": "Retailer123"
- },
"farmerId": "FARMER123",
"resourceId": "BOUNDARY123",
"resourceType": "boundary"
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_GetOverlap.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_GetOverlap.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_GetOverlap.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_GetOverlap.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_List.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_List.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_List.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_List.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_ListByFarmerId.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_ListByFarmerId.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_ListByFarmerId.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_ListByFarmerId.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Search.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Search.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Search.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_Search.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_SearchByFarmerId.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_SearchByFarmerId.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_SearchByFarmerId.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Boundaries_SearchByFarmerId.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_CreateOrUpdate.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_CreateOrUpdate.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_CreateOrUpdate.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_CreateOrUpdate.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_Delete.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_Delete.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_Delete.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_Delete.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_Get.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_Get.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_Get.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_Get.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_List.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_List.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_List.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_List.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_ListByCropId.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_ListByCropId.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_ListByCropId.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/CropVarieties_ListByCropId.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_CreateOrUpdate.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_CreateOrUpdate.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_CreateOrUpdate.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_CreateOrUpdate.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_Delete.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_Delete.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_Delete.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_Delete.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_Get.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_Get.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_Get.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_Get.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_List.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_List.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_List.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Crops_List.json
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_CreateDataIngestionJob.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_CreateDataIngestionJob.json
new file mode 100644
index 000000000000..071b842541ba
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_CreateDataIngestionJob.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "Job123",
+ "api-version": "2021-03-31-preview",
+ "body": {
+ "farmerId": "Farmer123",
+ "authProviderId": "JOHNDEERE",
+ "operations": [
+ "AllOperations"
+ ],
+ "startYear": 2012,
+ "name": "Test farm operations job",
+ "description": "Test farm operations job details",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "operations": [
+ "AllOperations"
+ ],
+ "startYear": 2012,
+ "durationInSeconds": 14.79,
+ "id": "sdi-0916aeec-ad8d-41d0-9797-63924f818cd7",
+ "status": "Waiting",
+ "message": "Created job to ingest farm operations data for job name 'Job123', farmer id 'Farmer123'.",
+ "createdDateTime": "2021-03-15T07:14:14Z",
+ "lastActionDateTime": "2021-03-15T07:14:14Z",
+ "startTime": "2021-03-15T07:14:14Z",
+ "endTime": "2021-03-15T07:14:14Z",
+ "name": "Test farm operations job",
+ "description": "Test farm operations job details",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ },
+ "farmerId": "Farmer123",
+ "authProviderId": "JOHNDEERE"
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_GetDataIngestionJobDetails.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_GetDataIngestionJobDetails.json
new file mode 100644
index 000000000000..982aa60223bc
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/FarmOperations_GetDataIngestionJobDetails.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "Job123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "durationInSeconds": 11.2,
+ "id": "Job123",
+ "status": "Succeeded",
+ "message": "string",
+ "createdDateTime": "2021-04-16T08:24:50Z",
+ "lastActionDateTime": "2021-04-16T08:24:50Z",
+ "startTime": "2021-04-16T08:24:50Z",
+ "endTime": "2021-04-16T08:24:50Z",
+ "name": "Farm operations job",
+ "description": "Farm operations job details",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ },
+ "farmerId": "Farmer123",
+ "authProviderId": "JOHNDEERE",
+ "operations": [
+ "AllOperations"
+ ],
+ "startYear": 2012
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_CreateCascadeDeleteJob.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_CreateCascadeDeleteJob.json
new file mode 100644
index 000000000000..4c41fbdd9aeb
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_CreateCascadeDeleteJob.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "api-version": "2021-03-31-preview",
+ "jobId": "JOB123"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "id": "JOB123",
+ "status": "Succeeded",
+ "message": "Job completed successfully.",
+ "durationInSeconds": 14.7977857,
+ "createdDateTime": "2021-04-19T11:31:20Z",
+ "lastActionDateTime": "2021-04-19T11:31:34Z",
+ "startTime": "2021-04-19T11:31:19Z",
+ "endTime": "2021-04-19T11:31:34Z",
+ "farmerId": "FARMER123",
+ "resourceId": "FARMER123",
+ "resourceType": "farmer"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_CreateOrUpdate.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_CreateOrUpdate.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_CreateOrUpdate.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_CreateOrUpdate.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_Delete.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_Delete.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_Delete.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_Delete.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_Get.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_Get.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_Get.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_Get.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_GetCascadeDeleteJobDetails.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_GetCascadeDeleteJobDetails.json
similarity index 78%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_GetCascadeDeleteJobDetails.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_GetCascadeDeleteJobDetails.json
index fa3c14969a1d..24cf8a5c8f36 100644
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_GetCascadeDeleteJobDetails.json
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_GetCascadeDeleteJobDetails.json
@@ -15,12 +15,6 @@
"lastActionDateTime": "2021-04-19T11:31:34Z",
"startTime": "2021-04-19T11:31:19Z",
"endTime": "2021-04-19T11:31:34Z",
- "name": "John Smith",
- "description": "Some description",
- "properties": {
- "Irrigated": "Yes",
- "RetailerId": "Retailer123"
- },
"farmerId": "FARMER123",
"resourceId": "FARMER123",
"resourceType": "farmer"
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_List.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_List.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_List.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farmers_List.json
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_CreateCascadeDeleteJob.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_CreateCascadeDeleteJob.json
new file mode 100644
index 000000000000..dd78c9aa4e89
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_CreateCascadeDeleteJob.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "farmId": "FARM123",
+ "api-version": "2021-03-31-preview",
+ "jobId": "JOB123"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "id": "JOB123",
+ "status": "Succeeded",
+ "message": "Job completed successfully.",
+ "durationInSeconds": 14.7977857,
+ "createdDateTime": "2021-04-19T11:31:20Z",
+ "lastActionDateTime": "2021-04-19T11:31:34Z",
+ "startTime": "2021-04-19T11:31:19Z",
+ "endTime": "2021-04-19T11:31:34Z",
+ "farmerId": "FARMER123",
+ "resourceId": "FARM123",
+ "resourceType": "farm"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_CreateOrUpdate.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_CreateOrUpdate.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_CreateOrUpdate.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_CreateOrUpdate.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_Delete.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_Delete.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_Delete.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_Delete.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_Get.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_Get.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_Get.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_Get.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_GetCascadeDeleteJobDetails.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_GetCascadeDeleteJobDetails.json
similarity index 77%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_GetCascadeDeleteJobDetails.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_GetCascadeDeleteJobDetails.json
index 3721e59fb36c..76a9400b995d 100644
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_GetCascadeDeleteJobDetails.json
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_GetCascadeDeleteJobDetails.json
@@ -15,12 +15,6 @@
"lastActionDateTime": "2021-04-19T11:31:34Z",
"startTime": "2021-04-19T11:31:19Z",
"endTime": "2021-04-19T11:31:34Z",
- "name": "John Smith's Farm",
- "description": "Some description",
- "properties": {
- "Irrigated": "Yes",
- "RetailerId": "Retailer123"
- },
"farmerId": "FARMER123",
"resourceId": "FARM123",
"resourceType": "farm"
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_List.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_List.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_List.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_List.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_ListByFarmerId.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_ListByFarmerId.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_ListByFarmerId.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Farms_ListByFarmerId.json
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_CreateCascadeDeleteJob.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_CreateCascadeDeleteJob.json
new file mode 100644
index 000000000000..45fd781771bb
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_CreateCascadeDeleteJob.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "FARMER123",
+ "fieldId": "FIELD123",
+ "api-version": "2021-03-31-preview",
+ "jobId": "JOB123"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "id": "JOB123",
+ "status": "Succeeded",
+ "message": "Job completed successfully.",
+ "durationInSeconds": 14.7977857,
+ "createdDateTime": "2021-04-19T11:31:20Z",
+ "lastActionDateTime": "2021-04-19T11:31:34Z",
+ "startTime": "2021-04-19T11:31:19Z",
+ "endTime": "2021-04-19T11:31:34Z",
+ "farmerId": "FARMER123",
+ "resourceId": "FIELD123",
+ "resourceType": "field"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_CreateOrUpdate.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_CreateOrUpdate.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_CreateOrUpdate.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_CreateOrUpdate.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_Delete.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_Delete.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_Delete.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_Delete.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_Get.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_Get.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_Get.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_Get.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_GetCascadeDeleteJobDetails.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_GetCascadeDeleteJobDetails.json
similarity index 77%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_GetCascadeDeleteJobDetails.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_GetCascadeDeleteJobDetails.json
index fe5878968de1..a4f99959cb1d 100644
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_GetCascadeDeleteJobDetails.json
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_GetCascadeDeleteJobDetails.json
@@ -15,12 +15,6 @@
"lastActionDateTime": "2021-04-19T11:31:34Z",
"startTime": "2021-04-19T11:31:19Z",
"endTime": "2021-04-19T11:31:34Z",
- "name": "John Smith's Field",
- "description": "Some description",
- "properties": {
- "Irrigated": "Yes",
- "RetailerId": "Retailer123"
- },
"farmerId": "FARMER123",
"resourceId": "FIELD123",
"resourceType": "field"
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_List.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_List.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_List.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_List.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_ListByFarmerId.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_ListByFarmerId.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_ListByFarmerId.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Fields_ListByFarmerId.json
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_CreateCascadeDeleteJob.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_CreateCascadeDeleteJob.json
new file mode 100644
index 000000000000..b9eb70d322f5
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_CreateCascadeDeleteJob.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "Farmer123",
+ "harvestDataId": "Harvest123",
+ "api-version": "2021-03-31-preview",
+ "jobId": "Job123"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "farmerId": "Farmer123",
+ "resourceId": "Harvest123",
+ "resourceType": "harvestdata",
+ "id": "Job123",
+ "status": "Waiting",
+ "message": "Created cascade delete job for 'harvestdata' resource with id 'Harvest123' and farmerId 'Farmer123'.",
+ "createdDateTime": "2021-06-19T11:55:34Z",
+ "lastActionDateTime": "2021-06-19T11:55:34Z",
+ "startTime": "2021-06-19T11:55:34Z"
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_CreateOrUpdate.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_CreateOrUpdate.json
new file mode 100644
index 000000000000..31a7b46a7184
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_CreateOrUpdate.json
@@ -0,0 +1,240 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "Farmer123",
+ "harvestDataId": "Harvest123",
+ "harvestData": {
+ "totalYield": {
+ "unit": "kilos",
+ "value": 1400
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 28
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 500
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 14.61
+ },
+ "avgSpeed": {
+ "unit": "kmsperhour",
+ "value": 7.2
+ },
+ "harvestProductDetails": [
+ {
+ "productName": "Product123",
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 900
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 10
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 16.4
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 300
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10
+ }
+ }
+ ],
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "status": "Active",
+ "name": "Test harvest data",
+ "description": "Test harvest data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "totalYield": {
+ "unit": "kilos",
+ "value": 1400.0
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 28.0
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 500.0
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10.0
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 14.61
+ },
+ "avgSpeed": {
+ "unit": "kmsperhour",
+ "value": 7.2
+ },
+ "harvestProductDetails": [
+ {
+ "productName": "Product123",
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 900.0
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 10.0
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 16.4
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 300.0
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10.0
+ }
+ }
+ ],
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Harvest123",
+ "eTag": "02002c9d-0000-0600-0000-60cdd6a40000",
+ "status": "Active",
+ "createdDateTime": "2021-06-19T11:36:04Z",
+ "modifiedDateTime": "2021-06-19T11:36:04Z",
+ "name": "Test harvest data",
+ "description": "Test harvest data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "totalYield": {
+ "unit": "kilos",
+ "value": 1400.0
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 28.0
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 500.0
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10.0
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 14.61
+ },
+ "avgSpeed": {
+ "unit": "kmsperhour",
+ "value": 7.2
+ },
+ "harvestProductDetails": [
+ {
+ "productName": "Product123",
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 900.0
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 10.0
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 16.4
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 300.0
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10.0
+ }
+ }
+ ],
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Harvest123",
+ "eTag": "02002c9d-0000-0600-0000-60cdd6a40000",
+ "status": "Active",
+ "createdDateTime": "2021-06-19T11:36:04Z",
+ "modifiedDateTime": "2021-06-19T11:36:04Z",
+ "name": "Test harvest data",
+ "description": "Test harvest data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Delete.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Delete.json
new file mode 100644
index 000000000000..642cb085baa0
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Delete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "Farmer123",
+ "harvestDataId": "Harvest123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Get.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Get.json
new file mode 100644
index 000000000000..b745fe382f5f
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_Get.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "Farmer123",
+ "harvestDataId": "Harvest123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "totalYield": {
+ "unit": "kilos",
+ "value": 1400.0
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 28.0
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 500.0
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10.0
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 14.61
+ },
+ "avgSpeed": {
+ "unit": "kmsperhour",
+ "value": 7.2
+ },
+ "harvestProductDetails": [
+ {
+ "productName": "Product123",
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 900.0
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 10.0
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 16.4
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 300.0
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10.0
+ }
+ }
+ ],
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "attachmentsLink": "https://bb-prod-wcus-1.farmbeats.azure.net/farmer/Farmer123/attachments?api-version=2021-03-31-preview&resourceIds=Harvest123&resourceTypes=HarvestData",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Harvest123",
+ "eTag": "02002c9d-0000-0600-0000-60cdd6a40000",
+ "status": "Active",
+ "createdDateTime": "2021-06-19T11:36:04Z",
+ "modifiedDateTime": "2021-06-19T11:36:04Z",
+ "name": "Test harvest data",
+ "description": "Test harvest data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_GetCascadeDeleteJobDetails.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_GetCascadeDeleteJobDetails.json
new file mode 100644
index 000000000000..8cf31a9ff735
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_GetCascadeDeleteJobDetails.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "jobId": "Job123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "farmerId": "Farmer123",
+ "resourceId": "Harvest123",
+ "resourceType": "harvestdata",
+ "id": "Job123",
+ "status": "Succeeded",
+ "durationInSeconds": 0.9115014,
+ "message": "Job completed successfully.",
+ "createdDateTime": "2021-06-19T11:55:34Z",
+ "lastActionDateTime": "2021-06-19T11:55:35Z",
+ "startTime": "2021-06-19T11:55:34Z",
+ "endTime": "2021-06-19T11:55:35Z"
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_List.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_List.json
new file mode 100644
index 000000000000..5e2ad3cb52bd
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_List.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "Farmer123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "totalYield": {
+ "unit": "kilos",
+ "value": 1400.0
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 28.0
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 500.0
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10.0
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 14.61
+ },
+ "avgSpeed": {
+ "unit": "kmsperhour",
+ "value": 7.2
+ },
+ "harvestProductDetails": [
+ {
+ "productName": "Product123",
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 900.0
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 10.0
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 16.4
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 300.0
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10.0
+ }
+ }
+ ],
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "attachmentsLink": "https://bb-prod-wcus-1.farmbeats.azure.net/farmer/Farmer123/attachments?api-version=2021-03-31-preview&resourceIds=Harvest123&resourceTypes=HarvestData",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Harvest123",
+ "eTag": "02002c9d-0000-0600-0000-60cdd6a40000",
+ "status": "Active",
+ "createdDateTime": "2021-06-19T11:36:04Z",
+ "modifiedDateTime": "2021-06-19T11:36:04Z",
+ "name": "Test harvest data",
+ "description": "Test harvest data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ ],
+ "nextLink": "https://test.farmbeats.azure.net/planting-data?api-version=2021-03-31-preview&$skipToken=2d7dad55-cfa9-4760-b198-0df17ec2fb65"
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_ListByFarmerId.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_ListByFarmerId.json
new file mode 100644
index 000000000000..9c884906cde0
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/HarvestData_ListByFarmerId.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "Farmer123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "totalYield": {
+ "unit": "kilos",
+ "value": 1400.0
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 28.0
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 500.0
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10.0
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 14.61
+ },
+ "avgSpeed": {
+ "unit": "kmsperhour",
+ "value": 7.2
+ },
+ "harvestProductDetails": [
+ {
+ "productName": "Product123",
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "totalYield": {
+ "unit": "kilos",
+ "value": 900.0
+ },
+ "avgYield": {
+ "unit": "kilosperacre",
+ "value": 10.0
+ },
+ "avgMoisture": {
+ "unit": "percent",
+ "value": 16.4
+ },
+ "totalWetMass": {
+ "unit": "kilos",
+ "value": 300.0
+ },
+ "avgWetMass": {
+ "unit": "kilosperacre",
+ "value": 10.0
+ }
+ }
+ ],
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "attachmentsLink": "https://bb-prod-wcus-1.farmbeats.azure.net/farmer/Farmer123/attachments?api-version=2021-03-31-preview&resourceIds=Harvest123&resourceTypes=HarvestData",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Harvest123",
+ "eTag": "02002c9d-0000-0600-0000-60cdd6a40000",
+ "status": "Active",
+ "createdDateTime": "2021-06-19T11:36:04Z",
+ "modifiedDateTime": "2021-06-19T11:36:04Z",
+ "name": "Test harvest data",
+ "description": "Test harvest data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_CreateRasterizeJob.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_CreateRasterizeJob.json
new file mode 100644
index 000000000000..77685a7910b8
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_CreateRasterizeJob.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "Job123",
+ "api-version": "2021-03-31-preview",
+ "body": {
+ "farmerId": "Farmer123",
+ "shapefileAttachmentId": "HarvestingDataShapefile123",
+ "shapefileColumnNames": [
+ "Wet_yield",
+ "Dry_yield"
+ ],
+ "name": "Harvest data rasterize job",
+ "description": "Harvest data rasterize job details",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "durationInSeconds": 12.4,
+ "id": "Job123",
+ "status": "Waiting",
+ "message": "Created job to rasterize shapefile for job name 'Job123', farmer id 'Farmer123' and shapefileAttachment id 'HarvestingDataShapefile123'.",
+ "createdDateTime": "2021-04-16T11:33:45Z",
+ "lastActionDateTime": "2021-04-16T11:33:45Z",
+ "startTime": "2021-04-16T11:33:45Z",
+ "endTime": "2021-04-16T11:33:45Z",
+ "farmerId": "Farmer123",
+ "shapefileAttachmentId": "HarvestingDataShapefile123",
+ "shapefileColumnNames": [
+ "Wet_yield",
+ "Dry_yield"
+ ],
+ "name": "Harvest data rasterize job",
+ "description": "Harvest data rasterize job details",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_GetRasterizeJob.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_GetRasterizeJob.json
new file mode 100644
index 000000000000..1fe7dac4a5f2
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/ImageProcessing_GetRasterizeJob.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "Job123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "durationInSeconds": 12.4,
+ "id": "Job123",
+ "status": "Succeeded",
+ "message": "Rasterization of shapefile is completed",
+ "createdDateTime": "2021-04-16T08:24:50Z",
+ "lastActionDateTime": "2021-04-16T08:24:50Z",
+ "startTime": "2021-04-16T08:24:50Z",
+ "endTime": "2021-04-16T08:24:50Z",
+ "farmerId": "Farmer123",
+ "shapefileAttachmentId": "HarvestingDataShapefile123",
+ "shapefileColumnNames": [
+ "Wet_yield",
+ "Dry_yield"
+ ],
+ "name": "Harvest data rasterize job",
+ "description": "Harvest data rasterize job details",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_CreateCascadeDeleteJob.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_CreateCascadeDeleteJob.json
new file mode 100644
index 000000000000..5efbae69a6ce
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_CreateCascadeDeleteJob.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "oauthProviderId": "JOHNDEERE",
+ "api-version": "2021-03-31-preview",
+ "jobId": "Job123"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "oauthProviderId": "JOHNDEERE",
+ "id": "Job123",
+ "status": "Waiting",
+ "message": "Created cascade delete job for oauth provider 'JOHNDEERE'.",
+ "createdDateTime": "2021-06-19T13:21:49Z",
+ "lastActionDateTime": "2021-06-19T13:21:49Z",
+ "startTime": "2021-06-19T13:21:49Z"
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_CreateOrUpdate.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_CreateOrUpdate.json
new file mode 100644
index 000000000000..70e0719a0cac
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_CreateOrUpdate.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "oauthProviderId": "JOHNDEERE",
+ "api-version": "2021-03-31-preview",
+ "oauthProvider": {
+ "appId": "appId",
+ "appSecret": "appSecret",
+ "apiKey": "apiKey",
+ "isProductionApp": false,
+ "name": "Test oAuth provider",
+ "description": "Test oAuth provider description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "JOHNDEERE",
+ "appId": "appId",
+ "isProductionApp": false,
+ "name": "Test oAuth provider",
+ "description": "Test oAuth provider description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ },
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e",
+ "createdDateTime": "2021-04-23T11:31:10Z",
+ "modifiedDateTime": "2021-04-23T11:31:10Z"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "JOHNDEERE",
+ "appId": "appId",
+ "isProductionApp": false,
+ "name": "Test oAuth provider",
+ "description": "Test oAuth provider description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ },
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e",
+ "createdDateTime": "2021-04-23T11:31:10Z",
+ "modifiedDateTime": "2021-04-23T11:31:10Z"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_Delete.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_Delete.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_Delete.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_Delete.json
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_Get.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_Get.json
new file mode 100644
index 000000000000..5f70efb1d71c
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "oauthProviderId": "JOHNDEERE",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "appId": "appId",
+ "isProductionApp": false,
+ "id": "JOHNDEERE",
+ "eTag": "f8fad5b-d9cb-469f-a165-70867728950e",
+ "createdDateTime": "2021-04-22T18:27:37Z",
+ "modifiedDateTime": "2021-04-22T18:27:37Z",
+ "name": "Test oAuth provider",
+ "description": "Test oAuth provider description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_GetCascadeDeleteJobDetails.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_GetCascadeDeleteJobDetails.json
new file mode 100644
index 000000000000..ed961b3625d8
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_GetCascadeDeleteJobDetails.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "jobId": "Job123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "oauthProviderId": "CLIMATE",
+ "id": "J12",
+ "status": "Succeeded",
+ "durationInSeconds": 5.154055,
+ "message": "Job completed successfully.",
+ "createdDateTime": "2021-06-19T13:21:49Z",
+ "lastActionDateTime": "2021-06-19T13:21:54Z",
+ "startTime": "2021-06-19T13:21:49Z",
+ "endTime": "2021-06-19T13:21:54Z"
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_List.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_List.json
new file mode 100644
index 000000000000..03aeb49776ac
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthProviders_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "appId": "0oagl9ap4plg0p6fn1t7ss",
+ "isProductionApp": false,
+ "id": "JOHNDEERE",
+ "eTag": "0200239b-0000-0600-0000-60c87b7b0000",
+ "createdDateTime": "2021-06-15T10:05:47Z",
+ "modifiedDateTime": "2021-06-15T10:05:47Z",
+ "name": "Test oAuth provider",
+ "description": "Test oAuth provider description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_CreateCascadeDeleteJob.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_CreateCascadeDeleteJob.json
new file mode 100644
index 000000000000..4924b6b5fd04
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_CreateCascadeDeleteJob.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "Job123",
+ "farmerId": "Farmer123",
+ "oauthProviderId": "JOHNDEERE",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "farmerId": "Farmer123",
+ "resourceId": "JOHNDEERE",
+ "resourceType": "oauthtokeninfo",
+ "id": "Job123",
+ "status": "Waiting",
+ "message": "Created cascade delete job for 'oauthtokeninfo' resource with id 'JOHNDEERE' and farmerId 'Farmer123'.",
+ "createdDateTime": "2021-05-13T20:04:39Z",
+ "lastActionDateTime": "2021-05-13T20:04:39Z",
+ "startTime": "2021-05-13T20:04:37Z"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetCascadeDeleteJobDetails.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetCascadeDeleteJobDetails.json
similarity index 76%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetCascadeDeleteJobDetails.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetCascadeDeleteJobDetails.json
index 9a263d908ddf..dff4c27ebfd3 100644
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetCascadeDeleteJobDetails.json
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetCascadeDeleteJobDetails.json
@@ -1,18 +1,18 @@
{
"parameters": {
"Endpoint": "{Endpoint}",
- "jobId": "JOBID123",
+ "jobId": "Job123",
"api-version": "2021-03-31-preview"
},
"responses": {
"200": {
"body": {
- "farmerId": "FARMER123",
+ "farmerId": "Farmer123",
"resourceId": "JOHNDEERE",
"resourceType": "oauthtokeninfo",
- "id": "JOBID123",
+ "id": "Job123",
"status": "Waiting",
- "message": "Created cascade delete job for 'oauthtokeninfo' resource with id 'JOHNDEERE' and farmerId 'FARMER123'.",
+ "message": "Created cascade delete job for 'oauthtokeninfo' resource with id 'JOHNDEERE' and farmerId 'Farmer123'.",
"createdDateTime": "2021-05-13T20:04:39Z",
"lastActionDateTime": "2021-05-13T20:04:39Z",
"startTime": "2021-05-13T20:04:37Z"
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetOAuthConnectionLink.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetOAuthConnectionLink.json
similarity index 91%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetOAuthConnectionLink.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetOAuthConnectionLink.json
index 31c435205661..cdded3a90641 100644
--- a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetOAuthConnectionLink.json
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_GetOAuthConnectionLink.json
@@ -3,7 +3,7 @@
"Endpoint": "{Endpoint}",
"api-version": "2021-03-31-preview",
"body": {
- "farmerId": "FARMER123",
+ "farmerId": "Farmer123",
"oAuthProviderId": "JOHNDEERE",
"userRedirectLink": "https://docs.microsoft.com",
"userRedirectState": "code"
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_List.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_List.json
new file mode 100644
index 000000000000..a1db524cb2e2
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/OAuthTokens_List.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "farmerId": "Farmer123",
+ "authProviderId": "JOHNDEERE",
+ "isValid": true,
+ "eTag": "0f8fad5b-d9cb-469f-a165-70867728950e",
+ "createdDateTime": "2021-04-22T18:49:25Z",
+ "modifiedDateTime": "2021-04-22T18:49:25Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_CreateCascadeDeleteJob.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_CreateCascadeDeleteJob.json
new file mode 100644
index 000000000000..d55ceb369a18
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_CreateCascadeDeleteJob.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "Farmer123",
+ "plantingDataId": "Planting123",
+ "api-version": "2021-03-31-preview",
+ "jobId": "Job123"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "farmerId": "Farmer123",
+ "resourceId": "Planting123",
+ "resourceType": "plantingdata",
+ "id": "Job123",
+ "status": "Waiting",
+ "message": "Created cascade delete job for 'plantingdata' resource with id 'Planting123' and farmerId 'Farmer123'.",
+ "createdDateTime": "2021-06-19T11:09:35Z",
+ "lastActionDateTime": "2021-06-19T11:09:35Z",
+ "startTime": "2021-06-19T11:09:35Z"
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_CreateOrUpdate.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_CreateOrUpdate.json
new file mode 100644
index 000000000000..66ce59f30a5f
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_CreateOrUpdate.json
@@ -0,0 +1,168 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "Farmer123",
+ "plantingDataId": "Planting123",
+ "plantingData": {
+ "avgPlantingRate": {
+ "unit": "seedsperacre",
+ "value": 30
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 758814
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 25293
+ },
+ "plantingProductDetails": [
+ {
+ "productName": "Product123",
+ "area": {
+ "unit": "acre",
+ "value": 20
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 389214
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 19460
+ }
+ }
+ ],
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "status": "Active",
+ "name": "Test planting data",
+ "description": "Test planting data details",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "avgPlantingRate": {
+ "unit": "seedsperacre",
+ "value": 30.0
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 758814.0
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 25293.0
+ },
+ "plantingProductDetails": [
+ {
+ "productName": "Product123",
+ "area": {
+ "unit": "acre",
+ "value": 20.0
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 389214.0
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 19460.0
+ }
+ }
+ ],
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Planting123",
+ "eTag": "03002c6d-0000-0600-0000-60cdc7740000",
+ "status": "Active",
+ "createdDateTime": "2021-06-19T10:31:16Z",
+ "modifiedDateTime": "2021-06-19T10:31:16Z",
+ "name": "Test planting data",
+ "description": "Test planting data details",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "avgPlantingRate": {
+ "unit": "seedsperacre",
+ "value": 30.0
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 758814.0
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 25293.0
+ },
+ "plantingProductDetails": [
+ {
+ "productName": "Product123",
+ "area": {
+ "unit": "acre",
+ "value": 20.0
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 389214.0
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 19460.0
+ }
+ }
+ ],
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Planting123",
+ "eTag": "03002c6d-0000-0600-0000-60cdc7740000",
+ "status": "Active",
+ "createdDateTime": "2021-06-19T10:31:16Z",
+ "modifiedDateTime": "2021-06-19T10:31:16Z",
+ "name": "Test planting data",
+ "description": "Test planting data details",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Delete.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Delete.json
new file mode 100644
index 000000000000..02a7b6acb22a
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Delete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "Farmer123",
+ "plantingDataId": "Planting123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Get.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Get.json
new file mode 100644
index 000000000000..c3b63e06ed10
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_Get.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "Farmer123",
+ "plantingDataId": "Planting123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "avgPlantingRate": {
+ "unit": "seedsperacre",
+ "value": 30.0
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 758814.0
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 25293.0
+ },
+ "plantingProductDetails": [
+ {
+ "productName": "Product123",
+ "area": {
+ "unit": "acre",
+ "value": 20.0
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 389214.0
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 19460.0
+ }
+ }
+ ],
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "attachmentsLink": "https://bb-prod-wcus-1.farmbeats.azure.net/farmer/Farmer123/attachments?api-version=2021-03-31-preview&resourceIds=Planting123&resourceTypes=PlantingData",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Planting123",
+ "eTag": "03002c6d-0000-0600-0000-60cdc7740000",
+ "status": "Active",
+ "createdDateTime": "2021-06-19T10:31:16Z",
+ "modifiedDateTime": "2021-06-19T10:31:16Z",
+ "name": "Test planting data",
+ "description": "Test planting data details",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_GetCascadeDeleteJobDetails.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_GetCascadeDeleteJobDetails.json
new file mode 100644
index 000000000000..d9271c70f746
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_GetCascadeDeleteJobDetails.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "jobId": "Job123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "farmerId": "Farmer123",
+ "resourceId": "Planting123",
+ "resourceType": "plantingdata",
+ "id": "Job1234",
+ "status": "Succeeded",
+ "durationInSeconds": 2.73909,
+ "message": "Job completed successfully.",
+ "createdDateTime": "2021-06-19T11:09:35Z",
+ "lastActionDateTime": "2021-06-19T11:09:38Z",
+ "startTime": "2021-06-19T11:09:35Z",
+ "endTime": "2021-06-19T11:09:38Z"
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_List.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_List.json
new file mode 100644
index 000000000000..e04e6b9919c2
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_List.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "FARMER123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "avgPlantingRate": {
+ "unit": "seedsperacre",
+ "value": 30.0
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 758814.0
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 25293.0
+ },
+ "plantingProductDetails": [
+ {
+ "productName": "Product123",
+ "area": {
+ "unit": "acre",
+ "value": 20.0
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 389214.0
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 19460.0
+ }
+ }
+ ],
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "attachmentsLink": "https://bb-prod-wcus-1.farmbeats.azure.net/farmer/Farmer123/attachments?api-version=2021-03-31-preview&resourceIds=Planting123&resourceTypes=PlantingData",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Planting123",
+ "eTag": "03002c6d-0000-0600-0000-60cdc7740000",
+ "status": "Active",
+ "createdDateTime": "2021-06-19T10:31:16Z",
+ "modifiedDateTime": "2021-06-19T10:31:16Z",
+ "name": "Test planting data",
+ "description": "Test planting data details",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ ],
+ "nextLink": "https://test.farmbeats.azure.net/planting-data?api-version=2021-03-31-preview&$skipToken=2d7dad55-cfa9-4760-b198-0df17ec2fb65"
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_ListByFarmerId.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_ListByFarmerId.json
new file mode 100644
index 000000000000..428296e0c1a7
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/PlantingData_ListByFarmerId.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "FARMER123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "avgPlantingRate": {
+ "unit": "seedsperacre",
+ "value": 30.0
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 758814.0
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 25293.0
+ },
+ "plantingProductDetails": [
+ {
+ "productName": "Product123",
+ "area": {
+ "unit": "acre",
+ "value": 20.0
+ },
+ "totalMaterial": {
+ "unit": "seeds",
+ "value": 389214.0
+ },
+ "avgMaterial": {
+ "unit": "seedsperacre",
+ "value": 19460.0
+ }
+ }
+ ],
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "attachmentsLink": "https://bb-prod-wcus-1.farmbeats.azure.net/farmer/Farmer123/attachments?api-version=2021-03-31-preview&resourceIds=Planting123&resourceTypes=PlantingData",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Planting123",
+ "eTag": "03002c6d-0000-0600-0000-60cdc7740000",
+ "status": "Active",
+ "createdDateTime": "2021-06-19T10:31:16Z",
+ "modifiedDateTime": "2021-06-19T10:31:16Z",
+ "name": "Test planting data",
+ "description": "Test planting data details",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_CreateSatelliteDataIngestionJob.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_CreateSatelliteDataIngestionJob.json
new file mode 100644
index 000000000000..e2904fe8beb0
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_CreateSatelliteDataIngestionJob.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "Job123",
+ "api-version": "2021-03-31-preview",
+ "body": {
+ "boundaryId": "Boundary123",
+ "endDateTime": "2021-04-16T10:14:12Z",
+ "farmerId": "Farmer123",
+ "startDateTime": "2020-04-16T10:14:12Z",
+ "provider": "Microsoft",
+ "source": "Sentinel_2_L2A",
+ "data": {
+ "imageFormats": [
+ "TIF"
+ ],
+ "imageNames": [
+ "NDVI"
+ ],
+ "imageResolutions": [
+ 10.0
+ ]
+ },
+ "name": "Test satellite job",
+ "description": "Test satellite job details",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "farmerId": "Farmer123",
+ "boundaryId": "Boundary123",
+ "startDateTime": "2020-04-16T10:14:12Z",
+ "endDateTime": "2021-04-16T10:14:12Z",
+ "provider": "Microsoft",
+ "source": "Sentinel_2_L2A",
+ "data": {
+ "imageNames": [
+ "NDVI"
+ ],
+ "imageFormats": [
+ "TIF"
+ ],
+ "imageResolutions": [
+ 10.0
+ ]
+ },
+ "id": "Job123",
+ "status": "Waiting",
+ "message": "Created job 'Job123' to fetch satellite data for boundary 'Boundary123' from startDate '04/16/2020' to endDate '04/16/2021' (both inclusive).",
+ "createdDateTime": "2021-06-19T15:30:50Z",
+ "lastActionDateTime": "2021-06-19T15:30:50Z",
+ "startTime": "2021-06-19T15:30:50Z",
+ "name": "Test satellite job",
+ "description": "Test satellite job details",
+ "properties": {
+ "region": "Central US",
+ "retailerId": 123
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_Download.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_Download.json
new file mode 100644
index 000000000000..7323e0bd0174
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_Download.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "filePath": "Microsoft%2fSentinel_2_L2A%2fFarmer123%2fBoundary123%2f2021-04-16%2f00-00-00%2fndvi_10.tif",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": "101010101"
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_GetSatelliteDataIngestionJobDetails.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_GetSatelliteDataIngestionJobDetails.json
new file mode 100644
index 000000000000..3438c104e95a
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_GetSatelliteDataIngestionJobDetails.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "Job123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "farmerId": "Farmer123",
+ "boundaryId": "Boundary123",
+ "startDateTime": "2020-04-16T10:14:12Z",
+ "endDateTime": "2021-04-16T10:14:12Z",
+ "provider": "Microsoft",
+ "source": "Sentinel_2_L2A",
+ "data": {
+ "imageNames": [
+ "NDVI"
+ ],
+ "imageFormats": [
+ "TIF"
+ ],
+ "imageResolutions": [
+ 10.0
+ ]
+ },
+ "id": "Job123",
+ "status": "Succeeded",
+ "durationInSeconds": 14.2833851,
+ "message": "Satellite data is available for 73 days from provider in the requested date range. Successfully fetched data for 73 days.",
+ "createdDateTime": "2021-06-19T15:30:50Z",
+ "lastActionDateTime": "2021-06-19T15:31:04Z",
+ "startTime": "2021-06-19T15:30:50Z",
+ "endTime": "2021-06-19T15:31:04Z",
+ "name": "Test satellite job",
+ "description": "Test satellite job details",
+ "properties": {
+ "region": "Central US",
+ "retailerId": 123
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_List.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_List.json
new file mode 100644
index 000000000000..6dbc301b029b
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Scenes_List.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "provider": "Microsoft",
+ "farmerId": "Farmer123",
+ "boundaryId": "Boundary123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sceneDateTime": "2021-04-16T00:00:00Z",
+ "provider": "Microsoft",
+ "source": "Sentinel_2_L2A",
+ "imageFiles": [
+ {
+ "fileLink": "https://test.farmbeats.azure.net/scenes/downloadFiles?api-version=2021-03-31-preview&filePath=Microsoft%2fSentinel_2_L2A%2fFarmer123%2fBoundary123%2f2021-04-16%2f00-00-00%2fndvi_10.tif",
+ "name": "NDVI",
+ "resolution": 10.0
+ }
+ ],
+ "imageFormat": "TIF",
+ "cloudCoverPercentage": 0.0,
+ "darkPixelPercentage": 0.0,
+ "ndviMedianValue": 0.43166860938072205,
+ "boundaryId": "Boundary123",
+ "farmerId": "Farmer123",
+ "id": "4e533975-5cfc-5b54-b216-6c6a0fdb387b",
+ "eTag": "03007b6d-0000-0600-0000-60ce0db80000"
+ },
+ {
+ "sceneDateTime": "2021-04-11T00:00:00Z",
+ "provider": "Microsoft",
+ "source": "Sentinel_2_L2A",
+ "imageFiles": [
+ {
+ "fileLink": "https://test.farmbeats.azure.net/scenes/downloadFiles?api-version=2021-03-31-preview&filePath=Microsoft%2fSentinel_2_L2A%2fFarmer123%2fBoundary123%2f2021-04-11%2f00-00-00%2fndvi_10.tif",
+ "name": "NDVI",
+ "resolution": 10.0
+ }
+ ],
+ "imageFormat": "TIF",
+ "cloudCoverPercentage": 0.0,
+ "darkPixelPercentage": 0.0,
+ "ndviMedianValue": 0.41777390241622925,
+ "boundaryId": "Boundary123",
+ "farmerId": "Farmer123",
+ "id": "4ebdef7f-3ade-7750-0096-2c5024eb72c0",
+ "eTag": "0300796d-0000-0600-0000-60ce0db80000"
+ }
+ ],
+ "nextLink": "https://test.farmbeats.azure.net/scenes?provider=Microsoft&farmerId=Farmer123&boundaryId=Boundary123&source=Sentinel_2_L2A&api-version=2021-03-31-preview&$skipToken=W3sidG9rZW4iOiIrUklEOn5Qa1pRQU1teHVDWVVQZ0VBQUFBQUFBPT0jUlQ6MSNUUkM6NTAjUlREOm4rVGxTTDV1UEkzZjhDSUxkNys1QlRNeE16RXVNVGt1TVRwVk1URTdNVEU3TVRGYkFBPT0jSVNWOjIjSUVPOjY1NTY3I1FDRjo3I0ZQQzpBZXc5QVFBQUFBQUFORDRCQUFBQUFBQT0iLCJyYW5nZSI6eyJtaW4iOiIiLCJtYXgiOiIxRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRiJ9fV0"
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_CreateCascadeDeleteJob.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_CreateCascadeDeleteJob.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_CreateCascadeDeleteJob.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_CreateCascadeDeleteJob.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_CreateOrUpdate.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_CreateOrUpdate.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_CreateOrUpdate.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_CreateOrUpdate.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_Delete.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_Delete.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_Delete.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_Delete.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_Get.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_Get.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_Get.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_Get.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_GetCascadeDeleteJobDetails.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_GetCascadeDeleteJobDetails.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_GetCascadeDeleteJobDetails.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_GetCascadeDeleteJobDetails.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_List.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_List.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_List.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_List.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_ListByFarmerId.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_ListByFarmerId.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_ListByFarmerId.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/SeasonalFields_ListByFarmerId.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_CreateOrUpdate.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_CreateOrUpdate.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_CreateOrUpdate.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_CreateOrUpdate.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_Delete.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_Delete.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_Delete.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_Delete.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_Get.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_Get.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_Get.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_Get.json
diff --git a/specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_List.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_List.json
similarity index 100%
rename from specification/agfood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_List.json
rename to specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Seasons_List.json
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_CreateCascadeDeleteJob.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_CreateCascadeDeleteJob.json
new file mode 100644
index 000000000000..16ba808c4004
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_CreateCascadeDeleteJob.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "Farmer123",
+ "tillageDataId": "Tillage123",
+ "api-version": "2021-03-31-preview",
+ "jobId": "Job123"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "farmerId": "Farmer123",
+ "resourceId": "Tillage123",
+ "resourceType": "tillagedata",
+ "id": "Job123",
+ "status": "Waiting",
+ "message": "Created cascade delete job for 'tillagedata' resource with id 'Tillage123' and farmerId 'Farmer123'.",
+ "createdDateTime": "2021-06-19T12:27:56Z",
+ "lastActionDateTime": "2021-06-19T12:27:56Z",
+ "startTime": "2021-06-19T12:27:56Z"
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_CreateOrUpdate.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_CreateOrUpdate.json
new file mode 100644
index 000000000000..7115dc5ceda2
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_CreateOrUpdate.json
@@ -0,0 +1,105 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "Farmer123",
+ "tillageDataId": "Tillage123",
+ "tillageData": {
+ "tillageDepth": {
+ "unit": "cms",
+ "value": 9.5
+ },
+ "tillagePressure": {
+ "unit": "kg per sq cms",
+ "value": 950
+ },
+ "area": {
+ "unit": "acre",
+ "value": 30
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "status": "Active",
+ "name": "Test tillage data",
+ "description": "Test tillage data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "tillageDepth": {
+ "unit": "cms",
+ "value": 9.5
+ },
+ "tillagePressure": {
+ "unit": "kg per sq cms",
+ "value": 950.0
+ },
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Tillage123",
+ "eTag": "02002e9d-0000-0600-0000-60cdddc00000",
+ "status": "Active",
+ "createdDateTime": "2021-06-19T12:06:24Z",
+ "modifiedDateTime": "2021-06-19T12:06:24Z",
+ "name": "Test tillage data",
+ "description": "Test tillage data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "tillageDepth": {
+ "unit": "cms",
+ "value": 9.5
+ },
+ "tillagePressure": {
+ "unit": "kg per sq cms",
+ "value": 950.0
+ },
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Tillage123",
+ "eTag": "02002e9d-0000-0600-0000-60cdddc00000",
+ "status": "Active",
+ "createdDateTime": "2021-06-19T12:06:24Z",
+ "modifiedDateTime": "2021-06-19T12:06:24Z",
+ "name": "Test tillage data",
+ "description": "Test tillage data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Delete.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Delete.json
new file mode 100644
index 000000000000..052a95b5a0cd
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Delete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "Farmer123",
+ "tillageDataId": "Tillage123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Get.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Get.json
new file mode 100644
index 000000000000..4e70cbc636c1
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_Get.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "Farmer123",
+ "tillageDataId": "Tillage123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tillageDepth": {
+ "unit": "cms",
+ "value": 9.5
+ },
+ "tillagePressure": {
+ "unit": "kg per sq cms",
+ "value": 950.0
+ },
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "attachmentsLink": "https://bb-prod-wcus-1.farmbeats.azure.net/farmer/Farmer123/attachments?api-version=2021-03-31-preview&resourceIds=Tillage123&resourceTypes=TillageData",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Tillage123",
+ "eTag": "02002e9d-0000-0600-0000-60cdddc00000",
+ "status": "Active",
+ "createdDateTime": "2021-06-19T12:06:24Z",
+ "modifiedDateTime": "2021-06-19T12:06:24Z",
+ "name": "Test tillage data",
+ "description": "Test tillage data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_GetCascadeDeleteJobDetails.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_GetCascadeDeleteJobDetails.json
new file mode 100644
index 000000000000..f8bdc2c408b1
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_GetCascadeDeleteJobDetails.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "jobId": "Job123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "farmerId": "Farmer123",
+ "resourceId": "Tillage123",
+ "resourceType": "tillagedata",
+ "id": "Job1234",
+ "status": "Succeeded",
+ "durationInSeconds": 2.73909,
+ "message": "Job completed successfully.",
+ "createdDateTime": "2021-06-19T11:09:35Z",
+ "lastActionDateTime": "2021-06-19T11:09:38Z",
+ "startTime": "2021-06-19T11:09:35Z",
+ "endTime": "2021-06-19T11:09:38Z"
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_List.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_List.json
new file mode 100644
index 000000000000..45b28cb2a4e9
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_List.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "Farmer123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "tillageDepth": {
+ "unit": "cms",
+ "value": 9.5
+ },
+ "tillagePressure": {
+ "unit": "kg per sq cms",
+ "value": 950.0
+ },
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "attachmentsLink": "https://bb-prod-wcus-1.farmbeats.azure.net/farmer/Farmer123/attachments?api-version=2021-03-31-preview&resourceIds=Tillage123&resourceTypes=TillageData",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Tillage123",
+ "eTag": "02002e9d-0000-0600-0000-60cdddc00000",
+ "status": "Active",
+ "createdDateTime": "2021-06-19T12:06:24Z",
+ "modifiedDateTime": "2021-06-19T12:06:24Z",
+ "name": "Test tillage data",
+ "description": "Test tillage data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ ],
+ "nextLink": "https://test.farmbeats.azure.net/planting-data?api-version=2021-03-31-preview&$skipToken=2d7dad55-cfa9-4760-b198-0df17ec2fb65"
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_ListByFarmerId.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_ListByFarmerId.json
new file mode 100644
index 000000000000..62c94adf2f67
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/TillageData_ListByFarmerId.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "api-version": "2021-03-31-preview",
+ "farmerId": "Farmer123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "tillageDepth": {
+ "unit": "cms",
+ "value": 9.5
+ },
+ "tillagePressure": {
+ "unit": "kg per sq cms",
+ "value": 950.0
+ },
+ "area": {
+ "unit": "acre",
+ "value": 30.0
+ },
+ "source": "Manual",
+ "operationModifiedDateTime": "2021-02-28T10:14:12Z",
+ "operationStartDateTime": "2021-02-25T16:57:04Z",
+ "operationEndDateTime": "2021-02-27T10:13:06Z",
+ "attachmentsLink": "https://bb-prod-wcus-1.farmbeats.azure.net/farmer/Farmer123/attachments?api-version=2021-03-31-preview&resourceIds=Tillage123&resourceTypes=TillageData",
+ "associatedBoundaryId": "AssociatedBoundary123",
+ "operationBoundaryId": "OperationBoundary123",
+ "farmerId": "Farmer123",
+ "id": "Tillage123",
+ "eTag": "02002e9d-0000-0600-0000-60cdddc00000",
+ "status": "Active",
+ "createdDateTime": "2021-06-19T12:06:24Z",
+ "modifiedDateTime": "2021-06-19T12:06:24Z",
+ "name": "Test tillage data",
+ "description": "Test tillage data description",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataDeleteJob.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataDeleteJob.json
new file mode 100644
index 000000000000..e17fd42cf841
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataDeleteJob.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "Job123",
+ "api-version": "2021-03-31-preview",
+ "body": {
+ "boundaryId": "Boundary123",
+ "extensionId": "DTN.ClearAg",
+ "farmerId": "Farmer123",
+ "weatherDataType": "historical",
+ "granularity": "daily",
+ "name": "Test delete weather job",
+ "description": "Test delete weather job details",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "extensionId": "DTN.ClearAg",
+ "farmerId": "Farmer123",
+ "boundaryId": "Boundary123",
+ "weatherDataType": "historical",
+ "granularity": "daily",
+ "id": "Job123",
+ "status": "Waiting",
+ "message": "Created weather data delete job for farmer id 'Farmer123', boundary id 'Boundary123' and extension id 'DTN.ClearAg'",
+ "createdDateTime": "2021-06-19T15:13:15Z",
+ "lastActionDateTime": "2021-06-19T15:13:15Z",
+ "startTime": "2021-06-19T15:13:15Z",
+ "name": "Test delete weather job",
+ "description": "Test delete weather job details",
+ "properties": {
+ "region": "Central US",
+ "retailerId": 123
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataIngestionJob.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataIngestionJob.json
new file mode 100644
index 000000000000..3a004def2cd2
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_CreateDataIngestionJob.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "Job123",
+ "api-version": "2021-03-31-preview",
+ "body": {
+ "boundaryId": "Boundary123",
+ "extensionApiInput": {
+ "location": "47.922759,-97.089954",
+ "start": "1606262400",
+ "end": "1606780800"
+ },
+ "extensionApiName": "dailyhistorical",
+ "extensionId": "DTN.ClearAg",
+ "farmerId": "Farmer123",
+ "extensionDataProviderAppId": "12...ca0",
+ "extensionDataProviderApiKey": "c743a0f....1eed0709",
+ "name": "Test weather job",
+ "description": "Test weather job details",
+ "properties": {
+ "Region": "Central US",
+ "RetailerId": 123
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "boundaryId": "Boundary123",
+ "farmerId": "Farmer123",
+ "extensionId": "DTN.ClearAg",
+ "extensionApiName": "dailyhistorical",
+ "extensionApiInput": {
+ "location": "47.922759,-97.089954",
+ "start": "1606262400",
+ "end": "1606780800"
+ },
+ "id": "Job123",
+ "status": "Waiting",
+ "message": "Created job 'Job123' to fetch weather data for farmer id 'Farmer123' and boundary id 'Boundary123'.",
+ "createdDateTime": "2021-06-19T14:52:22Z",
+ "lastActionDateTime": "2021-06-19T14:52:22Z",
+ "startTime": "2021-06-19T14:52:22Z",
+ "name": "Test weather job",
+ "description": "Test weather job details",
+ "properties": {
+ "region": "Central US",
+ "retailerId": 123
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataDeleteJobDetails.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataDeleteJobDetails.json
new file mode 100644
index 000000000000..ca4050c0b333
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataDeleteJobDetails.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "Job123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "extensionId": "DTN.ClearAg",
+ "farmerId": "Farmer123",
+ "boundaryId": "Boundary123",
+ "weatherDataType": "historical",
+ "granularity": "daily",
+ "id": "Job123",
+ "status": "Succeeded",
+ "durationInSeconds": 2.7015882,
+ "message": "Created weather data delete job for farmer id 'Farmer123', boundary id 'Boundary123' and extension id 'DTN.ClearAg'",
+ "createdDateTime": "2021-06-19T15:13:15Z",
+ "lastActionDateTime": "2021-06-19T15:13:18Z",
+ "startTime": "2021-06-19T15:13:15Z",
+ "endTime": "2021-06-19T15:13:18Z",
+ "name": "Test delete weather job",
+ "description": "Test delete weather job details",
+ "properties": {
+ "region": "Central US",
+ "retailerId": 123
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataIngestionJobDetails.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataIngestionJobDetails.json
new file mode 100644
index 000000000000..14a80af2347c
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_GetDataIngestionJobDetails.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "jobId": "Job123",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "boundaryId": "Boundary123",
+ "farmerId": "Farmer123",
+ "extensionId": "DTN.ClearAg",
+ "extensionApiName": "dailyhistorical",
+ "extensionApiInput": {
+ "location": "47.922759,-97.089954",
+ "start": "1606262400",
+ "end": "1606780800"
+ },
+ "id": "Job123",
+ "status": "Succeeded",
+ "durationInSeconds": 2.9322843,
+ "message": "Weather data available from '11/25/2020 00:00:00' to '11/30/2020 00:00:00'.",
+ "createdDateTime": "2021-06-19T14:52:22Z",
+ "lastActionDateTime": "2021-06-19T14:52:25Z",
+ "startTime": "2021-06-19T14:52:22Z",
+ "endTime": "2021-06-19T14:52:25Z",
+ "name": "Test weather job",
+ "description": "Test weather job details",
+ "properties": {
+ "region": "Central US",
+ "retailerId": 123
+ }
+ }
+ }
+ }
+}
diff --git a/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_List.json b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_List.json
new file mode 100644
index 000000000000..1ee1d1fc9f3a
--- /dev/null
+++ b/specification/agrifood/data-plane/Microsoft.AgFoodPlatform/preview/2021-03-31-preview/examples/Weather_List.json
@@ -0,0 +1,186 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "farmerId": "Farmer123",
+ "boundaryId": "Boundary123",
+ "extensionId": "DTN.ClearAg",
+ "weatherDataType": "historical",
+ "granularity": "daily",
+ "api-version": "2021-03-31-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "farmerId": "Farmer123",
+ "boundaryId": "Boundary123",
+ "extensionId": "DTN.ClearAg",
+ "location": {
+ "latitude": 47.922759,
+ "longitude": -97.089954
+ },
+ "dateTime": "2020-11-30T00:00:00Z",
+ "unitSystemCode": "us-std",
+ "extensionVersion": "1.0",
+ "weatherDataType": "historical",
+ "granularity": "daily",
+ "cloudCover": {
+ "unit": "%",
+ "value": 10.2
+ },
+ "dewPoint": {
+ "unit": "F",
+ "value": 12.0
+ },
+ "precipitation": {
+ "unit": "in",
+ "value": 0.0
+ },
+ "relativeHumidity": {
+ "unit": "%",
+ "value": 70.0
+ },
+ "temperature": {
+ "unit": "F",
+ "value": 21.0
+ },
+ "visibility": {
+ "unit": "mi",
+ "value": 10.0
+ },
+ "windGust": {
+ "unit": "mph",
+ "value": 26.0
+ },
+ "windSpeed": {
+ "unit": "mph",
+ "value": 12.0
+ },
+ "id": "b947d00f-5078-9bfa-f97a-1ef1ce54756a",
+ "eTag": "03002f6d-0000-0600-0000-60ce04a90000",
+ "createdDateTime": "2021-06-19T14:52:25Z",
+ "modifiedDateTime": "2021-06-19T14:52:25Z",
+ "properties": {
+ "airTempMax": {
+ "unit": "F",
+ "value": 35.0
+ },
+ "airTempMin": {
+ "unit": "F",
+ "value": 10.0
+ },
+ "cloudCoverMax": {
+ "unit": "%",
+ "value": 59.7
+ },
+ "cloudCoverMin": {
+ "unit": "%",
+ "value": 0.0
+ },
+ "cloudCoverAvgDescriptor": "Sunny",
+ "cloudCoverMaxDescriptor": "Partly Cloudy",
+ "cloudCoverMinDescriptor": "Sunny",
+ "dewPointMax": {
+ "unit": "F",
+ "value": 18.0
+ },
+ "dewPointMin": {
+ "unit": "F",
+ "value": 6.0
+ },
+ "iceAccPeriod": {
+ "unit": "in",
+ "value": 0.0
+ },
+ "liquidAccPeriod": {
+ "unit": "in",
+ "value": 0.0
+ },
+ "longWaveRadiationAvg": {
+ "unit": "W/m^2",
+ "value": 210.0
+ },
+ "longWaveRadiationMax": {
+ "unit": "W/m^2",
+ "value": 264.0
+ },
+ "longWaveRadiationMin": {
+ "unit": "W/m^2",
+ "value": 173.0
+ },
+ "petPeriod": {
+ "unit": "in",
+ "value": 0.02
+ },
+ "precipAccPeriodAdjusted": {
+ "unit": "%",
+ "value": 0.0
+ },
+ "precipAccPeriodRaw": {
+ "unit": "%",
+ "value": 0.0
+ },
+ "relativeHumidityMax": {
+ "unit": "%",
+ "value": 82.0
+ },
+ "relativeHumidityMin": {
+ "unit": "%",
+ "value": 46.0
+ },
+ "shortWaveRadiationAvg": {
+ "unit": "W/m^2",
+ "value": 44.0
+ },
+ "shortWaveRadiationMax": {
+ "unit": "W/m^2",
+ "value": 220.0
+ },
+ "shortWaveRadiationMin": {
+ "unit": "W/m^2",
+ "value": 0.0
+ },
+ "snowAccPeriod": {
+ "unit": "in",
+ "value": 0.0
+ },
+ "sunshineDuration": {
+ "unit": "hours",
+ "value": 2.0
+ },
+ "visibilityMax": {
+ "unit": "mi",
+ "value": 10.0
+ },
+ "visibilityMin": {
+ "unit": "mi",
+ "value": 10.0
+ },
+ "windSpeed2mAvg": {
+ "unit": "mph",
+ "value": 9.0
+ },
+ "windSpeed2mMax": {
+ "unit": "mph",
+ "value": 14.0
+ },
+ "windSpeed2mMin": {
+ "unit": "mph",
+ "value": 4.0
+ },
+ "windSpeedMax": {
+ "unit": "mph",
+ "value": 18.0
+ },
+ "windSpeedMin": {
+ "unit": "mph",
+ "value": 5.0
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/agfood/data-plane/readme.md b/specification/agrifood/data-plane/readme.md
similarity index 100%
rename from specification/agfood/data-plane/readme.md
rename to specification/agrifood/data-plane/readme.md
diff --git a/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/agfood.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/agfood.json
new file mode 100644
index 000000000000..09e106523d9b
--- /dev/null
+++ b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/agfood.json
@@ -0,0 +1,1200 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure AgriFood RP Service",
+ "description": "APIs documentation for Azure AgriFood Resource Provider Service.",
+ "version": "2020-05-12-preview"
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AgFoodPlatform/farmBeats/{farmBeatsResourceName}/extensions/{extensionId}": {
+ "put": {
+ "tags": [
+ "Extensions"
+ ],
+ "description": "Install extension.",
+ "operationId": "Extensions_Create",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ExtensionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ },
+ {
+ "$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": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Extensions_Create": {
+ "$ref": "./examples/Extensions_Create.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Extensions"
+ ],
+ "description": "Get installed extension details by extension id.",
+ "operationId": "Extensions_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ExtensionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ },
+ {
+ "$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": "Success",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Extensions_Get": {
+ "$ref": "./examples/Extensions_Get.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Extensions"
+ ],
+ "description": "Upgrade to latest extension.",
+ "operationId": "Extensions_Update",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ExtensionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ },
+ {
+ "$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": "Success",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Extensions_Update": {
+ "$ref": "./examples/Extensions_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Extensions"
+ ],
+ "description": "Uninstall extension.",
+ "operationId": "Extensions_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ExtensionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ },
+ {
+ "$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": "Success"
+ },
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Extensions_Delete": {
+ "$ref": "./examples/Extensions_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AgFoodPlatform/farmBeats/{farmBeatsResourceName}/extensions": {
+ "get": {
+ "tags": [
+ "Extensions"
+ ],
+ "description": "Get installed extensions details.",
+ "operationId": "Extensions_ListByFarmBeats",
+ "produces": [
+ "application/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"
+ },
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ },
+ {
+ "in": "query",
+ "name": "extensionIds",
+ "description": "Installed extension ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "extensionCategories",
+ "description": "Installed extension categories.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ExtensionListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Extensions_ListByFarmBeats": {
+ "$ref": "./examples/Extensions_ListByFarmBeats.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.AgFoodPlatform/farmBeatsExtensionDefinitions": {
+ "get": {
+ "tags": [
+ "FarmBeatsExtensions"
+ ],
+ "description": "Get list of farmBeats extension.",
+ "operationId": "FarmBeatsExtensions_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "farmBeatsExtensionIds",
+ "description": "FarmBeatsExtension ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "farmBeatsExtensionNames",
+ "description": "FarmBeats extension names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "extensionCategories",
+ "description": "Extension categories.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "publisherIds",
+ "description": "Publisher ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmBeatsExtensionListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "FarmBeatsExtensions_List": {
+ "$ref": "./examples/FarmBeatsExtensions_List.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.AgFoodPlatform/farmBeatsExtensionDefinitions/{farmBeatsExtensionId}": {
+ "get": {
+ "tags": [
+ "FarmBeatsExtensions"
+ ],
+ "description": "Get farmBeats extension.",
+ "operationId": "FarmBeatsExtensions_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "farmBeatsExtensionId",
+ "description": "farmBeatsExtensionId to be queried.",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z]{3,50}[.][a-zA-Z]{3,100}$"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmBeatsExtension"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "FarmBeatsExtensions_Get": {
+ "$ref": "./examples/FarmBeatsExtensions_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AgFoodPlatform/farmBeats/{farmBeatsResourceName}": {
+ "get": {
+ "tags": [
+ "FarmBeatsModels"
+ ],
+ "description": "Get FarmBeats resource.",
+ "operationId": "FarmBeatsModels_Get",
+ "produces": [
+ "application/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"
+ },
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmBeats"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "FarmBeatsModels_Get": {
+ "$ref": "./examples/FarmBeatsModels_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "FarmBeatsModels"
+ ],
+ "description": "Create or update FarmBeats resource.",
+ "operationId": "FarmBeatsModels_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ },
+ {
+ "$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"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "FarmBeats resource create or update request object.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FarmBeats"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmBeats"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmBeats"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "FarmBeatsModels_CreateOrUpdate": {
+ "$ref": "./examples/FarmBeatsModels_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "FarmBeatsModels"
+ ],
+ "description": "Update a FarmBeats resource.",
+ "operationId": "FarmBeatsModels_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ },
+ {
+ "$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"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Request object.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FarmBeatsUpdateRequestModel"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmBeats"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "FarmBeatsModels_Update": {
+ "$ref": "./examples/FarmBeatsModels_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "FarmBeatsModels"
+ ],
+ "description": "Delete a FarmBeats resource.",
+ "operationId": "FarmBeatsModels_Delete",
+ "produces": [
+ "application/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"
+ },
+ {
+ "$ref": "#/parameters/FarmBeatsResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "FarmBeatsModels_Delete": {
+ "$ref": "./examples/FarmBeatsModels_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AgFoodPlatform/farmBeats": {
+ "get": {
+ "tags": [
+ "FarmBeatsModels"
+ ],
+ "description": "Lists the FarmBeats instances for a subscription.",
+ "operationId": "FarmBeatsModels_ListBySubscription",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Skip token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmBeatsListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "FarmBeatsModels_ListBySubscription": {
+ "$ref": "./examples/FarmBeatsModels_ListBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AgFoodPlatform/farmBeats": {
+ "get": {
+ "tags": [
+ "FarmBeatsModels"
+ ],
+ "description": "Lists the FarmBeats instances for a resource group.",
+ "operationId": "FarmBeatsModels_ListByResourceGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "$maxPageSize",
+ "description": "Maximum number of items needed (inclusive).\r\nMinimum = 10, Maximum = 1000, Default value = 50.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 1000,
+ "minimum": 10
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "description": "Continuation token for getting next set of results.",
+ "type": "string"
+ },
+ {
+ "$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": "Success",
+ "schema": {
+ "$ref": "#/definitions/FarmBeatsListResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "FarmBeatsModels_ListByResourceGroup": {
+ "$ref": "./examples/FarmBeatsModels_ListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AgFoodPlatform/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Locations"
+ ],
+ "description": "Checks the name availability of the resource with requested resource name.",
+ "operationId": "Locations_CheckNameAvailability",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "NameAvailabilityRequest object.",
+ "required": true,
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/CheckNameAvailabilityRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/CheckNameAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Locations_CheckNameAvailability_AlreadyExists": {
+ "$ref": "./examples/Locations_CheckNameAvailability_AlreadyExists.json"
+ },
+ "Locations_CheckNameAvailability_Available": {
+ "$ref": "./examples/Locations_CheckNameAvailability_Available.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.AgFoodPlatform/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists the available operations of Microsoft.AgFoodPlatform resource provider.",
+ "operationId": "Operations_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ExtensionProperties": {
+ "description": "Extension resource properties.",
+ "type": "object",
+ "properties": {
+ "extensionId": {
+ "description": "Extension Id.",
+ "pattern": "^[a-zA-Z]{3,50}[.][a-zA-Z]{3,100}$",
+ "type": "string",
+ "readOnly": true
+ },
+ "extensionCategory": {
+ "description": "Extension category. e.g. weather/sensor/satellite.",
+ "type": "string",
+ "readOnly": true
+ },
+ "installedExtensionVersion": {
+ "description": "Installed extension version.",
+ "pattern": "^([1-9]|10).\\d$",
+ "type": "string",
+ "readOnly": true
+ },
+ "extensionAuthLink": {
+ "description": "Extension auth link.",
+ "type": "string",
+ "readOnly": true
+ },
+ "extensionApiDocsLink": {
+ "description": "Extension api docs link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Extension": {
+ "description": "Extension resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/ExtensionProperties",
+ "x-ms-client-flatten": true
+ },
+ "eTag": {
+ "description": "The ETag value to implement optimistic concurrency.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ExtensionListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UnitSystemsInfo": {
+ "description": "Unit systems info for the data provider.",
+ "required": [
+ "key",
+ "values"
+ ],
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "UnitSystem key sent as part of ProviderInput.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "values": {
+ "description": "List of unit systems supported by this data provider.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DetailedInformation": {
+ "description": "Model to capture detailed information for farmBeatsExtensions.",
+ "type": "object",
+ "properties": {
+ "apiName": {
+ "description": "ApiName available for the farmBeatsExtension.",
+ "type": "string",
+ "example": "dailyforecast, dailyhistorical."
+ },
+ "customParameters": {
+ "description": "List of customParameters.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "platformParameters": {
+ "description": "List of platformParameters.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "unitsSupported": {
+ "$ref": "#/definitions/UnitSystemsInfo"
+ },
+ "apiInputParameters": {
+ "description": "List of apiInputParameters.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "FarmBeatsExtensionProperties": {
+ "description": "FarmBeatsExtension properties.",
+ "type": "object",
+ "properties": {
+ "targetResourceType": {
+ "description": "Target ResourceType of the farmBeatsExtension.",
+ "type": "string",
+ "readOnly": true
+ },
+ "farmBeatsExtensionId": {
+ "description": "FarmBeatsExtension ID.",
+ "maxLength": 100,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z]{3,50}[.][a-zA-Z]{3,100}$",
+ "type": "string",
+ "readOnly": true
+ },
+ "farmBeatsExtensionName": {
+ "description": "FarmBeatsExtension name.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string",
+ "readOnly": true
+ },
+ "farmBeatsExtensionVersion": {
+ "description": "FarmBeatsExtension version.",
+ "maxLength": 100,
+ "minLength": 2,
+ "pattern": "^([1-9]|10).\\d$",
+ "type": "string",
+ "readOnly": true
+ },
+ "publisherId": {
+ "description": "Publisher ID.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "Textual description.",
+ "maxLength": 500,
+ "minLength": 2,
+ "type": "string",
+ "readOnly": true
+ },
+ "extensionCategory": {
+ "description": "Category of the extension. e.g. weather/sensor/satellite.",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string",
+ "readOnly": true
+ },
+ "extensionAuthLink": {
+ "description": "FarmBeatsExtension auth link.",
+ "type": "string",
+ "readOnly": true
+ },
+ "extensionApiDocsLink": {
+ "description": "FarmBeatsExtension api docs link.",
+ "type": "string",
+ "readOnly": true
+ },
+ "detailedInformation": {
+ "description": "Detailed information which shows summary of requested data.\r\nUsed in descriptive get extension metadata call.\r\nInformation for weather category per api included are apisSupported,\r\ncustomParameters, PlatformParameters and Units supported.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DetailedInformation"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "FarmBeatsExtension": {
+ "description": "FarmBeats extension resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/FarmBeatsExtensionProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "FarmBeatsExtensionListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FarmBeatsExtension"
+ }
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "FarmBeatsProperties": {
+ "description": "FarmBeats ARM Resource properties.",
+ "type": "object",
+ "properties": {
+ "instanceUri": {
+ "format": "uri",
+ "description": "Uri of the FarmBeats instance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "FarmBeats instance provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "FarmBeats": {
+ "description": "FarmBeats ARM Resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/FarmBeatsProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "FarmBeatsUpdateRequestModel": {
+ "description": "FarmBeats update request.",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "Geo-location where the resource lives.",
+ "type": "string"
+ },
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "FarmBeatsListResponse": {
+ "description": "Paged response contains list of requested objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of requested objects.",
+ "type": "array",
+ "uniqueItems": false,
+ "items": {
+ "$ref": "#/definitions/FarmBeats"
+ }
+ },
+ "nextLink": {
+ "description": "Continuation link (absolute URI) to the next page of results in the list.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "FarmBeatsResourceNameParameter": {
+ "in": "path",
+ "name": "farmBeatsResourceName",
+ "description": "FarmBeats resource name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ExtensionIdParameter": {
+ "in": "path",
+ "name": "extensionId",
+ "description": "Id of extension resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "description": "Azure Active Directory OAuth2 Flow."
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+}
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Create.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Create.json
similarity index 100%
rename from specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Create.json
rename to specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Create.json
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Delete.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Delete.json
similarity index 100%
rename from specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Delete.json
rename to specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Delete.json
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Get.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Get.json
similarity index 100%
rename from specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Get.json
rename to specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Get.json
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_ListByFarmBeats.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_ListByFarmBeats.json
similarity index 100%
rename from specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_ListByFarmBeats.json
rename to specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_ListByFarmBeats.json
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Update.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Update.json
similarity index 100%
rename from specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Update.json
rename to specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Extensions_Update.json
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsExtensions_Get.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsExtensions_Get.json
similarity index 100%
rename from specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsExtensions_Get.json
rename to specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsExtensions_Get.json
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsExtensions_List.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsExtensions_List.json
similarity index 100%
rename from specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsExtensions_List.json
rename to specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsExtensions_List.json
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_CreateOrUpdate.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_CreateOrUpdate.json
similarity index 100%
rename from specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_CreateOrUpdate.json
rename to specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_CreateOrUpdate.json
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Delete.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Delete.json
similarity index 100%
rename from specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Delete.json
rename to specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Delete.json
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Get.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Get.json
similarity index 100%
rename from specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Get.json
rename to specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Get.json
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_ListByResourceGroup.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_ListByResourceGroup.json
similarity index 100%
rename from specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_ListByResourceGroup.json
rename to specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_ListByResourceGroup.json
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_ListBySubscription.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_ListBySubscription.json
similarity index 100%
rename from specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_ListBySubscription.json
rename to specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_ListBySubscription.json
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Update.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Update.json
similarity index 100%
rename from specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Update.json
rename to specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/FarmBeatsModels_Update.json
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Locations_CheckNameAvailability_AlreadyExists.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Locations_CheckNameAvailability_AlreadyExists.json
similarity index 100%
rename from specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Locations_CheckNameAvailability_AlreadyExists.json
rename to specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Locations_CheckNameAvailability_AlreadyExists.json
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Locations_CheckNameAvailability_Available.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Locations_CheckNameAvailability_Available.json
similarity index 100%
rename from specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Locations_CheckNameAvailability_Available.json
rename to specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Locations_CheckNameAvailability_Available.json
diff --git a/specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Operations_List.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Operations_List.json
similarity index 100%
rename from specification/agfood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Operations_List.json
rename to specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/examples/Operations_List.json
diff --git a/specification/agrifood/resource-manager/readme.csharp.md b/specification/agrifood/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..e43f57857a1f
--- /dev/null
+++ b/specification/agrifood/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.AgriFood
+ output-folder: $(csharp-sdks-folder)/agrifood/Microsoft.Azure.Management.AgriFood/src/Generated
+```
diff --git a/specification/agrifood/resource-manager/readme.go.md b/specification/agrifood/resource-manager/readme.go.md
new file mode 100644
index 000000000000..7acfd99fba12
--- /dev/null
+++ b/specification/agrifood/resource-manager/readme.go.md
@@ -0,0 +1,11 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+```yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/agrifood/armagrifood
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
+azure-arm: true
+```
diff --git a/specification/agrifood/resource-manager/readme.md b/specification/agrifood/resource-manager/readme.md
new file mode 100644
index 000000000000..0ba226c8c8ee
--- /dev/null
+++ b/specification/agrifood/resource-manager/readme.md
@@ -0,0 +1,105 @@
+# agfood
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for agfood.
+
+## 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 agrifood.
+
+```yaml
+openapi-type: arm
+tag: package-2020-05-12-preview
+```
+
+### Tag: package-2020-05-12-preview
+
+These settings apply only when `--tag=package-2020-05-12-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-05-12-preview'
+input-file:
+ - Microsoft.AgFoodPlatform/preview/2020-05-12-preview/agfood.json
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+```yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-python-track2
+ - repo: azure-sdk-for-js
+```
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## Suppression
+
+``` yaml
+directive:
+ - from: agfood.json
+ suppress: R3006 # BodyTopLevelProperties
+ where: $.definitions.FarmBeats.properties
+ reason: Currently systemData is not allowed.
+ - from: agfood.json
+ suppress: R3006 # BodyTopLevelProperties
+ where: $.definitions.Extension.properties
+ reason: Currently systemData is not allowed.
+ - from: agfood.json
+ suppress: R3018 # EnumInsteadOfBoolean
+ where:
+ - $.definitions.Operation.properties.isDataAction
+ - $.definitions.CheckNameAvailabilityResult.properties.nameAvailable
+ reason: Booleans are used to indicate binary states of the property, enum is not appropriate.
+ - from: agfood.json
+ suppress: R4000 # DescriptionAndTitleMissing
+ where:
+ - $.definitions.Error.properties.innererror
+ - $.definitions.ErrorResponse.properties.error
+ - $.definitions.Extension.properties.properties
+ - $.definitions.Extension.properties.systemData
+ - $.definitions.FarmBeats.properties.properties
+ - $.definitions.FarmBeats.properties.systemData
+ - $.definitions.InnerError.properties.innererror
+ - $.definitions.Operation.properties.display
+ reason: Model has description added in it's schema.
+ - from: types.json
+ suppress: R4000 # DescriptionAndTitleMissing
+ where: $.definitions.Resource
+ reason: Common type models are inherited.
+```
diff --git a/specification/agrifood/resource-manager/readme.python.md b/specification/agrifood/resource-manager/readme.python.md
new file mode 100644
index 000000000000..8d1ac3775c76
--- /dev/null
+++ b/specification/agrifood/resource-manager/readme.python.md
@@ -0,0 +1,23 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(python) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.agrifood
+package-name: azure-mgmt-agrifood
+package-version: 1.0.0b1
+clear-output-folder: true
+```
+
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/agrifood/azure-mgmt-agrifood/azure/mgmt/agrifood
+```
+
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/agrifood/azure-mgmt-agrifood
+```
diff --git a/specification/agrifood/resource-manager/readme.typescript.md b/specification/agrifood/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..b6ecbc0290a9
--- /dev/null
+++ b/specification/agrifood/resource-manager/readme.typescript.md
@@ -0,0 +1,15 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(typescript)
+typescript:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ package-name: "@azure/arm-agrifood"
+ output-folder: "$(typescript-sdks-folder)/sdk/agrifood/arm-agrifood"
+ payload-flattening-threshold: 1
+ clear-output-folder: true
+ generate-metadata: true
+```
diff --git a/specification/alertsmanagement/resource-manager/readme.md b/specification/alertsmanagement/resource-manager/readme.md
index fff705d11ce5..980821a0c9d2 100644
--- a/specification/alertsmanagement/resource-manager/readme.md
+++ b/specification/alertsmanagement/resource-manager/readme.md
@@ -147,7 +147,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-libraries-for-java
- repo: azure-sdk-for-go
diff --git a/specification/alertsmanagement/resource-manager/readme.python.md b/specification/alertsmanagement/resource-manager/readme.python.md
index 4617043919d7..c0946a274a69 100644
--- a/specification/alertsmanagement/resource-manager/readme.python.md
+++ b/specification/alertsmanagement/resource-manager/readme.python.md
@@ -4,47 +4,28 @@ 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.alertsmanagement
- package-name: azure-mgmt-alertsmanagement
- clear-output-folder: true
-```
``` yaml $(python) && $(track2)
-python-mode: create
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
namespace: azure.mgmt.alertsmanagement
package-name: azure-mgmt-alertsmanagement
package-version: 1.0.0b1
clear-output-folder: true
-modelerfour:
- lenient-model-deduplication: true
```
-``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/alertsmanagement/azure-mgmt-alertsmanagement/azure/mgmt/alertsmanagement
-```
``` yaml $(python) && $(python-mode) == 'update' && $(track2)
no-namespace-folders: true
output-folder: $(python-sdks-folder)/alertsmanagement/azure-mgmt-alertsmanagement/azure/mgmt/alertsmanagement
```
-``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/alertsmanagement/azure-mgmt-alertsmanagement
-```
-
``` yaml $(python) && $(python-mode) == 'create' && $(track2)
basic-setup-py: true
output-folder: $(python-sdks-folder)/alertsmanagement/azure-mgmt-alertsmanagement
+```
+
+``` yaml $(python) && $(track2)
+modelerfour:
+ lenient-model-deduplication: true
```
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/definitions.json
index d6d917f5d309..e7cef40ed991 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/definitions.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/definitions.json
@@ -4986,16 +4986,7 @@
"description": "API Schema create or update contract Properties."
},
"SchemaDocumentProperties": {
- "properties": {
- "value": {
- "type": "string",
- "description": "Json escaped string defining the document representing the Schema. Used for schemas other than Swagger/OpenAPI."
- },
- "definitions": {
- "type": "object",
- "description": "Types definitions. Used for Swagger/OpenAPI schemas only, null otherwise."
- }
- },
+ "type": "object",
"description": "Schema Document Properties."
},
"SubscriptionCollection": {
diff --git a/specification/apimanagement/resource-manager/readme.az.md b/specification/apimanagement/resource-manager/readme.az.md
new file mode 100644
index 000000000000..35e571b5dfd0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/readme.az.md
@@ -0,0 +1,19 @@
+## AZ
+
+These settings apply only when `--az` is specified on the command line.
+
+``` yaml $(az) && $(target-mode) == 'core'
+tag: package-preview-2021-01
+az:
+ extensions: apim
+ namespace: azure.mgmt.apimanagement
+ package-name: azure-mgmt-apimanagement
+az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/apim
+python-sdk-output-folder: $(az-output-folder)/vendored_sdks/apimanagement
+cli:
+ cli-directive:
+ - where:
+ group: "*"
+ op: "*"
+ hidden: true
+```
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/readme.cli.md b/specification/apimanagement/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..179636a56760
--- /dev/null
+++ b/specification/apimanagement/resource-manager/readme.cli.md
@@ -0,0 +1,4 @@
+``` yaml
+# add any configuration here for all CLI languages
+# refer to the faq.md for more details
+```
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/readme.go.md b/specification/apimanagement/resource-manager/readme.go.md
index 9a8ab0f515d6..4c8cf47ad2ea 100644
--- a/specification/apimanagement/resource-manager/readme.go.md
+++ b/specification/apimanagement/resource-manager/readme.go.md
@@ -13,6 +13,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-preview-2021-01
- tag: package-2020-12
- tag: package-2019-12
- tag: package-preview-2019-12
@@ -24,6 +25,15 @@ batch:
- tag: package-2016-07
```
+### Tag: package-preview-2021-01 and go
+
+These settings apply only when `--tag=package-preview-2021-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-preview-2021-01' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-01-01-preview/$(namespace)
+```
+
### Tag: package-2020-12 and go
These settings apply only when `--tag=package-2020-12 --go` is specified on the command line.
diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md
index 5458143088a5..cb24f175cfa9 100644
--- a/specification/apimanagement/resource-manager/readme.md
+++ b/specification/apimanagement/resource-manager/readme.md
@@ -28,7 +28,7 @@ These are the global settings for the ApiManagement API.
title: ApiManagementClient
description: ApiManagement Client
openapi-type: arm
-tag: package-preview-2021-01
+tag: package-2020-12
```
@@ -516,7 +516,9 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
+## AZ
+See configuration in [readme.az.md](./readme.az.md)
## Suppression
@@ -606,4 +608,4 @@ directive:
- suppress: R4009
from: apimnotifications.json
reason: Warning raised to error while PR was being reviewed. SystemData will implement in next preview version.
-```
+```
\ No newline at end of file
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/appconfiguration.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/appconfiguration.json
index 0607f2b84c9f..187d6c17f486 100644
--- a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/appconfiguration.json
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/appconfiguration.json
@@ -1220,6 +1220,18 @@
"disableLocalAuth": {
"type": "boolean",
"description": "Disables all authentication methods other than AAD authentication."
+ },
+ "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
+ }
}
}
},
diff --git a/specification/appconfiguration/resource-manager/readme.md b/specification/appconfiguration/resource-manager/readme.md
index 9ff6fa69e34d..3389cac9bafb 100644
--- a/specification/appconfiguration/resource-manager/readme.md
+++ b/specification/appconfiguration/resource-manager/readme.md
@@ -95,7 +95,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-powershell
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-net
diff --git a/specification/appconfiguration/resource-manager/readme.python.md b/specification/appconfiguration/resource-manager/readme.python.md
index 1a125d702381..90f50f633308 100644
--- a/specification/appconfiguration/resource-manager/readme.python.md
+++ b/specification/appconfiguration/resource-manager/readme.python.md
@@ -1,21 +1,5 @@
## 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)
-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)
@@ -23,20 +7,15 @@ azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
package-name: azure-mgmt-appconfiguration
no-namespace-folders: true
-package-version: 0.1.0
+package-version: 1.0.0b1
+clear-output-folder: true
```
-``` yaml $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/appconfiguration/azure-mgmt-appconfiguration/azure/mgmt/appconfiguration
+``` yaml $(python-mode) == 'update' && $(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
+``` yaml $(python-mode) == 'create' && $(track2)
basic-setup-py: true
output-folder: $(python-sdks-folder)/appconfiguration/azure-mgmt-appconfiguration
```
diff --git a/specification/applicationinsights/data-plane/Monitor.Exporters/preview/v2.1/examples/track.json b/specification/applicationinsights/data-plane/Monitor.Exporters/preview/v2.1/examples/track.json
new file mode 100644
index 000000000000..dad4cd1bc839
--- /dev/null
+++ b/specification/applicationinsights/data-plane/Monitor.Exporters/preview/v2.1/examples/track.json
@@ -0,0 +1,193 @@
+{
+ "parameters": {
+ "Host": "{Host}",
+ "body": [
+ {
+ "ver": 1,
+ "name": "Microsoft.ApplicationInsights.b4f83947968d4e2f82ad804be07697ae.Event",
+ "time": "2020-09-22T10:12:53.208-0700",
+ "sampleRate": 100.0,
+ "iKey": "c1f83947-938c-5e2a-82ff-804be07647bc",
+ "tags": {
+ "ai.internal.sdkVersion": "java:3.0.0-PREVIEW.5",
+ "ai.internal.nodeName": "MININT-PLOJ2RD",
+ "ai.operation.id": "f364119ed1ff3bcda0d4ee0896cf785f",
+ "ai.cloud.roleInstance": "MININT-PLOJ2RD",
+ "ai.operation.childid": "75706a2ac9456288"
+ }
+ },
+ {
+ "ver": 1,
+ "name": "Microsoft.ApplicationInsights.b4f83947968d4e2f82ad804be07697ae.Event",
+ "time": "2020-09-22T10:12:53.208-0700",
+ "sampleRate": 100.0,
+ "iKey": "c1f83947-938c-5e2a-82ff-804be07647bc",
+ "tags": {
+ "ai.internal.sdkVersion": "java:3.0.0-PREVIEW.5",
+ "ai.internal.nodeName": "MININT-PLOJ2RD",
+ "ai.operation.id": "f364119ed1ff3bcda0d4ee0896cf785f",
+ "ai.cloud.roleInstance": "MININT-PLOJ2RD",
+ "ai.operation.childid": "75706a2ac9456288"
+ }
+ },
+ {
+ "ver": 1,
+ "name": "Microsoft.ApplicationInsights.b4f83947968d4e2f82ad804be07697ae.Event",
+ "time": "2020-09-22T10:12:53.208-0700",
+ "sampleRate": 100.0,
+ "iKey": "c1f83947-938c-5e2a-82ff-804be07647bc",
+ "tags": {
+ "ai.internal.sdkVersion": "java:3.0.0-PREVIEW.5",
+ "ai.internal.nodeName": "MININT-PLOJ2RD",
+ "ai.operation.id": "f364119ed1ff3bcda0d4ee0896cf785f",
+ "ai.cloud.roleInstance": "MININT-PLOJ2RD",
+ "ai.operation.childid": "75706a2ac9456288"
+ }
+ },
+ {
+ "ver": 1,
+ "name": "Microsoft.ApplicationInsights.b4f83947968d4e2f82ad804be07697ae.Event",
+ "time": "2020-09-22T10:12:53.208-0700",
+ "sampleRate": 100.0,
+ "iKey": "c1f83947-938c-5e2a-82ff-804be07647bc",
+ "tags": {
+ "ai.internal.sdkVersion": "java:3.0.0-PREVIEW.5",
+ "ai.internal.nodeName": "MININT-PLOJ2RD",
+ "ai.operation.id": "f364119ed1ff3bcda0d4ee0896cf785f",
+ "ai.cloud.roleInstance": "MININT-PLOJ2RD",
+ "ai.operation.childid": "75706a2ac9456288"
+ }
+ },
+ {
+ "ver": 1,
+ "name": "Microsoft.ApplicationInsights.b4f83947968d4e2f82ad804be07697ae.Event",
+ "time": "2020-09-22T10:12:53.208-0700",
+ "sampleRate": 100.0,
+ "iKey": "c1f83947-938c-5e2a-82ff-804be07647bc",
+ "tags": {
+ "ai.internal.sdkVersion": "java:3.0.0-PREVIEW.5",
+ "ai.internal.nodeName": "MININT-PLOJ2RD",
+ "ai.operation.id": "f364119ed1ff3bcda0d4ee0896cf785f",
+ "ai.cloud.roleInstance": "MININT-PLOJ2RD",
+ "ai.operation.childid": "75706a2ac9456288"
+ }
+ },
+ {
+ "ver": 1,
+ "name": "Microsoft.ApplicationInsights.b4f83947968d4e2f82ad804be07697ae.Event",
+ "time": "2020-09-22T10:12:53.208-0700",
+ "sampleRate": 100.0,
+ "iKey": "c1f83947-938c-5e2a-82ff-804be07647bc",
+ "tags": {
+ "ai.internal.sdkVersion": "java:3.0.0-PREVIEW.5",
+ "ai.internal.nodeName": "MININT-PLOJ2RD",
+ "ai.operation.id": "f364119ed1ff3bcda0d4ee0896cf785f",
+ "ai.cloud.roleInstance": "MININT-PLOJ2RD",
+ "ai.operation.childid": "75706a2ac9456288"
+ }
+ },
+ {
+ "ver": 1,
+ "name": "Microsoft.ApplicationInsights.b4f83947968d4e2f82ad804be07697ae.Event",
+ "time": "2020-09-22T10:12:53.208-0700",
+ "sampleRate": 100.0,
+ "iKey": "c1f83947-938c-5e2a-82ff-804be07647bc",
+ "tags": {
+ "ai.internal.sdkVersion": "java:3.0.0-PREVIEW.5",
+ "ai.internal.nodeName": "MININT-PLOJ2RD",
+ "ai.operation.id": "f364119ed1ff3bcda0d4ee0896cf785f",
+ "ai.cloud.roleInstance": "MININT-PLOJ2RD",
+ "ai.operation.childid": "75706a2ac9456288"
+ }
+ }
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "itemsReceived": 1,
+ "itemsAccepted": 1,
+ "errors": []
+ }
+ },
+ "206": {
+ "headers": {},
+ "body": {
+ "itemsReceived": 1,
+ "itemsAccepted": 1,
+ "errors": []
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "itemsReceived": 1,
+ "itemsAccepted": 0,
+ "errors": [
+ {
+ "index": 1,
+ "statusCode": 400,
+ "message": "103: Field 'time' on type 'Envelope' is older than the allowed min date. Expected: now - 172800000ms, Actual: now - 2694990759ms"
+ }
+ ]
+ }
+ },
+ "402": {
+ "headers": {},
+ "body": {
+ "itemsReceived": 1,
+ "itemsAccepted": 0,
+ "errors": [
+ {
+ "index": 1,
+ "statusCode": 402,
+ "message": ""
+ }
+ ]
+ }
+ },
+ "429": {
+ "headers": {},
+ "body": {
+ "itemsReceived": 1,
+ "itemsAccepted": 0,
+ "errors": [
+ {
+ "index": 1,
+ "statusCode": 429,
+ "message": ""
+ }
+ ]
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "itemsReceived": 1,
+ "itemsAccepted": 0,
+ "errors": [
+ {
+ "index": 1,
+ "statusCode": 500,
+ "message": ""
+ }
+ ]
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "itemsReceived": 1,
+ "itemsAccepted": 0,
+ "errors": [
+ {
+ "index": 1,
+ "statusCode": 503,
+ "message": ""
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/data-plane/Monitor.Exporters/preview/v2.1/swagger.json b/specification/applicationinsights/data-plane/Monitor.Exporters/preview/v2.1/swagger.json
new file mode 100644
index 000000000000..e87c94887062
--- /dev/null
+++ b/specification/applicationinsights/data-plane/Monitor.Exporters/preview/v2.1/swagger.json
@@ -0,0 +1,1022 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "v2.1",
+ "title": "ApplicationInsightsClient",
+ "description": "This document describes the protocol for client requests and responses to the data collection endpoint."
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Host}/v2.1",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Host"
+ }
+ ]
+ },
+ "paths": {
+ "/track": {
+ "post": {
+ "summary": "Track telemetry events",
+ "description": "This operation sends a sequence of telemetry events that will be monitored by Azure Monitor.",
+ "operationId": "track",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "The list of telemetry events to track.",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TelemetryEnvelope"
+ }
+ }
+ }
+ ],
+ "consumes": [
+ "application/json",
+ "x-json-stream"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "All of the telemetry items were accepted and processed.",
+ "schema": {
+ "$ref": "#/definitions/TrackResponse"
+ }
+ },
+ "206": {
+ "description": "Partial success. Some of the telemetry items were accepted and processed.",
+ "schema": {
+ "$ref": "#/definitions/TrackResponse"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/TrackResponse"
+ }
+ },
+ "402": {
+ "description": "Payment Required",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/TrackResponse"
+ }
+ },
+ "429": {
+ "description": "Too Many Requests",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/TrackResponse"
+ }
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/TrackResponse"
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/TrackResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Track examples": {
+ "$ref": "examples/track.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AvailabilityData": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Domain"
+ },
+ {
+ "type": "object",
+ "description": "Instances of AvailabilityData represent the result of executing an availability test.",
+ "required": [
+ "id",
+ "name",
+ "duration",
+ "success"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of a test run. Use it to correlate steps of test run and telemetry generated by the service.",
+ "maxLength": 512
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the test that these availability results represent.",
+ "maxLength": 1024
+ },
+ "duration": {
+ "type": "string",
+ "description": "Duration in format: DD.HH:MM:SS.MMMMMM. Must be less than 1000 days."
+ },
+ "success": {
+ "type": "boolean",
+ "x-nullable": false,
+ "description": "Success flag."
+ },
+ "runLocation": {
+ "type": "string",
+ "description": "Name of the location where the test was run from.",
+ "maxLength": 1024
+ },
+ "message": {
+ "type": "string",
+ "description": "Diagnostic message for the result.",
+ "maxLength": 8192
+ },
+ "properties": {
+ "type": "object",
+ "description": "Collection of custom properties.",
+ "additionalProperties": {
+ "type": "string",
+ "maxLength": 8192
+ }
+ },
+ "measurements": {
+ "type": "object",
+ "description": "Collection of custom measurements.",
+ "additionalProperties": {
+ "type": "number",
+ "format": "double"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "Base": {
+ "x-ms-client-name": "MonitorBase",
+ "type": "object",
+ "description": "Data struct to contain only C section with custom fields.",
+ "properties": {
+ "baseType": {
+ "type": "string",
+ "description": "Name of item (B section) if any. If telemetry data is derived straight from this, this should be null."
+ },
+ "baseData": {
+ "$ref": "#/definitions/Domain",
+ "description": "The data payload for the telemetry request"
+ }
+ }
+ },
+ "DataPoint": {
+ "x-ms-client-name": "MetricDataPoint",
+ "type": "object",
+ "description": "Metric data single measurement.",
+ "required": [
+ "name",
+ "value"
+ ],
+ "properties": {
+ "ns": {
+ "x-ms-client-name": "namespace",
+ "type": "string",
+ "description": "Namespace of the metric.",
+ "maxLength": 256
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the metric.",
+ "maxLength": 1024
+ },
+ "kind": {
+ "x-ms-client-name": "dataPointType",
+ "$ref": "#/definitions/DataPointType",
+ "description": "Metric type. Single measurement or the aggregated value."
+ },
+ "value": {
+ "type": "number",
+ "description": "Single value for measurement. Sum of individual measurements for the aggregation.",
+ "format": "double"
+ },
+ "count": {
+ "type": "number",
+ "format": "int32",
+ "description": "Metric weight of the aggregated metric. Should not be set for a measurement.",
+ "x-nullable": true
+ },
+ "min": {
+ "type": "number",
+ "format": "double",
+ "description": "Minimum value of the aggregated metric. Should not be set for a measurement.",
+ "x-nullable": true
+ },
+ "max": {
+ "type": "number",
+ "format": "double",
+ "description": "Maximum value of the aggregated metric. Should not be set for a measurement.",
+ "x-nullable": true
+ },
+ "stdDev": {
+ "type": "number",
+ "format": "double",
+ "description": "Standard deviation of the aggregated metric. Should not be set for a measurement.",
+ "x-nullable": true
+ }
+ }
+ },
+ "DataPointType": {
+ "type": "string",
+ "description": "Type of the metric data measurement.",
+ "enum": [
+ "Measurement",
+ "Aggregation"
+ ]
+ },
+ "Domain": {
+ "x-ms-client-name": "MonitorDomain",
+ "type": "object",
+ "description": "The abstract common base of all domains.",
+ "required": [
+ "ver"
+ ],
+ "additionalProperties": true,
+ "properties": {
+ "ver": {
+ "x-ms-client-name": "version",
+ "type": "integer",
+ "format": "int32",
+ "description": "Schema version",
+ "default": 2
+ }
+ }
+ },
+ "EventData": {
+ "x-ms-client-name": "TelemetryEventData",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Domain"
+ },
+ {
+ "type": "object",
+ "description": "Instances of Event represent structured event records that can be grouped and searched by their properties. Event data item also creates a metric of event count by name.",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Event name. Keep it low cardinality to allow proper grouping and useful metrics.",
+ "maxLength": 512
+ },
+ "properties": {
+ "type": "object",
+ "description": "Collection of custom properties.",
+ "additionalProperties": {
+ "type": "string",
+ "maxLength": 8192
+ }
+ },
+ "measurements": {
+ "type": "object",
+ "description": "Collection of custom measurements.",
+ "additionalProperties": {
+ "type": "number",
+ "format": "double"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "ExceptionData": {
+ "x-ms-client-name": "TelemetryExceptionData",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Domain"
+ },
+ {
+ "type": "object",
+ "description": "An instance of Exception represents a handled or unhandled exception that occurred during execution of the monitored application.",
+ "required": [
+ "exceptions"
+ ],
+ "properties": {
+ "exceptions": {
+ "type": "array",
+ "description": "Exception chain - list of inner exceptions.",
+ "items": {
+ "$ref": "#/definitions/ExceptionDetails"
+ }
+ },
+ "severityLevel": {
+ "x-nullable": true,
+ "description": "Severity level. Mostly used to indicate exception severity level when it is reported by logging library.",
+ "$ref": "#/definitions/SeverityLevel"
+ },
+ "problemId": {
+ "type": "string",
+ "description": "Identifier of where the exception was thrown in code. Used for exceptions grouping. Typically a combination of exception type and a function from the call stack.",
+ "maxLength": 1024
+ },
+ "properties": {
+ "type": "object",
+ "description": "Collection of custom properties.",
+ "additionalProperties": {
+ "type": "string",
+ "maxLength": 8192
+ }
+ },
+ "measurements": {
+ "type": "object",
+ "description": "Collection of custom measurements.",
+ "additionalProperties": {
+ "type": "number",
+ "format": "double"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "ExceptionDetails": {
+ "x-ms-client-name": "TelemetryExceptionDetails",
+ "type": "object",
+ "description": "Exception details of the exception in a chain.",
+ "required": [
+ "message"
+ ],
+ "properties": {
+ "id": {
+ "type": "number",
+ "format": "int32",
+ "description": "In case exception is nested (outer exception contains inner one), the id and outerId properties are used to represent the nesting."
+ },
+ "outerId": {
+ "type": "number",
+ "format": "int32",
+ "description": "The value of outerId is a reference to an element in ExceptionDetails that represents the outer exception"
+ },
+ "typeName": {
+ "type": "string",
+ "description": "Exception type name.",
+ "maxLength": 1024
+ },
+ "message": {
+ "type": "string",
+ "description": "Exception message.",
+ "maxLength": 32768
+ },
+ "hasFullStack": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates if full exception stack is provided in the exception. The stack may be trimmed, such as in the case of a StackOverflow exception."
+ },
+ "stack": {
+ "type": "string",
+ "description": "Text describing the stack. Either stack or parsedStack should have a value.",
+ "maxLength": 32768
+ },
+ "parsedStack": {
+ "type": "array",
+ "description": "List of stack frames. Either stack or parsedStack should have a value.",
+ "items": {
+ "$ref": "#/definitions/StackFrame"
+ }
+ }
+ }
+ },
+ "MessageData": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Domain"
+ },
+ {
+ "type": "object",
+ "description": "Instances of Message represent printf-like trace statements that are text-searched. Log4Net, NLog and other text-based log file entries are translated into instances of this type. The message does not have measurements.",
+ "required": [
+ "message"
+ ],
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "Trace message",
+ "maxLength": 32768
+ },
+ "severityLevel": {
+ "$ref": "#/definitions/SeverityLevel",
+ "description": "Trace severity level."
+ },
+ "properties": {
+ "type": "object",
+ "description": "Collection of custom properties.",
+ "additionalProperties": {
+ "type": "string",
+ "maxLength": 8192
+ }
+ },
+ "measurements": {
+ "type": "object",
+ "description": "Collection of custom measurements.",
+ "additionalProperties": {
+ "type": "number",
+ "format": "double"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "MetricsData": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Domain"
+ },
+ {
+ "type": "object",
+ "description": "An instance of the Metric item is a list of measurements (single data points) and/or aggregations.",
+ "required": [
+ "metrics"
+ ],
+ "properties": {
+ "metrics": {
+ "type": "array",
+ "description": "List of metrics. Only one metric in the list is currently supported by Application Insights storage. If multiple data points were sent only the first one will be used.",
+ "items": {
+ "$ref": "#/definitions/DataPoint"
+ }
+ },
+ "properties": {
+ "type": "object",
+ "description": "Collection of custom properties.",
+ "additionalProperties": {
+ "type": "string",
+ "maxLength": 8192
+ }
+ }
+ }
+ }
+ ]
+ },
+ "PageViewData": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Domain"
+ },
+ {
+ "type": "object",
+ "description": "An instance of PageView represents a generic action on a page like a button click. It is also the base type for PageView.",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of a page view instance. Used for correlation between page view and other telemetry items.",
+ "maxLength": 512
+ },
+ "name": {
+ "type": "string",
+ "description": "Event name. Keep it low cardinality to allow proper grouping and useful metrics.",
+ "maxLength": 1024
+ },
+ "url": {
+ "type": "string",
+ "description": "Request URL with all query string parameters",
+ "maxLength": 2048
+ },
+ "duration": {
+ "type": "string",
+ "description": "Request duration in format: DD.HH:MM:SS.MMMMMM. For a page view (PageViewData), this is the duration. For a page view with performance information (PageViewPerfData), this is the page load time. Must be less than 1000 days."
+ },
+ "referredUri": {
+ "type": "string",
+ "description": "Fully qualified page URI or URL of the referring page; if unknown, leave blank",
+ "maxLength": 2048
+ },
+ "properties": {
+ "type": "object",
+ "description": "Collection of custom properties.",
+ "additionalProperties": {
+ "type": "string",
+ "maxLength": 8192
+ }
+ },
+ "measurements": {
+ "type": "object",
+ "description": "Collection of custom measurements.",
+ "additionalProperties": {
+ "type": "number",
+ "format": "double"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "PageViewPerfData": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Domain"
+ },
+ {
+ "type": "object",
+ "description": "An instance of PageViewPerf represents: a page view with no performance data, a page view with performance data, or just the performance data of an earlier page request.",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of a page view instance. Used for correlation between page view and other telemetry items.",
+ "maxLength": 512
+ },
+ "name": {
+ "type": "string",
+ "description": "Event name. Keep it low cardinality to allow proper grouping and useful metrics.",
+ "maxLength": 1024
+ },
+ "url": {
+ "type": "string",
+ "description": "Request URL with all query string parameters",
+ "maxLength": 2048
+ },
+ "duration": {
+ "type": "string",
+ "description": "Request duration in format: DD.HH:MM:SS.MMMMMM. For a page view (PageViewData), this is the duration. For a page view with performance information (PageViewPerfData), this is the page load time. Must be less than 1000 days."
+ },
+ "perfTotal": {
+ "type": "string",
+ "description": "Performance total in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff"
+ },
+ "networkConnect": {
+ "type": "string",
+ "description": "Network connection time in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff"
+ },
+ "sentRequest": {
+ "type": "string",
+ "description": "Sent request time in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff"
+ },
+ "receivedResponse": {
+ "type": "string",
+ "description": "Received response time in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff"
+ },
+ "domProcessing": {
+ "type": "string",
+ "description": "DOM processing time in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff"
+ },
+ "properties": {
+ "type": "object",
+ "description": "Collection of custom properties.",
+ "additionalProperties": {
+ "type": "string",
+ "maxLength": 8192
+ }
+ },
+ "measurements": {
+ "type": "object",
+ "description": "Collection of custom measurements.",
+ "additionalProperties": {
+ "type": "number",
+ "format": "double"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "RemoteDependencyData": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Domain"
+ },
+ {
+ "type": "object",
+ "description": "An instance of Remote Dependency represents an interaction of the monitored component with a remote component/service like SQL or an HTTP endpoint.",
+ "required": [
+ "name",
+ "duration"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of a dependency call instance. Used for correlation with the request telemetry item corresponding to this dependency call.",
+ "maxLength": 512
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the command initiated with this dependency call. Low cardinality value. Examples are stored procedure name and URL path template.",
+ "maxLength": 1024
+ },
+ "resultCode": {
+ "type": "string",
+ "description": "Result code of a dependency call. Examples are SQL error code and HTTP status code.",
+ "maxLength": 1024
+ },
+ "data": {
+ "type": "string",
+ "description": "Command initiated by this dependency call. Examples are SQL statement and HTTP URL with all query parameters.",
+ "maxLength": 8192
+ },
+ "type": {
+ "type": "string",
+ "description": "Dependency type name. Very low cardinality value for logical grouping of dependencies and interpretation of other fields like commandName and resultCode. Examples are SQL, Azure table, and HTTP.",
+ "maxLength": 1024
+ },
+ "target": {
+ "type": "string",
+ "description": "Target site of a dependency call. Examples are server name, host address.",
+ "maxLength": 1024
+ },
+ "duration": {
+ "type": "string",
+ "description": "Request duration in format: DD.HH:MM:SS.MMMMMM. Must be less than 1000 days."
+ },
+ "success": {
+ "type": "boolean",
+ "description": "Indication of successful or unsuccessful call.",
+ "default": true
+ },
+ "properties": {
+ "type": "object",
+ "description": "Collection of custom properties.",
+ "additionalProperties": {
+ "type": "string",
+ "maxLength": 8192
+ }
+ },
+ "measurements": {
+ "type": "object",
+ "description": "Collection of custom measurements.",
+ "additionalProperties": {
+ "type": "number",
+ "format": "double"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "RequestData": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Domain"
+ },
+ {
+ "type": "object",
+ "description": "An instance of Request represents completion of an external request to the application to do work and contains a summary of that request execution and the results.",
+ "required": [
+ "id",
+ "duration",
+ "responseCode",
+ "success"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of a request call instance. Used for correlation between request and other telemetry items.",
+ "maxLength": 512
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the request. Represents code path taken to process request. Low cardinality value to allow better grouping of requests. For HTTP requests it represents the HTTP method and URL path template like 'GET /values/{id}'.",
+ "maxLength": 1024
+ },
+ "duration": {
+ "type": "string",
+ "description": "Request duration in format: DD.HH:MM:SS.MMMMMM. Must be less than 1000 days."
+ },
+ "success": {
+ "type": "boolean",
+ "description": "Indication of successful or unsuccessful call.",
+ "default": true
+ },
+ "responseCode": {
+ "type": "string",
+ "description": "Result of a request execution. HTTP status code for HTTP requests.",
+ "maxLength": 1024
+ },
+ "source": {
+ "type": "string",
+ "description": "Source of the request. Examples are the instrumentation key of the caller or the ip address of the caller.",
+ "maxLength": 1024
+ },
+ "url": {
+ "type": "string",
+ "description": "Request URL with all query string parameters.",
+ "maxLength": 2048
+ },
+ "properties": {
+ "type": "object",
+ "description": "Collection of custom properties.",
+ "additionalProperties": {
+ "type": "string",
+ "maxLength": 8192
+ }
+ },
+ "measurements": {
+ "type": "object",
+ "description": "Collection of custom measurements.",
+ "additionalProperties": {
+ "type": "number",
+ "format": "double"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "SeverityLevel": {
+ "type": "string",
+ "description": "Defines the level of severity for the event.",
+ "enum": [
+ "Verbose",
+ "Information",
+ "Warning",
+ "Error",
+ "Critical"
+ ]
+ },
+ "StackFrame": {
+ "type": "object",
+ "description": "Stack frame information.",
+ "required": [
+ "level",
+ "method"
+ ],
+ "properties": {
+ "level": {
+ "type": "number",
+ "format": "int32",
+ "description": ""
+ },
+ "method": {
+ "type": "string",
+ "description": "Method name.",
+ "maxLength": 1024
+ },
+ "assembly": {
+ "type": "string",
+ "description": "Name of the assembly (dll, jar, etc.) containing this function.",
+ "maxLength": 1024
+ },
+ "fileName": {
+ "type": "string",
+ "description": "File name or URL of the method implementation.",
+ "maxLength": 1024
+ },
+ "line": {
+ "type": "number",
+ "format": "int32",
+ "description": "Line number of the code implementation."
+ }
+ }
+ },
+ "TrackResponse": {
+ "description": "Response containing the status of each telemetry item.",
+ "type": "object",
+ "properties": {
+ "itemsReceived": {
+ "type": "number",
+ "format": "int32",
+ "description": "The number of items received."
+ },
+ "itemsAccepted": {
+ "type": "number",
+ "format": "int32",
+ "description": "The number of items accepted."
+ },
+ "errors": {
+ "type": "array",
+ "description": "An array of error detail objects.",
+ "items": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ },
+ "ErrorDetails": {
+ "x-ms-client-name": "TelemetryErrorDetails",
+ "description": "The error details",
+ "type": "object",
+ "properties": {
+ "index": {
+ "type": "number",
+ "format": "int32",
+ "description": "The index in the original payload of the item."
+ },
+ "statusCode": {
+ "type": "number",
+ "format": "int32",
+ "description": "The item specific [HTTP Response status code](#Response Status Codes)."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ }
+ },
+ "TelemetryEnvelope": {
+ "x-ms-client-name": "TelemetryItem",
+ "description": "System variables for a telemetry item.",
+ "type": "object",
+ "required": [
+ "name",
+ "time"
+ ],
+ "properties": {
+ "ver": {
+ "type": "number",
+ "x-ms-client-name": "version",
+ "format": "int32",
+ "default": 1,
+ "description": "Envelope version. For internal use only. By assigning this the default, it will not be serialized within the payload unless changed to a value other than #1."
+ },
+ "name": {
+ "type": "string",
+ "description": "Type name of telemetry data item."
+ },
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Event date time when telemetry item was created. This is the wall clock time on the client when the event was generated. There is no guarantee that the client's time is accurate. This field must be formatted in UTC ISO 8601 format, with a trailing 'Z' character, as described publicly on https://en.wikipedia.org/wiki/ISO_8601#UTC. Note: the number of decimal seconds digits provided are variable (and unspecified). Consumers should handle this, i.e. managed code consumers should not use format 'O' for parsing as it specifies a fixed length. Example: 2009-06-15T13:45:30.0000000Z."
+ },
+ "sampleRate": {
+ "type": "number",
+ "format": "float",
+ "default": 100.0,
+ "description": "Sampling rate used in application. This telemetry item represents 100 / sampleRate actual telemetry items."
+ },
+ "seq": {
+ "type": "string",
+ "x-ms-client-name": "sequence",
+ "maxLength": 64,
+ "description": "Sequence field used to track absolute order of uploaded events."
+ },
+ "iKey": {
+ "type": "string",
+ "x-ms-client-name": "instrumentationKey",
+ "description": "The instrumentation key of the Application Insights resource."
+ },
+ "tags": {
+ "type": "object",
+ "description": "Key/value collection of context properties. See ContextTagKeys for information on available properties.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "data": {
+ "$ref": "#/definitions/Base",
+ "description": "Telemetry data item."
+ }
+ }
+ },
+ "ContextTagKeys": {
+ "type": "string",
+ "description": "The context tag keys.",
+ "enum": [
+ "ApplicationVersion",
+ "DeviceId",
+ "DeviceLocale",
+ "DeviceModel",
+ "DeviceOEMName",
+ "DeviceOSVersion",
+ "DeviceType",
+ "LocationIp",
+ "LocationCountry",
+ "LocationProvince",
+ "LocationCity",
+ "OperationId",
+ "OperationName",
+ "OperationParentId",
+ "OperationSyntheticSource",
+ "OperationCorrelationVector",
+ "SessionId",
+ "SessionIsFirst",
+ "UserAccountId",
+ "UserId",
+ "UserAuthUserId",
+ "CloudRole",
+ "CloudRoleVer",
+ "CloudRoleInstance",
+ "CloudLocation",
+ "InternalSdkVersion",
+ "InternalAgentVersion",
+ "InternalNodeName "
+ ],
+ "x-ms-enum": {
+ "name": "ContextTagKeys",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "ai.application.ver"
+ },
+ {
+ "value": "ai.device.id"
+ },
+ {
+ "value": "ai.device.locale"
+ },
+ {
+ "value": "ai.device.model"
+ },
+ {
+ "value": "ai.device.oemName"
+ },
+ {
+ "value": "ai.device.osVersion"
+ },
+ {
+ "value": "ai.device.type"
+ },
+ {
+ "value": "ai.location.ip"
+ },
+ {
+ "value": "ai.location.country"
+ },
+ {
+ "value": "ai.location.province"
+ },
+ {
+ "value": "ai.location.city"
+ },
+ {
+ "value": "ai.operation.id"
+ },
+ {
+ "value": "ai.operation.name"
+ },
+ {
+ "value": "ai.operation.parentId"
+ },
+ {
+ "value": "ai.operation.syntheticSource"
+ },
+ {
+ "value": "ai.operation.correlationVector"
+ },
+ {
+ "value": "ai.session.id"
+ },
+ {
+ "value": "ai.session.isFirst"
+ },
+ {
+ "value": "ai.user.accountId"
+ },
+ {
+ "value": "ai.user.id"
+ },
+ {
+ "value": "ai.user.authUserId"
+ },
+ {
+ "value": "ai.cloud.role"
+ },
+ {
+ "value": "ai.cloud.roleVer"
+ },
+ {
+ "value": "ai.cloud.roleInstance"
+ },
+ {
+ "value": "ai.cloud.location"
+ },
+ {
+ "value": "ai.internal.sdkVersion"
+ },
+ {
+ "value": "ai.internal.agentVersion"
+ },
+ {
+ "value": "ai.internal.nodeName"
+ }
+ ]
+ }
+ }
+ },
+ "parameters": {
+ "Host": {
+ "name": "Host",
+ "description": "Breeze endpoint: https://dc.services.visualstudio.com",
+ "x-ms-parameter-location": "client",
+ "default": "https://dc.services.visualstudio.com",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ }
+}
diff --git a/specification/applicationinsights/data-plane/Monitor.Exporters/readme.md b/specification/applicationinsights/data-plane/Monitor.Exporters/readme.md
index b1ae6ed86f47..fe680188a953 100644
--- a/specification/applicationinsights/data-plane/Monitor.Exporters/readme.md
+++ b/specification/applicationinsights/data-plane/Monitor.Exporters/readme.md
@@ -42,3 +42,17 @@ input-file:
- preview/2020-09-15_Preview/swagger.json
```
+```yaml
+openapi-type: data-plane
+tag: v2.1
+```
+
+### Tag: v2.1
+
+These settings apply only when `--tag=v2.1` is specified on the command line.
+
+```yaml $(tag) == 'v2.1'
+input-file:
+ - preview/v2.1/swagger.json
+```
+
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2017-10-01/examples/CurrentPricingPlanCreateAndUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2017-10-01/examples/CurrentPricingPlanCreateAndUpdate.json
index 6d269785be16..7f62be7b2683 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2017-10-01/examples/CurrentPricingPlanCreateAndUpdate.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2017-10-01/examples/CurrentPricingPlanCreateAndUpdate.json
@@ -7,12 +7,9 @@
"PricingPlanProperties": {
"id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/microsoft.insights/components/my-component/pricingPlans/current",
"name": "current",
- "type": "microsoft.insights/components/pricingPlans",
"properties": {
"planType": "Basic",
"cap": 500,
- "maxHistoryCap": 500,
- "resetHour": 16,
"warningThreshold": 90,
"stopSendNotificationWhenHitThreshold": false,
"stopSendNotificationWhenHitCap": false
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2017-10-01/examples/CurrentPricingPlanUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2017-10-01/examples/CurrentPricingPlanUpdate.json
index fccdba43b6f8..7f62be7b2683 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2017-10-01/examples/CurrentPricingPlanUpdate.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2017-10-01/examples/CurrentPricingPlanUpdate.json
@@ -7,7 +7,6 @@
"PricingPlanProperties": {
"id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/microsoft.insights/components/my-component/pricingPlans/current",
"name": "current",
- "type": "microsoft.insights/components/pricingPlans",
"properties": {
"planType": "Basic",
"cap": 500,
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
index 22fcf9bfa10f..bde9a0c44184 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
@@ -59,7 +59,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "#/definitions/ErrorResponseLinkedStorage"
}
},
"200": {
@@ -108,7 +108,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "#/definitions/ErrorResponseLinkedStorage"
}
},
"200": {
@@ -157,7 +157,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "#/definitions/ErrorResponseLinkedStorage"
}
},
"200": {
@@ -197,7 +197,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "#/definitions/ErrorResponseLinkedStorage"
}
},
"200": {
@@ -216,17 +216,24 @@
}
},
"definitions": {
- "ErrorResponse": {
- "description": "Error response indicates Insights service is not able to process the incoming request. The reason is provided in the error message.",
+ "ErrorResponseLinkedStorage": {
"type": "object",
"properties": {
- "code": {
- "description": "Error code.",
- "type": "string"
- },
- "message": {
- "description": "Error message indicating why the operation failed.",
- "type": "string"
+ "error": {
+ "description": "Error response indicates Insights service is not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "readOnly": true,
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
}
}
},
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
index bac300f6f969..a64727e554c7 100644
--- 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
@@ -93,7 +93,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "../2020-03-01-preview/componentLinkedStorageAccounts_API.json#/definitions/ErrorResponse"
+ "$ref": "../2020-03-01-preview/componentLinkedStorageAccounts_API.json#/definitions/ErrorResponseLinkedStorage"
}
},
"200": {
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/components_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/components_API.json
new file mode 100644
index 000000000000..8b7c68c31127
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/components_API.json
@@ -0,0 +1,794 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApplicationInsightsManagementClient",
+ "description": "Azure Application Insights client for Components",
+ "version": "2020-02-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}/providers/Microsoft.Insights/components": {
+ "get": {
+ "description": "Gets a list of all Application Insights components within a subscription.",
+ "operationId": "Components_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 Application Insights component definitions.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseComponents"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentsList.json": {
+ "$ref": "./examples/ComponentsList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components": {
+ "get": {
+ "description": "Gets a list of Application Insights components within a resource group.",
+ "operationId": "Components_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list containing 0 or more Application Insights component definitions.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseComponents"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentListByResourceGroup": {
+ "$ref": "./examples/ComponentsListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}": {
+ "delete": {
+ "description": "Deletes an Application Insights component.",
+ "operationId": "Components_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request when deleting an Application Insights component."
+ },
+ "204": {
+ "description": "The specified component does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseComponents"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentsDelete": {
+ "$ref": "./examples/ComponentsDelete.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Returns an Application Insights component.",
+ "operationId": "Components_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "An Application Insights Component definition.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponent"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseComponents"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentGet": {
+ "$ref": "./examples/ComponentsGet.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Creates (or updates) an Application Insights component. Note: You cannot specify a different value for InstrumentationKey nor AppId in the Put operation.",
+ "operationId": "Components_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "InsightProperties",
+ "description": "Properties that need to be specified to create an Application Insights component.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponent"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request when creating or updating an Application Insights component. The updated component is returned.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponent"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseComponents"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentCreate": {
+ "$ref": "./examples/ComponentsCreate.json"
+ },
+ "ComponentUpdate": {
+ "$ref": "./examples/ComponentsUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Updates an existing component's tags. To update other fields use the CreateOrUpdate method.",
+ "operationId": "Components_UpdateTags",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "ComponentTags",
+ "description": "Updated tag information to set into the component instance.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updating the Application Insights component's tags was successful. Component tags are updated and returned with the rest of the Component's object properties.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationInsightsComponent"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseComponents"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentUpdateTagsOnly": {
+ "$ref": "./examples/ComponentsUpdateTagsOnly.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge": {
+ "post": {
+ "description": "Purges data in an Application Insights component by a set of user-defined filters.\n\nIn order to manage system resources, purge requests are throttled at 50 requests per hour. You should batch the execution of purge requests by sending a single command whose predicate includes all user identities that require purging. Use the in operator to specify multiple identities. You should run the query prior to using for a purge request to verify that the results are expected.",
+ "operationId": "Components_Purge",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ComponentPurgeParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted request for purging an Application Insights component.",
+ "schema": {
+ "$ref": "#/definitions/ComponentPurgeResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseComponents"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentPurge": {
+ "$ref": "./examples/ComponentsPurge.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/operations/{purgeId}": {
+ "get": {
+ "description": "Get status for an ongoing purge operation.",
+ "operationId": "Components_GetPurgeStatus",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ComponentPurgeIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns status of purge operation in body of response. e.g.: running, completed.",
+ "schema": {
+ "$ref": "#/definitions/ComponentPurgeStatusResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseComponents"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ComponentPurge": {
+ "$ref": "./examples/ComponentsPurgeStatus.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponseComponents": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "Error response indicates Insights service is not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "readOnly": true,
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "ComponentsResource": {
+ "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 WebTest instance."
+ },
+ "ApplicationInsightsComponent": {
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "The kind of application that this component refers to, used to customize UI. This value is a freeform string, values should typically be one of the following: web, ios, other, store, java, phone."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Resource etag"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties that define an Application Insights component resource.",
+ "$ref": "#/definitions/ApplicationInsightsComponentProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ComponentsResource"
+ }
+ ],
+ "required": [
+ "kind"
+ ],
+ "description": "An Application Insights component definition."
+ },
+ "ApplicationInsightsComponentProperties": {
+ "description": "Properties that define an Application Insights component resource.",
+ "properties": {
+ "ApplicationId": {
+ "type": "string",
+ "description": "The unique ID of your application. This field mirrors the 'Name' field and cannot be changed.",
+ "readOnly": true
+ },
+ "AppId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Application Insights Unique ID for your Application."
+ },
+ "Name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Application name."
+ },
+ "Application_Type": {
+ "type": "string",
+ "description": "Type of application being monitored.",
+ "default": "web",
+ "enum": [
+ "web",
+ "other"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationType",
+ "modelAsString": true
+ },
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "Flow_Type": {
+ "type": "string",
+ "description": "Used by the Application Insights system to determine what kind of flow this component was created by. This is to be set to 'Bluefield' when creating/updating a component via the REST API.",
+ "default": "Bluefield",
+ "enum": [
+ "Bluefield"
+ ],
+ "x-ms-enum": {
+ "name": "FlowType",
+ "modelAsString": true
+ }
+ },
+ "Request_Source": {
+ "type": "string",
+ "description": "Describes what tool created this Application Insights component. Customers using this API should set this to the default 'rest'.",
+ "default": "rest",
+ "enum": [
+ "rest"
+ ],
+ "x-ms-enum": {
+ "name": "RequestSource",
+ "modelAsString": true
+ }
+ },
+ "InstrumentationKey": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Application Insights Instrumentation key. A read-only value that applications can use to identify the destination for all telemetry sent to Azure Application Insights. This value will be supplied upon construction of each new Application Insights component."
+ },
+ "CreationDate": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Creation Date for the Application Insights component, in ISO 8601 format.",
+ "format": "date-time"
+ },
+ "TenantId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure Tenant Id."
+ },
+ "HockeyAppId": {
+ "type": "string",
+ "description": "The unique application ID created when a new application is added to HockeyApp, used for communications with HockeyApp.",
+ "externalDocs": {
+ "url": "https://aka.ms/ewjuel"
+ }
+ },
+ "HockeyAppToken": {
+ "type": "string",
+ "description": "Token used to authenticate communications with between Application Insights and HockeyApp.",
+ "readOnly": true,
+ "externalDocs": {
+ "url": "https://aka.ms/sls76s"
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Current state of this component: whether or not is has been provisioned within the resource group it is defined. Users cannot change this value but are able to read from it. Values will include Succeeded, Deploying, Canceled, and Failed.",
+ "readOnly": true
+ },
+ "SamplingPercentage": {
+ "type": "number",
+ "format": "double",
+ "description": "Percentage of the data produced by the application being monitored that is being sampled for Application Insights telemetry.",
+ "externalDocs": {
+ "url": "https://aka.ms/sl0yqd"
+ }
+ },
+ "ConnectionString": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Application Insights component connection string."
+ },
+ "RetentionInDays": {
+ "type": "integer",
+ "description": "Retention period in days."
+ },
+ "DisableIpMasking": {
+ "type": "boolean",
+ "description": "Disable IP masking."
+ },
+ "ImmediatePurgeDataOn30Days": {
+ "type": "boolean",
+ "description": "Purge data immediately after 30 days."
+ },
+ "WorkspaceResourceId": {
+ "type": "string",
+ "description": "Resource Id of the log analytics workspace which the data will be ingested to. This property is required to create an application with this API version. Applications from older versions will not have this property."
+ },
+ "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",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkScopedResource"
+ },
+ "description": "List of linked private link scope resources."
+ },
+ "publicNetworkAccessForIngestion": {
+ "description": "The network access type for accessing Application Insights ingestion.",
+ "$ref": "#/definitions/PublicNetworkAccessType"
+ },
+ "publicNetworkAccessForQuery": {
+ "description": "The network access type for accessing Application Insights query.",
+ "$ref": "#/definitions/PublicNetworkAccessType"
+ },
+ "IngestionMode": {
+ "type": "string",
+ "description": "Indicates the flow of the ingestion.",
+ "default": "LogAnalytics",
+ "enum": [
+ "ApplicationInsights",
+ "ApplicationInsightsWithDiagnosticSettings",
+ "LogAnalytics"
+ ],
+ "x-ms-enum": {
+ "name": "IngestionMode",
+ "modelAsString": true
+ }
+ },
+ "DisableLocalAuth": {
+ "type": "boolean",
+ "description": "Disable Non-AAD based Auth."
+ },
+ "ForceCustomerStorageForProfiler": {
+ "type": "boolean",
+ "description": "Force users to create their own storage account for profiler and debugger."
+ }
+ },
+ "required": [
+ "Application_Type"
+ ]
+ },
+ "PrivateLinkScopedResource": {
+ "properties": {
+ "ResourceId": {
+ "type": "string",
+ "description": "The full resource Id of the private link scope resource."
+ },
+ "ScopeId": {
+ "type": "string",
+ "description": "The private link scope unique Identifier."
+ }
+ },
+ "description": "The private link scope resource reference."
+ },
+ "ApplicationInsightsComponentListResult": {
+ "description": "Describes the list of Application Insights Resources.",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Application Insights component definitions.",
+ "items": {
+ "$ref": "#/definitions/ApplicationInsightsComponent"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to get the next set of Application Insights component definitions if too many components where returned in the result set."
+ }
+ }
+ },
+ "ComponentPurgeBody": {
+ "description": "Describes the body of a purge request for an App Insights component",
+ "required": [
+ "table",
+ "filters"
+ ],
+ "properties": {
+ "table": {
+ "type": "string",
+ "description": "Table from which to purge data."
+ },
+ "filters": {
+ "type": "array",
+ "description": "The set of columns and filters (queries) to run over them to purge the resulting data.",
+ "items": {
+ "$ref": "#/definitions/ComponentPurgeBodyFilters"
+ }
+ }
+ }
+ },
+ "ComponentPurgeBodyFilters": {
+ "description": "User-defined filters to return data which will be purged from the table.",
+ "properties": {
+ "column": {
+ "description": "The column of the table over which the given query should run",
+ "type": "string"
+ },
+ "operator": {
+ "description": "A query operator to evaluate over the provided column and value(s). Supported operators are ==, =~, in, in~, >, >=, <, <=, between, and have the same behavior as they would in a KQL query.",
+ "type": "string"
+ },
+ "value": {
+ "description": "the value for the operator to function over. This can be a number (e.g., > 100), a string (timestamp >= '2017-09-01') or array of values."
+ },
+ "key": {
+ "description": "When filtering over custom dimensions, this key will be used as the name of the custom dimension.",
+ "type": "string"
+ }
+ }
+ },
+ "ComponentPurgeResponse": {
+ "description": "Response containing operationId for a specific purge action.",
+ "properties": {
+ "operationId": {
+ "description": "Id to use when querying for status for a particular purge operation.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "operationId"
+ ]
+ },
+ "ComponentPurgeStatusResponse": {
+ "description": "Response containing status for a specific purge operation.",
+ "properties": {
+ "status": {
+ "description": "Status of the operation represented by the requested Id.",
+ "type": "string",
+ "enum": [
+ "pending",
+ "completed"
+ ],
+ "x-ms-enum": {
+ "name": "PurgeState",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "status"
+ ]
+ },
+ "PublicNetworkAccessType": {
+ "type": "string",
+ "description": "The network access type for operating on the Application Insights Component. By default it is Enabled",
+ "default": "Enabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccessType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "Enables connectivity to Application Insights through public DNS."
+ },
+ {
+ "value": "Disabled",
+ "description": "Disables public connectivity to Application Insights through public DNS."
+ }
+ ]
+ }
+ }
+ },
+ "parameters": {
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Application Insights component resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "ComponentPurgeParameter": {
+ "name": "body",
+ "in": "body",
+ "description": "Describes the body of a request to purge data in a single table of an Application Insights component",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ComponentPurgeBody"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "ComponentPurgeIdParameter": {
+ "name": "purgeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "In a purge status request, this is the Id of the operation the status of which is returned.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsCreate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsCreate.json
new file mode 100644
index 000000000000..e47be170ccc3
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsCreate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2020-02-02",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-component",
+ "InsightProperties": {
+ "location": "South Central US",
+ "kind": "web",
+ "properties": {
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "Request_Source": "rest"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component",
+ "name": "my-component",
+ "type": "Microsoft.Insights/components",
+ "location": "South Central US",
+ "tags": "",
+ "kind": "web",
+ "properties": {
+ "ApplicationId": "my-component",
+ "AppId": "887f4bfd-b5fd-40d7-9fc3-123456789abc",
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "Request_Source": "rest",
+ "InstrumentationKey": "bc095013-3cf2-45ac-ab47-123456789abc",
+ "CreationDate": "2017-01-24T01:05:38.5934061+00:00",
+ "TenantId": "f438d567-7177-4fe1-a5e3-123456789abc",
+ "HockeyAppId": "",
+ "HockeyAppToken": "",
+ "provisioningState": "Succeeded",
+ "SamplingPercentage": 100.0,
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "publicNetworkAccessForQuery": "Enabled",
+ "publicNetworkAccessForIngestion": "Enabled",
+ "IngestionMode": "LogAnalytics"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsDelete.json
new file mode 100644
index 000000000000..2e8b78b498f1
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-02-02",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-component"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsGet.json
new file mode 100644
index 000000000000..92fc3f43beb7
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsGet.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2020-02-02",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-component"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component",
+ "name": "my-component",
+ "type": "Microsoft.Insights/components",
+ "location": "South Central US",
+ "tags": "",
+ "kind": "web",
+ "properties": {
+ "ApplicationId": "my-component",
+ "AppId": "887f4bfd-b5fd-40d7-9fc3-123456789abc",
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "Request_Source": "rest",
+ "InstrumentationKey": "bc095013-3cf2-45ac-ab47-123456789abc",
+ "CreationDate": "2017-01-24T01:05:38.5934061+00:00",
+ "TenantId": "f438d567-7177-4fe1-a5e3-123456789abc",
+ "HockeyAppId": "",
+ "HockeyAppToken": "",
+ "provisioningState": "Succeeded",
+ "SamplingPercentage": 100.0,
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "publicNetworkAccessForQuery": "Enabled",
+ "publicNetworkAccessForIngestion": "Enabled",
+ "IngestionMode": "LogAnalytics"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsList.json
new file mode 100644
index 000000000000..4d5b050bbcbc
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsList.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2020-02-02",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component",
+ "name": "my-component",
+ "type": "Microsoft.Insights/components",
+ "location": "South Central US",
+ "tags": "",
+ "kind": "web",
+ "properties": {
+ "ApplicationId": "my-component",
+ "AppId": "16526d1a-dfba-4362-a9e9-123456789abc",
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "Request_Source": "rest",
+ "InstrumentationKey": "dc5931c7-a7ad-4ad0-89d6-123456789abc",
+ "CreationDate": "2017-02-14T12:24:05.0041213+00:00",
+ "TenantId": "f438d567-7177-4fe1-a5e3-123456789abc",
+ "HockeyAppId": "",
+ "HockeyAppToken": "",
+ "provisioningState": "Succeeded",
+ "SamplingPercentage": 75.0,
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "ConnectionString": "InstrumentationKey=dc5931c7-a7ad-4ad0-89d6-123456789abc",
+ "DisableIpMasking": false,
+ "publicNetworkAccessForQuery": "Enabled",
+ "publicNetworkAccessForIngestion": "Enabled",
+ "IngestionMode": "LogAnalytics"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/my-other-resource-group/providers/Microsoft.Insights/components/my-other-component",
+ "name": "my-other-component",
+ "type": "Microsoft.Insights/components",
+ "location": "South Central US",
+ "tags": "",
+ "kind": "web",
+ "properties": {
+ "ApplicationId": "my-other-component",
+ "AppId": "887f4bfd-b5fd-40d7-9fc3-123456789abc",
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "Request_Source": "rest",
+ "InstrumentationKey": "bc095013-3cf2-45ac-ab47-123456789abc",
+ "CreationDate": "2017-01-24T01:05:38.5934061+00:00",
+ "TenantId": "f438d567-7177-4fe1-a5e3-123456789abc",
+ "HockeyAppId": "",
+ "HockeyAppToken": "",
+ "provisioningState": "Succeeded",
+ "SamplingPercentage": 30.0,
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "publicNetworkAccessForQuery": "Enabled",
+ "publicNetworkAccessForIngestion": "Enabled",
+ "IngestionMode": "LogAnalytics"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsListByResourceGroup.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsListByResourceGroup.json
new file mode 100644
index 000000000000..e7cfff55f02e
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsListByResourceGroup.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2020-02-02",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component",
+ "name": "my-component",
+ "type": "Microsoft.Insights/components",
+ "location": "South Central US",
+ "tags": "",
+ "kind": "web",
+ "properties": {
+ "ApplicationId": "my-component",
+ "AppId": "16526d1a-dfba-4362-a9e9-123456789abc",
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "Request_Source": "rest",
+ "InstrumentationKey": "dc5931c7-a7ad-4ad0-89d6-123456789abc",
+ "CreationDate": "2017-02-14T12:24:05.0041213+00:00",
+ "TenantId": "f438d567-7177-4fe1-a5e3-123456789abc",
+ "HockeyAppId": "",
+ "HockeyAppToken": "",
+ "provisioningState": "Succeeded",
+ "SamplingPercentage": 100.0,
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "ConnectionString": "InstrumentationKey=dc5931c7-a7ad-4ad0-89d6-123456789abc",
+ "DisableIpMasking": false,
+ "publicNetworkAccessForQuery": "Enabled",
+ "publicNetworkAccessForIngestion": "Enabled",
+ "IngestionMode": "LogAnalytics"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/my-other-resource-group/providers/Microsoft.Insights/components/my-other-component",
+ "name": "my-other-component",
+ "type": "Microsoft.Insights/components",
+ "location": "South Central US",
+ "tags": "",
+ "kind": "web",
+ "properties": {
+ "ApplicationId": "my-other-component",
+ "AppId": "887f4bfd-b5fd-40d7-9fc3-123456789abc",
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "Request_Source": "rest",
+ "InstrumentationKey": "bc095013-3cf2-45ac-ab47-123456789abc",
+ "CreationDate": "2017-01-24T01:05:38.5934061+00:00",
+ "TenantId": "f438d567-7177-4fe1-a5e3-123456789abc",
+ "HockeyAppId": "",
+ "HockeyAppToken": "",
+ "provisioningState": "Succeeded",
+ "SamplingPercentage": 50.0,
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "publicNetworkAccessForQuery": "Enabled",
+ "publicNetworkAccessForIngestion": "Enabled",
+ "IngestionMode": "LogAnalytics"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsPurge.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsPurge.json
new file mode 100644
index 000000000000..8fa7612ae7f2
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsPurge.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceGroupName": "OIAutoRest5123",
+ "resourceName": "aztest5048",
+ "api-version": "2020-02-02",
+ "subscriptionId": "00000000-0000-0000-0000-00000000000",
+ "body": {
+ "table": "Heartbeat",
+ "filters": [
+ {
+ "column": "TimeGenerated",
+ "operator": ">",
+ "value": "2017-09-01T00:00:00"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "x-ms-status-location": "https://management.azure.com/subscriptions/b96161de-b34a-480f-7343-59b099299283/resourceGroups/example/providers/microsoft.insights/components/test/operations/purge-970318e7-b859-4edb-8903-83b1b54d0b74?api-version=2015-05-01"
+ },
+ "body": {
+ "operationId": "7d7cf277-9113-4ab3-8359-d0364b74d01d"
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsPurgeStatus.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsPurgeStatus.json
new file mode 100644
index 000000000000..0f38ffa06709
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsPurgeStatus.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "resourceGroupName": "OIAutoRest5123",
+ "resourceName": "aztest5048",
+ "api-version": "2020-02-02",
+ "subscriptionId": "00000000-0000-0000-0000-00000000000",
+ "purgeId": "purge-970318e7-b859-4edb-8903-83b1b54d0b74"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "completed"
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsUpdate.json
new file mode 100644
index 000000000000..5130daaccc3c
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsUpdate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2020-02-02",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-component",
+ "InsightProperties": {
+ "location": "South Central US",
+ "kind": "web",
+ "tags": {
+ "ApplicationGatewayType": "Internal-Only",
+ "BillingEntity": "Self"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component",
+ "name": "my-component",
+ "type": "Microsoft.Insights/components",
+ "location": "South Central US",
+ "tags": {
+ "ApplicationGatewayType": "Internal-Only",
+ "BillingEntity": "Self"
+ },
+ "kind": "web",
+ "properties": {
+ "ApplicationId": "my-component",
+ "AppId": "887f4bfd-b5fd-40d7-9fc3-123456789abc",
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "Request_Source": "rest",
+ "InstrumentationKey": "bc095013-3cf2-45ac-ab47-123456789abc",
+ "CreationDate": "2017-01-24T01:05:38.5934061+00:00",
+ "TenantId": "f438d567-7177-4fe1-a5e3-123456789abc",
+ "HockeyAppId": "",
+ "HockeyAppToken": "",
+ "provisioningState": "Succeeded",
+ "SamplingPercentage": 100.0,
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "publicNetworkAccessForQuery": "Enabled",
+ "publicNetworkAccessForIngestion": "Enabled",
+ "IngestionMode": "LogAnalytics"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsUpdateTagsOnly.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsUpdateTagsOnly.json
new file mode 100644
index 000000000000..a01dea72ce89
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/examples/ComponentsUpdateTagsOnly.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2020-02-02",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "my-component",
+ "ComponentTags": {
+ "tags": {
+ "ApplicationGatewayType": "Internal-Only",
+ "BillingEntity": "Self",
+ "Color": "AzureBlue",
+ "CustomField_01": "Custom text in some random field named randomly",
+ "NodeType": "Edge"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/Microsoft.Insights/components/my-component",
+ "name": "my-component",
+ "type": "Microsoft.Insights/components",
+ "location": "South Central US",
+ "tags": {
+ "ApplicationGatewayType": "Internal-Only",
+ "BillingEntity": "Self",
+ "Color": "AzureBlue",
+ "CustomField_01": "Custom text in some random field named randomly",
+ "NodeType": "Edge"
+ },
+ "kind": "web",
+ "properties": {
+ "ApplicationId": "my-component",
+ "AppId": "887f4bfd-b5fd-40d7-9fc3-123456789abc",
+ "Application_Type": "web",
+ "Flow_Type": "Bluefield",
+ "Request_Source": "rest",
+ "InstrumentationKey": "bc095013-3cf2-45ac-ab47-123456789abc",
+ "CreationDate": "2017-01-24T01:05:38.5934061+00:00",
+ "TenantId": "f438d567-7177-4fe1-a5e3-123456789abc",
+ "HockeyAppId": "",
+ "HockeyAppToken": "",
+ "provisioningState": "Succeeded",
+ "SamplingPercentage": 100.0,
+ "WorkspaceResourceId": "/subscriptions/subid/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
+ "ConnectionString": "InstrumentationKey=bc095013-3cf2-45ac-ab47-123456789abc",
+ "DisableIpMasking": false,
+ "publicNetworkAccessForQuery": "Enabled",
+ "publicNetworkAccessForIngestion": "Enabled",
+ "IngestionMode": "LogAnalytics"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/readme.go.md b/specification/applicationinsights/resource-manager/readme.go.md
index 8d3ea9fc8783..0d015d62389f 100644
--- a/specification/applicationinsights/resource-manager/readme.go.md
+++ b/specification/applicationinsights/resource-manager/readme.go.md
@@ -14,6 +14,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- tag: package-2015-05
+ - tag: package-2020-02-02
```
### Tag: package-2015-05 and go
@@ -25,24 +26,11 @@ Please also specify `--go-sdk-folder=`.
-override-info:
- title: ApplicationInsightsManagementClient
+``` yaml $(tag) == 'package-2020-02-02' && $(go)
+output-folder: $(go-sdk-folder)/services/appinsights/mgmt/2020-02-02/$(namespace)
```
diff --git a/specification/applicationinsights/resource-manager/readme.md b/specification/applicationinsights/resource-manager/readme.md
index 536297aaaec0..7d16982291bc 100644
--- a/specification/applicationinsights/resource-manager/readme.md
+++ b/specification/applicationinsights/resource-manager/readme.md
@@ -354,6 +354,28 @@ input-file:
- Microsoft.Insights/preview/2020-02-02-preview/components_API.json
```
+### Tag: package-2020-02-02
+
+These settings apply only when `--tag=package-2020-02-02` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-02-02'
+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/2020-02-02/components_API.json
+```
+
### Tag: package-2019-10-17-preview
These settings apply only when `--tag=package-2019-10-17-preview` is specified on the command line.
@@ -426,9 +448,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
- after_scripts:
- - python ./scripts/multiapi_init_gen.py --default-api-version=2020-03-01-preview azure-mgmt-applicationinsights
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
diff --git a/specification/applicationinsights/resource-manager/readme.python.md b/specification/applicationinsights/resource-manager/readme.python.md
index 913e69037551..7a82c19ac38b 100644
--- a/specification/applicationinsights/resource-manager/readme.python.md
+++ b/specification/applicationinsights/resource-manager/readme.python.md
@@ -1,42 +1,20 @@
## Python
-## python
These settings apply only when `--python` is specified on the command line.
-```yaml $(python) && !$(track2)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- package-name: azure-mgmt-applicationinsights
- clear-output-folder: true
- no-namespace-folders: true
-```
```yaml $(python) && $(track2)
python-mode: create
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
package-name: azure-mgmt-applicationinsights
+package-version: 1.0.0b1
clear-output-folder: true
no-namespace-folders: true
-modelerfour:
- lenient-model-deduplication: true
```
### Python multi-api
-``` yaml $(python) && $(multiapi) && !$(track2)
-batch:
- - tag: package-2015-05
- - tag: package-2017-10
- - tag: package-2018-05-01-preview
- - tag: package-2018-06-17-preview
- - tag: package-2019-10-17-preview
- - tag: package-2020-02-02-preview
- - tag: package-2020-03-01-preview
- - tag: package-preview-2020-06-only
-```
``` yaml $(python) && $(multiapi) && $(track2)
+clear-output-folder: true
batch:
- tag: package-2015-05
- tag: package-2017-10
@@ -44,6 +22,7 @@ batch:
- tag: package-2018-06-17-preview
- tag: package-2019-10-17-preview
- tag: package-2020-02-02-preview
+ - tag: package-2020-02-02
- tag: package-2020-03-01-preview
- tag: package-preview-2020-06-only
- multiapiscript: true
@@ -59,11 +38,6 @@ perform-load: false
These settings apply only when `--tag=package-2015-05 --python` is specified on the command line.
-``` yaml $(tag) == 'package-2015-05' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.applicationinsights.v2015_05_01
- output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2015_05_01
-```
``` yaml $(tag) == 'package-2015-05' && $(python) && $(track2)
namespace: azure.mgmt.applicationinsights.v2015_05_01
output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2015_05_01
@@ -73,11 +47,6 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi
These settings apply only when `--tag=package-2017-10 --python` is specified on the command line.
-``` yaml $(tag) == 'package-2017-10' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.applicationinsights.v2017_10_01
- output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2017_10_01
-```
``` yaml $(tag) == 'package-2017-10' && $(python) && $(track2)
namespace: azure.mgmt.applicationinsights.v2017_10_01
output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2017_10_01
@@ -87,11 +56,6 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi
These settings apply only when `--tag=package-2018-06-17-preview --python` is specified on the command line.
-``` yaml $(tag) == 'package-2018-06-17-preview' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.applicationinsights.v2018_06_17_preview
- output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2018_06_17_preview
-```
``` yaml $(tag) == 'package-2018-06-17-preview' && $(python) && $(track2)
namespace: azure.mgmt.applicationinsights.v2018_06_17_preview
output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2018_06_17_preview
@@ -101,11 +65,6 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi
These settings apply only when `--tag=package-2019-10-17-preview --python` is specified on the command line.
-```yaml $(tag) == 'package-2019-10-17-preview' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.applicationinsights.v2019_10_17_preview
- output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2019_10_17_preview
-```
```yaml $(tag) == 'package-2019-10-17-preview' && $(python) && $(track2)
namespace: azure.mgmt.applicationinsights.v2019_10_17_preview
output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2019_10_17_preview
@@ -115,11 +74,6 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi
These settings apply only when `--tag=package-2018-05-01-preview --python` is specified on the command line.
-``` yaml $(tag) == 'package-2018-05-01-preview' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.applicationinsights.v2018_05_01_preview
- output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2018_05_01_preview
-```
``` yaml $(tag) == 'package-2018-05-01-preview' && $(python) && $(track2)
namespace: azure.mgmt.applicationinsights.v2018_05_01_preview
output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2018_05_01_preview
@@ -129,11 +83,6 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi
These settings apply only when `--tag=package-2020-02-02-preview --python` is specified on the command line.
-``` yaml $(tag) == 'package-2020-02-02-preview' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.applicationinsights.v2020_02_02_preview
- output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2020_02_02_preview
-```
``` yaml $(tag) == 'package-2020-02-02-preview' && $(python) && $(track2)
namespace: azure.mgmt.applicationinsights.v2020_02_02_preview
output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2020_02_02_preview
@@ -143,11 +92,6 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi
These settings apply only when `--tag=package-2020-03-01-preview --python` is specified on the command line.
-``` yaml $(tag) == 'package-2020-03-01-preview' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.applicationinsights.v2020_03_01_preview
- output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2020_03_01_preview
-```
``` yaml $(tag) == 'package-2020-03-01-preview' && $(python) && $(track2)
namespace: azure.mgmt.applicationinsights.v2020_03_01_preview
output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2020_03_01_preview
@@ -157,12 +101,11 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi
These settings apply only when `--tag=package-preview-2020-06-only --python` is specified on the command line.
-``` yaml $(tag) == 'package-preview-2020-06-only' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.applicationinsights.v2020_06_02_preview
- output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2020_06_02_preview
-```
``` yaml $(tag) == 'package-preview-2020-06-only' && $(python) && $(track2)
namespace: azure.mgmt.applicationinsights.v2020_06_02_preview
output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2020_06_02_preview
```
+```yaml $(python) && $(track2)
+modelerfour:
+ lenient-model-deduplication: true
+```
\ No newline at end of file
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 4e06ef972f13..63d5c1ac19c4 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
@@ -2857,8 +2857,7 @@
},
"temporaryDisk": {
"$ref": "#/definitions/TemporaryDisk",
- "description": "Temporary disk settings",
- "default": "/tmp"
+ "description": "Temporary disk settings"
},
"persistentDisk": {
"$ref": "#/definitions/PersistentDisk",
@@ -2879,7 +2878,8 @@
},
"mountPath": {
"description": "Mount path of the temporary disk",
- "type": "string"
+ "type": "string",
+ "default": "/tmp"
}
}
},
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/appplatform.json
index 75f29e4dfae3..aa9615cff9b6 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/appplatform.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/appplatform.json
@@ -3443,8 +3443,7 @@
},
"temporaryDisk": {
"$ref": "#/definitions/TemporaryDisk",
- "description": "Temporary disk settings",
- "default": "/tmp"
+ "description": "Temporary disk settings"
},
"persistentDisk": {
"$ref": "#/definitions/PersistentDisk",
@@ -3470,7 +3469,8 @@
},
"mountPath": {
"description": "Mount path of the temporary disk",
- "type": "string"
+ "type": "string",
+ "default": "/tmp"
}
}
},
@@ -4258,6 +4258,10 @@
"displayName": {
"description": "Localized friendly display name of the dimension",
"type": "string"
+ },
+ "toBeExportedForShoebox": {
+ "description": "Whether this dimension should be included for the Shoebox export scenario",
+ "type": "boolean"
}
}
},
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/appplatform.json
index 6a0cd41ee4e0..0fa858b7ca6e 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/appplatform.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/appplatform.json
@@ -3066,23 +3066,43 @@
"properties": {
"serviceRuntimeSubnetId": {
"description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Service Runtime",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"appSubnetId": {
"description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Apps",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"serviceCidr": {
"description": "Azure Spring Cloud service reserved CIDR",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"serviceRuntimeNetworkResourceGroup": {
"description": "Name of the resource group containing network resources of Azure Spring Cloud Service Runtime",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"appNetworkResourceGroup": {
"description": "Name of the resource group containing network resources of Azure Spring Cloud Apps",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"outboundIPs": {
"description": "Desired outbound IP resources for Azure Spring Cloud instance.",
@@ -3413,11 +3433,16 @@
},
"fqdn": {
"description": "Fully qualified dns Name.",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
},
"httpsOnly": {
"description": "Indicate if only https is allowed.",
- "type": "boolean"
+ "type": "boolean",
+ "default": false
},
"createdTime": {
"format": "date-time",
@@ -3435,7 +3460,8 @@
},
"enableEndToEndTLS": {
"description": "Indicate if end to end TLS is enabled.",
- "type": "boolean"
+ "type": "boolean",
+ "default": false
}
}
},
@@ -3452,7 +3478,8 @@
},
"mountPath": {
"description": "Mount path of the temporary disk",
- "type": "string"
+ "type": "string",
+ "default": "/tmp"
}
}
},
@@ -4018,6 +4045,7 @@
},
"runtimeVersion": {
"description": "Runtime version",
+ "default": "Java_8",
"enum": [
"Java_8",
"Java_11",
@@ -4310,6 +4338,10 @@
"displayName": {
"description": "Localized friendly display name of the dimension",
"type": "string"
+ },
+ "toBeExportedForShoebox": {
+ "description": "Whether this dimension should be included for the Shoebox export scenario",
+ "type": "boolean"
}
}
},
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json
index d873f13edda8..d0d132d16f10 100644
--- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json
@@ -3419,8 +3419,7 @@
},
"temporaryDisk": {
"$ref": "#/definitions/TemporaryDisk",
- "description": "Temporary disk settings",
- "default": "/tmp"
+ "description": "Temporary disk settings"
},
"persistentDisk": {
"$ref": "#/definitions/PersistentDisk",
@@ -3441,7 +3440,8 @@
},
"mountPath": {
"description": "Mount path of the temporary disk",
- "type": "string"
+ "type": "string",
+ "default": "/tmp"
}
}
},
@@ -4229,6 +4229,10 @@
"displayName": {
"description": "Localized friendly display name of the dimension",
"type": "string"
+ },
+ "toBeExportedForShoebox": {
+ "description": "Whether this dimension should be included for the Shoebox export scenario",
+ "type": "boolean"
}
}
},
diff --git a/specification/appplatform/resource-manager/readme.go.md b/specification/appplatform/resource-manager/readme.go.md
index d67828bed9ae..463b0fc15645 100644
--- a/specification/appplatform/resource-manager/readme.go.md
+++ b/specification/appplatform/resource-manager/readme.go.md
@@ -13,11 +13,21 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-preview-2021-06
- tag: package-preview-2020-11
- tag: package-2020-07
- tag: package-2019-05-01-preview
```
+### Tag: package-preview-2021-06 and go
+
+These settings apply only when `--tag=package-preview-2021-06 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-preview-2021-06' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-06-01-preview/$(namespace)
+```
+
### Tag: package-preview-2020-11 and go
These settings apply only when `--tag=package-preview-2020-11 --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 6ef8eb3c1a57..a8db157ff0c9 100644
--- a/specification/appplatform/resource-manager/readme.java.md
+++ b/specification/appplatform/resource-manager/readme.java.md
@@ -16,11 +16,25 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-appplatform
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-preview-2021-06
- tag: package-preview-2020-11
- tag: package-2020-07
- tag: package-2019-05-01-preview
```
+### Tag: package-preview-2021-06 and java
+
+These settings apply only when `--tag=package-preview-2021-06 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-preview-2021-06' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.appplatform.v2021_06_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/appplatform/mgmt-v2021_06_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-preview-2020-11 and java
These settings apply only when `--tag=package-preview-2020-11 --java` is specified on the command line.
diff --git a/specification/appplatform/resource-manager/readme.md b/specification/appplatform/resource-manager/readme.md
index 11dd36545e4d..c169a4fccdb7 100644
--- a/specification/appplatform/resource-manager/readme.md
+++ b/specification/appplatform/resource-manager/readme.md
@@ -97,9 +97,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-powershell
- - repo: azure-sdk-for-python
- after_scripts:
- - python ./scripts/multiapi_init_gen.py azure-mgmt-appplatform
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-net
diff --git a/specification/appplatform/resource-manager/readme.python.md b/specification/appplatform/resource-manager/readme.python.md
index 0a0051851a78..748f15d43ccc 100644
--- a/specification/appplatform/resource-manager/readme.python.md
+++ b/specification/appplatform/resource-manager/readme.python.md
@@ -4,21 +4,12 @@ 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
- package-name: azure-mgmt-appplatform
- clear-output-folder: true
- no-namespace-folders: true
-```
``` yaml $(python) && $(track2)
python-mode: create
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
package-name: azure-mgmt-appplatform
+package-version: 1.0.0b1
clear-output-folder: true
no-namespace-folders: true
```
@@ -27,16 +18,11 @@ no-namespace-folders: true
Generate all API versions currently shipped for this package
-```yaml $(python) && $(multiapi) && !$(track2)
-batch:
- - tag: package-preview-2020-11
- - tag: package-2020-07
- - tag: package-2019-05-01-preview
-```
```yaml $(python) && $(multiapi) && $(track2)
clear-output-folder: true
batch:
+ - tag: package-preview-2021-06
- tag: package-preview-2020-11
- tag: package-2020-07
- tag: package-2019-05-01-preview
@@ -49,16 +35,21 @@ clear-output-folder: false
perform-load: false
```
+### Tag: package-preview-2021-06 and python
+
+These settings apply only when `--tag=package-preview-2021-06 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-preview-2021-06' && $(python) && $(track2)
+namespace: azure.mgmt.appplatform.v2021_06_01_preview
+output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2021_06_01_preview
+```
+
### Tag: package-preview-2020-11 and python
These settings apply only when `--tag=package-preview-2020-11 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-preview-2020-11' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.appplatform.v2020_11_01_preview
- output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2020_11_01_preview
-```
``` yaml $(tag) == 'package-preview-2020-11' && $(python) && $(track2)
namespace: azure.mgmt.appplatform.v2020_11_01_preview
output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2020_11_01_preview
@@ -69,11 +60,6 @@ output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mg
These settings apply only when `--tag=package-2020-07 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2020-07' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.appplatform.v2020_07_01
- output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2020_07_01
-```
``` yaml $(tag) == 'package-2020-07' && $(python) && $(track2)
namespace: azure.mgmt.appplatform.v2020_07_01
output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2020_07_01
@@ -84,11 +70,6 @@ output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mg
These settings apply only when `--tag=package-2019-05-01-preview --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2019-05-01-preview' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.appplatform.v2019_05_01_preview
- output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2019_05_01_preview
-```
``` yaml $(tag) == 'package-2019-05-01-preview' && $(python) && $(track2)
namespace: 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 b4130d932c68..379a5ac27cb1 100644
--- a/specification/appplatform/resource-manager/readme.ruby.md
+++ b/specification/appplatform/resource-manager/readme.ruby.md
@@ -12,11 +12,22 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-preview-2021-06
- tag: package-preview-2020-11
- tag: package-2020-07
- tag: package-2019-05-01-preview
```
+### Tag: package-preview-2021-06 and ruby
+
+These settings apply only when `--tag=package-preview-2021-06 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-preview-2021-06' && $(ruby)
+namespace: "Azure::AppPlatform::Mgmt::V2021_06_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_appplatform/lib
+```
+
### Tag: package-preview-2020-11 and ruby
These settings apply only when `--tag=package-preview-2020-11 --ruby` is specified on the command line.
@@ -45,4 +56,4 @@ Please also specify `--ruby-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python) && !$(track2)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.attestation
- package-name: azure-mgmt-attestation
- package-version: 0.1.0
- clear-output-folder: true
-```
``` yaml $(python) && $(track2)
-python-mode: create
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
namespace: azure.mgmt.attestation
@@ -26,16 +14,7 @@ clear-output-folder: true
modelerfour:
lenient-model-deduplication: true
```
-``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/attestation/azure-mgmt-attestation/azure/mgmt/attestation
-```
-``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/attestation/azure-mgmt-attestation
-```
+
``` yaml $(python) && $(python-mode) == 'update' && $(track2)
no-namespace-folders: true
output-folder: $(python-sdks-folder)/attestation/azure-mgmt-attestation/azure/mgmt/attestation
@@ -44,3 +23,8 @@ output-folder: $(python-sdks-folder)/attestation/azure-mgmt-attestation/azure/mg
basic-setup-py: true
output-folder: $(python-sdks-folder)/attestation/azure-mgmt-attestation
```
+
+``` yaml $(python) && $(track2)
+modelerfour:
+ lenient-model-deduplication: true
+```
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/authorization-AccessReviewCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/authorization-AccessReviewCalls.json
new file mode 100644
index 000000000000..597756ea0d43
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/authorization-AccessReviewCalls.json
@@ -0,0 +1,2161 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-07-01-preview",
+ "title": "AuthorizationManagementClient",
+ "description": "Access reviews service provides the workflow for running access reviews on different kind of resources."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "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.Authorization/operations": {
+ "get": {
+ "operationId": "Operations_List",
+ "x-ms-examples": {},
+ "description": "Lists the operations available from this provider.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions": {
+ "get": {
+ "tags": [
+ "GetAccessReviewScheduleDefinitions"
+ ],
+ "operationId": "AccessReviewScheduleDefinitions_List",
+ "x-ms-examples": {
+ "GetAccessReviews": {
+ "$ref": "./examples/GetAccessReviewScheduleDefinitions.json"
+ }
+ },
+ "description": "Get access review schedule definitions",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessReviewsFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/AccessReviewScheduleDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}": {
+ "get": {
+ "tags": [
+ "GetAccessReviewScheduleDefinition"
+ ],
+ "operationId": "AccessReviewScheduleDefinitions_GetById",
+ "x-ms-examples": {
+ "GetAccessReview": {
+ "$ref": "./examples/GetAccessReviewScheduleDefinition.json"
+ }
+ },
+ "description": "Get single access review definition",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/AccessReviewScheduleDefinition"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DeleteAccessReviewScheduleDefinition"
+ ],
+ "operationId": "AccessReviewScheduleDefinitions_DeleteById",
+ "x-ms-examples": {
+ "DeleteAccessReview": {
+ "$ref": "./examples/DeleteAccessReviewScheduleDefinition.json"
+ }
+ },
+ "description": "Delete access review schedule definition",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request is well formed but the resource does not exist"
+ },
+ "200": {
+ "description": "Resource deleted successfully"
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PutAccessReviewScheduleDefinition"
+ ],
+ "operationId": "AccessReviewScheduleDefinitions_CreateOrUpdateById",
+ "x-ms-examples": {
+ "PutAccessReview": {
+ "$ref": "./examples/PutAccessReviewScheduleDefinition.json"
+ }
+ },
+ "description": "Create or Update access review schedule definition.",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "name": "properties",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AccessReviewScheduleDefinitionProperties"
+ },
+ "description": "Access review schedule definition properties."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful update",
+ "schema": {
+ "$ref": "#/definitions/AccessReviewScheduleDefinition"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/stop": {
+ "post": {
+ "tags": [
+ "AccessReviewScheduleDefinitionStop"
+ ],
+ "operationId": "AccessReviewScheduleDefinitions_Stop",
+ "x-ms-examples": {
+ "GetAccessReview": {
+ "$ref": "./examples/StopAccessReviewScheduleDefinition.json"
+ }
+ },
+ "description": "Stop access review definition",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Describe the result of a successful operation."
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances": {
+ "get": {
+ "tags": [
+ "GetAccessReviewInstances"
+ ],
+ "operationId": "AccessReviewInstances_List",
+ "x-ms-examples": {
+ "GetAccessReviews": {
+ "$ref": "./examples/GetAccessReviewInstances.json"
+ }
+ },
+ "description": "Get access review instances",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessReviewsFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/AccessReviewInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}": {
+ "get": {
+ "tags": [
+ "GetAccessReviewInstance"
+ ],
+ "operationId": "AccessReviewInstances_GetById",
+ "x-ms-examples": {
+ "GetAccessReviews": {
+ "$ref": "./examples/GetAccessReviewInstance.json"
+ }
+ },
+ "description": "Get access review instances",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review instance."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/AccessReviewInstance"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PutAccessReviewInstance"
+ ],
+ "operationId": "AccessReviewInstances_Create",
+ "x-ms-examples": {
+ "GetAccessReviews": {
+ "$ref": "./examples/PutAccessReviewInstance.json"
+ }
+ },
+ "description": "Update access review instance.",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review instance."
+ },
+ {
+ "name": "properties",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AccessReviewInstanceProperties"
+ },
+ "description": "Access review instance properties."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful update",
+ "schema": {
+ "$ref": "#/definitions/AccessReviewInstance"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/stop": {
+ "post": {
+ "tags": [
+ "AccessReviewInstanceStop"
+ ],
+ "operationId": "AccessReviewInstance_Stop",
+ "x-ms-examples": {
+ "GetAccessReview": {
+ "$ref": "./examples/StopAccessReviewInstance.json"
+ }
+ },
+ "description": "An action to stop an access review instance.",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review instance."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Describe the result of a successful operation."
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/resetDecisions": {
+ "post": {
+ "tags": [
+ "AccessReviewInstanceResetDecisions"
+ ],
+ "operationId": "AccessReviewInstance_ResetDecisions",
+ "x-ms-examples": {
+ "GetAccessReview": {
+ "$ref": "./examples/AccessReviewInstanceResetDecisions.json"
+ }
+ },
+ "description": "An action to reset all decisions for an access review instance.",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review instance."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Describe the result of a successful operation."
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/applyDecisions": {
+ "post": {
+ "tags": [
+ "AccessReviewInstanceApplyDecisions"
+ ],
+ "operationId": "AccessReviewInstance_ApplyDecisions",
+ "x-ms-examples": {
+ "GetAccessReview": {
+ "$ref": "./examples/AccessReviewInstanceApplyDecisions.json"
+ }
+ },
+ "description": "An action to apply all decisions for an access review instance.",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review instance."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Describe the result of a successful operation."
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/sendReminders": {
+ "post": {
+ "tags": [
+ "AccessReviewInstanceSendReminders"
+ ],
+ "operationId": "AccessReviewInstance_SendReminders",
+ "x-ms-examples": {
+ "GetAccessReview": {
+ "$ref": "./examples/AccessReviewInstanceSendReminders.json"
+ }
+ },
+ "description": "An action to send reminders for an access review instance.",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review instance."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Describe the result of a successful operation."
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/decisions": {
+ "get": {
+ "tags": [
+ "GetAccessReviewInstanceDecisions"
+ ],
+ "operationId": "AccessReviewInstanceDecisions_List",
+ "x-ms-examples": {
+ "GetAccessReviews": {
+ "$ref": "./examples/GetAccessReviewInstanceDecisions.json"
+ }
+ },
+ "description": "Get access review instance decisions",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review instance."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessReviewsFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/AccessReviewDecisionListResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/contactedReviewers": {
+ "get": {
+ "tags": [
+ "GetAccessReviewInstanceContactedReviewers"
+ ],
+ "operationId": "AccessReviewInstanceContactedReviewers_List",
+ "x-ms-examples": {
+ "GetAccessReviews": {
+ "$ref": "./examples/GetAccessReviewInstanceContactedReviewers.json"
+ }
+ },
+ "description": "Get access review instance contacted reviewers",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review instance."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/AccessReviewContactedReviewerListResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleSettings/default": {
+ "get": {
+ "tags": [
+ "GetAccessReviewDefaultSettings"
+ ],
+ "operationId": "AccessReviewDefaultSettings_Get",
+ "x-ms-examples": {
+ "GetAccessReviewDefaultSettings": {
+ "$ref": "./examples/GetAccessReviewDefaultSettings.json"
+ }
+ },
+ "description": "Get access review default settings for the subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/AccessReviewDefaultSettings"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PutAccessReviewDefaultSettings"
+ ],
+ "operationId": "AccessReviewDefaultSettings_Put",
+ "x-ms-examples": {
+ "GetAccessReviewDefaultSettings": {
+ "$ref": "./examples/PutAccessReviewDefaultSettings.json"
+ }
+ },
+ "description": "Get access review default settings for the subscription",
+ "parameters": [
+ {
+ "name": "properties",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AccessReviewScheduleSettings"
+ },
+ "description": "Access review schedule settings."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/AccessReviewDefaultSettings"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions": {
+ "get": {
+ "tags": [
+ "GetAccessReviewScheduleDefinitionsAssignedForMyApproval"
+ ],
+ "operationId": "AccessReviewScheduleDefinitionsAssignedForMyApproval_List",
+ "x-ms-examples": {
+ "GetAccessReviews": {
+ "$ref": "./examples/GetAccessReviewScheduleDefinitionsAssignedForMyApproval.json"
+ }
+ },
+ "description": "Get access review instances assigned for my approval.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessReviewsFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/AccessReviewScheduleDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances": {
+ "get": {
+ "tags": [
+ "GetAccessReviewInstancesAssignedForMyApproval"
+ ],
+ "operationId": "AccessReviewInstancesAssignedForMyApproval_List",
+ "x-ms-examples": {
+ "GetAccessReviews": {
+ "$ref": "./examples/GetAccessReviewInstancesAssignedForMyApproval.json"
+ }
+ },
+ "description": "Get access review instances assigned for my approval.",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessReviewsFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/AccessReviewInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}": {
+ "get": {
+ "tags": [
+ "GetAccessReviewInstance"
+ ],
+ "operationId": "AccessReviewInstancesAssignedForMyApproval_GetById",
+ "x-ms-examples": {
+ "GetAccessReviews": {
+ "$ref": "./examples/GetAccessReviewInstanceAssignedForMyApproval.json"
+ }
+ },
+ "description": "Get single access review instance assigned for my approval.",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review instance."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/AccessReviewInstance"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/acceptRecommendations": {
+ "post": {
+ "tags": [
+ "AccessReviewInstanceAcceptRecommmendations"
+ ],
+ "operationId": "AccessReviewInstance_AcceptRecommendations",
+ "x-ms-examples": {
+ "GetAccessReview": {
+ "$ref": "./examples/AccessReviewInstanceAcceptRecommendations.json"
+ }
+ },
+ "description": "An action to accept recommendations for decision in an access review instance.",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review instance."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Describe the result of a successful operation."
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/decisions": {
+ "get": {
+ "tags": [
+ "GetAccessReviewMyInstanceDecisions"
+ ],
+ "operationId": "AccessReviewInstanceMyDecisions_List",
+ "x-ms-examples": {
+ "GetAccessReviews": {
+ "$ref": "./examples/GetAccessReviewInstanceMyDecisions.json"
+ }
+ },
+ "description": "Get my access review instance decisions.",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review instance."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessReviewsFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/AccessReviewDecisionListResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/contactedReviewers": {
+ "get": {
+ "tags": [
+ "TenantLevelGetAccessReviewInstanceContactedReviewers"
+ ],
+ "operationId": "TenantLevelAccessReviewInstanceContactedReviewers_List",
+ "x-ms-examples": {
+ "GetAccessReviews": {
+ "$ref": "./examples/TenantLevelGetAccessReviewInstanceContactedReviewers.json"
+ }
+ },
+ "description": "Get access review instance contacted reviewers",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review instance."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/AccessReviewContactedReviewerListResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/decisions/{decisionId}": {
+ "get": {
+ "tags": [
+ "GetAccessReviewMyInstanceDecision"
+ ],
+ "operationId": "AccessReviewInstanceMyDecisions_GetById",
+ "x-ms-examples": {
+ "GetAccessReviews": {
+ "$ref": "./examples/GetAccessReviewInstanceMyDecisionById.json"
+ }
+ },
+ "description": "Get my single access review instance decision.",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review instance."
+ },
+ {
+ "name": "decisionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the decision record."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/AccessReviewDecision"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "PatchAccessReviewMyInstanceDecision"
+ ],
+ "operationId": "AccessReviewInstanceMyDecisions_Patch",
+ "x-ms-examples": {
+ "GetAccessReviews": {
+ "$ref": "./examples/PatchAccessReviewInstanceMyDecisionById.json"
+ }
+ },
+ "description": "Record a decision.",
+ "parameters": [
+ {
+ "name": "scheduleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review schedule definition."
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the access review instance."
+ },
+ {
+ "name": "decisionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id of the decision record."
+ },
+ {
+ "name": "properties",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AccessReviewDecisionProperties"
+ },
+ "description": "Access review decision properties to patch."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/AccessReviewDecision"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorDefinition"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AccessReviewScheduleDefinition": {
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The access review schedule definition id."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The access review schedule definition unique id."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource type."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessReviewScheduleDefinitionProperties",
+ "description": "Access Review properties."
+ }
+ },
+ "description": "Access Review Schedule Definition."
+ },
+ "AccessReviewScheduleDefinitionProperties": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The display name for the schedule definition."
+ },
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "This read-only field specifies the status of an accessReview.",
+ "enum": [
+ "NotStarted",
+ "InProgress",
+ "Completed",
+ "Applied",
+ "Initializing",
+ "Applying",
+ "Completing",
+ "Scheduled",
+ "AutoReviewing",
+ "AutoReviewed",
+ "Starting"
+ ],
+ "x-ms-enum": {
+ "name": "AccessReviewScheduleDefinitionStatus",
+ "modelAsString": true
+ }
+ },
+ "descriptionForAdmins": {
+ "type": "string",
+ "description": "The description provided by the access review creator and visible to admins."
+ },
+ "descriptionForReviewers": {
+ "type": "string",
+ "description": "The description provided by the access review creator to be shown to reviewers."
+ },
+ "createdBy": {
+ "readOnly": true,
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessReviewActorIdentity",
+ "description": "The user or other identity who created this review."
+ },
+ "settings": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessReviewScheduleSettings",
+ "description": "Access Review Settings."
+ },
+ "scope": {
+ "readOnly": true,
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessReviewScope",
+ "description": "This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId."
+ },
+ "reviewers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccessReviewReviewer"
+ },
+ "description": "This is the collection of reviewers."
+ },
+ "backupReviewers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccessReviewReviewer"
+ },
+ "description": "This is the collection of backup reviewers."
+ },
+ "reviewersType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "This field specifies the type of reviewers for a review. Usually for a review, reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be chosen dynamically. For example managers review or self review.",
+ "enum": [
+ "Assigned",
+ "Self",
+ "Managers"
+ ],
+ "x-ms-enum": {
+ "name": "AccessReviewScheduleDefinitionReviewersType",
+ "modelAsString": true
+ }
+ },
+ "instances": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccessReviewInstance"
+ },
+ "description": "This is the collection of instances returned when one does an expand on it."
+ }
+ },
+ "description": "Access Review."
+ },
+ "AccessReviewInstance": {
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The access review instance id."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The access review instance name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource type."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessReviewInstanceProperties",
+ "description": "Access Review properties."
+ }
+ },
+ "description": "Access Review Instance."
+ },
+ "AccessReviewInstanceProperties": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "This read-only field specifies the status of an access review instance.",
+ "enum": [
+ "NotStarted",
+ "InProgress",
+ "Completed",
+ "Applied",
+ "Initializing",
+ "Applying",
+ "Completing",
+ "Scheduled",
+ "AutoReviewing",
+ "AutoReviewed",
+ "Starting"
+ ],
+ "x-ms-enum": {
+ "name": "AccessReviewInstanceStatus",
+ "modelAsString": true
+ }
+ },
+ "startDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The DateTime when the review instance is scheduled to be start.",
+ "x-nullable": false
+ },
+ "endDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The DateTime when the review instance is scheduled to end.",
+ "x-nullable": false
+ },
+ "reviewers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccessReviewReviewer"
+ },
+ "description": "This is the collection of reviewers."
+ },
+ "backupReviewers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccessReviewReviewer"
+ },
+ "description": "This is the collection of backup reviewers."
+ },
+ "reviewersType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "This field specifies the type of reviewers for a review. Usually for a review, reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be chosen dynamically. For example managers review or self review.",
+ "enum": [
+ "Assigned",
+ "Self",
+ "Managers"
+ ],
+ "x-ms-enum": {
+ "name": "AccessReviewInstanceReviewersType",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Access Review Instance properties."
+ },
+ "AccessReviewScheduleSettings": {
+ "type": "object",
+ "properties": {
+ "mailNotificationsEnabled": {
+ "type": "boolean",
+ "description": "Flag to indicate whether sending mails to reviewers and the review creator is enabled."
+ },
+ "reminderNotificationsEnabled": {
+ "type": "boolean",
+ "description": "Flag to indicate whether sending reminder emails to reviewers are enabled."
+ },
+ "defaultDecisionEnabled": {
+ "type": "boolean",
+ "description": "Flag to indicate whether reviewers are required to provide a justification when reviewing access."
+ },
+ "justificationRequiredOnApproval": {
+ "type": "boolean",
+ "description": "Flag to indicate whether the reviewer is required to pass justification when recording a decision."
+ },
+ "defaultDecision": {
+ "type": "string",
+ "description": "This specifies the behavior for the autoReview feature when an access review completes.",
+ "enum": [
+ "Approve",
+ "Deny",
+ "Recommendation"
+ ],
+ "x-ms-enum": {
+ "name": "DefaultDecisionType",
+ "modelAsString": true
+ }
+ },
+ "autoApplyDecisionsEnabled": {
+ "type": "boolean",
+ "description": "Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review."
+ },
+ "recommendationsEnabled": {
+ "type": "boolean",
+ "description": "Flag to indicate whether showing recommendations to reviewers is enabled."
+ },
+ "recommendationLookBackDuration": {
+ "type": "string",
+ "format": "duration",
+ "description": "Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))"
+ },
+ "instanceDurationInDays": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The duration in days for an instance."
+ },
+ "recurrence": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessReviewRecurrenceSettings",
+ "description": "Access Review Settings."
+ }
+ },
+ "description": "Settings of an Access Review."
+ },
+ "AccessReviewDefaultSettings": {
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The access review default settings id. This is only going to be default"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The access review default settings name. This is always going to be Access Review Default Settings"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource type."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessReviewScheduleSettings",
+ "description": "Access Review properties."
+ }
+ },
+ "description": "Access Review Default Settings."
+ },
+ "AccessReviewRecurrenceSettings": {
+ "type": "object",
+ "properties": {
+ "pattern": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessReviewRecurrencePattern",
+ "description": "Access Review schedule definition recurrence pattern."
+ },
+ "range": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessReviewRecurrenceRange",
+ "description": "Access Review schedule definition recurrence range."
+ }
+ },
+ "description": "Recurrence Settings of an Access Review Schedule Definition."
+ },
+ "AccessReviewRecurrencePattern": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The recurrence type : weekly, monthly, etc.",
+ "enum": [
+ "weekly",
+ "absoluteMonthly"
+ ],
+ "x-ms-enum": {
+ "name": "AccessReviewRecurrencePatternType",
+ "modelAsString": true
+ }
+ },
+ "interval": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly."
+ }
+ },
+ "description": "Recurrence Pattern of an Access Review Schedule Definition."
+ },
+ "AccessReviewRecurrenceRange": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The recurrence range type. The possible values are: endDate, noEnd, numbered.",
+ "enum": [
+ "endDate",
+ "noEnd",
+ "numbered"
+ ],
+ "x-ms-enum": {
+ "name": "AccessReviewRecurrenceRangeType",
+ "modelAsString": true
+ }
+ },
+ "numberOfOccurrences": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of times to repeat the access review. Required and must be positive if type is numbered."
+ },
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create.",
+ "x-nullable": true
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The DateTime when the review is scheduled to end. Required if type is endDate",
+ "x-nullable": true
+ }
+ },
+ "description": "Recurrence Range of an Access Review Schedule Definition."
+ },
+ "AccessReviewScope": {
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ResourceId in which this review is getting created"
+ },
+ "roleDefinitionId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "This is used to indicate the role being reviewed"
+ },
+ "principalType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The identity type user/servicePrincipal to review",
+ "enum": [
+ "user",
+ "guestUser",
+ "servicePrincipal",
+ "user,group",
+ "redeemedGuestUser"
+ ],
+ "x-ms-enum": {
+ "name": "AccessReviewScopePrincipalType",
+ "modelAsString": true
+ }
+ },
+ "assignmentState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The role assignment state eligible/active to review",
+ "enum": [
+ "eligible",
+ "active"
+ ],
+ "x-ms-enum": {
+ "name": "AccessReviewScopeAssignmentState",
+ "modelAsString": true
+ }
+ },
+ "inactiveDuration": {
+ "type": "string",
+ "format": "duration",
+ "description": "Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))"
+ },
+ "expandNestedMemberships": {
+ "type": "boolean",
+ "description": "Flag to indicate whether to expand nested memberships or not."
+ }
+ },
+ "description": "Descriptor for what needs to be reviewed"
+ },
+ "AccessReviewReviewer": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "The id of the reviewer(user/servicePrincipal)"
+ },
+ "principalType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The identity type : user/servicePrincipal",
+ "enum": [
+ "user",
+ "servicePrincipal"
+ ],
+ "x-ms-enum": {
+ "name": "AccessReviewReviewerType",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Descriptor for what needs to be reviewed"
+ },
+ "AccessReviewDecision": {
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The access review decision id."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The access review decision name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource type."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessReviewDecisionProperties",
+ "description": "Access Review Decision properties."
+ }
+ },
+ "description": "Access Review."
+ },
+ "AccessReviewDecisionProperties": {
+ "type": "object",
+ "properties": {
+ "principal": {
+ "readOnly": true,
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessReviewDecisionIdentity",
+ "description": "Principal associated with the decision record. Can be AccessReviewDecisionUserIdentity or AccessReviewDecisionServicePrincipalIdentity",
+ "x-nullable": true
+ },
+ "resource": {
+ "readOnly": true,
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessReviewDecisionResource",
+ "description": "Resource associated with this decision record.",
+ "x-nullable": true
+ },
+ "recommendation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The feature- generated recommendation shown to the reviewer.",
+ "enum": [
+ "Approve",
+ "Deny",
+ "NoInfoAvailable"
+ ],
+ "x-ms-enum": {
+ "name": "AccessRecommendationType",
+ "modelAsString": true
+ }
+ },
+ "decision": {
+ "type": "string",
+ "description": "The decision on the approval step. This value is initially set to NotReviewed. Approvers can take action of Approve/Deny",
+ "enum": [
+ "Approve",
+ "Deny",
+ "NotReviewed",
+ "DontKnow",
+ "NotNotified"
+ ],
+ "x-ms-enum": {
+ "name": "AccessReviewResult",
+ "modelAsString": true
+ }
+ },
+ "justification": {
+ "type": "string",
+ "description": "Justification provided by approvers for their action"
+ },
+ "reviewedDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "Date Time when a decision was taken.",
+ "x-nullable": true
+ },
+ "reviewedBy": {
+ "readOnly": true,
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessReviewActorIdentity",
+ "description": "Details of the approver.",
+ "x-nullable": true
+ },
+ "applyResult": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The outcome of applying the decision.",
+ "enum": [
+ "New",
+ "Applying",
+ "AppliedSuccessfully",
+ "AppliedWithUnknownFailure",
+ "AppliedSuccessfullyButObjectNotFound",
+ "ApplyNotSupported"
+ ],
+ "x-ms-enum": {
+ "name": "AccessReviewApplyResult",
+ "modelAsString": true
+ }
+ },
+ "appliedDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The date and time when the review decision was applied.",
+ "x-nullable": true
+ },
+ "appliedBy": {
+ "readOnly": true,
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessReviewActorIdentity",
+ "description": "Details of the approver.",
+ "x-nullable": true
+ }
+ },
+ "description": "Approval Step."
+ },
+ "AccessReviewDecisionResource": {
+ "type": "object",
+ "discriminator": "type",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The type of resource",
+ "enum": [
+ "azureRole"
+ ],
+ "x-ms-enum": {
+ "name": "DecisionResourceType",
+ "modelAsString": true
+ }
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The id of resource associated with a decision record."
+ },
+ "displayName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of resource associated with a decision record."
+ }
+ },
+ "description": "Target of the decision."
+ },
+ "AccessReviewDecisionIdentity": {
+ "type": "object",
+ "discriminator": "type",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The type of decision target : User/ServicePrincipal",
+ "enum": [
+ "user",
+ "servicePrincipal"
+ ],
+ "x-ms-enum": {
+ "name": "DecisionTargetType",
+ "modelAsString": true
+ }
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The id of principal whose access was reviewed."
+ },
+ "displayName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the user whose access was reviewed."
+ }
+ },
+ "description": "Target of the decision."
+ },
+ "AccessReviewDecisionUserIdentity": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AccessReviewDecisionIdentity"
+ },
+ {
+ "type": "object",
+ "description": "AccessReviewDecisionUserIdentity"
+ }
+ ],
+ "x-ms-discriminator-value": "user",
+ "properties": {
+ "userPrincipalName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The user principal name of the user whose access was reviewed."
+ }
+ },
+ "description": "User Decision Target"
+ },
+ "AccessReviewDecisionServicePrincipalIdentity": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AccessReviewDecisionIdentity"
+ },
+ {
+ "type": "object",
+ "description": "AccessReviewDecisionServicePrincipalIdentity"
+ }
+ ],
+ "x-ms-discriminator-value": "servicePrincipal",
+ "properties": {
+ "appId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The appId for the service principal entity being reviewed"
+ }
+ },
+ "description": "Service Principal Decision Target"
+ },
+ "AccessReviewActorIdentity": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The identity id"
+ },
+ "principalType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The identity type : user/servicePrincipal",
+ "enum": [
+ "user",
+ "servicePrincipal"
+ ],
+ "x-ms-enum": {
+ "name": "AccessReviewActorIdentityType",
+ "modelAsString": true
+ }
+ },
+ "principalName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The identity display name"
+ },
+ "userPrincipalName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The user principal name(if valid)"
+ }
+ },
+ "description": "Details of the actor identity"
+ },
+ "AccessReviewContactedReviewer": {
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The access review reviewer id."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The access review reviewer id."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource type."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessReviewContactedReviewerProperties",
+ "description": "Access Review Contacted Reviewer properties."
+ }
+ },
+ "description": "Access Review Contacted Reviewer."
+ },
+ "AccessReviewContactedReviewerProperties": {
+ "type": "object",
+ "properties": {
+ "userDisplayName": {
+ "type": "string",
+ "description": "The display name of the reviewer",
+ "readOnly": true
+ },
+ "userPrincipalName": {
+ "type": "string",
+ "description": "The user principal name of the reviewer",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "Date Time when the reviewer was contacted.",
+ "x-nullable": true
+ }
+ },
+ "description": "Properties of access review contacted reviewer."
+ },
+ "AccessReviewScheduleDefinitionListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccessReviewScheduleDefinition"
+ },
+ "description": "Access Review Schedule Definition list."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "List of Access Review Schedule Definitions."
+ },
+ "AccessReviewInstanceListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccessReviewInstance"
+ },
+ "description": "Access Review Instance list."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "List of Access Review Instances."
+ },
+ "AccessReviewDecisionListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccessReviewDecision"
+ },
+ "description": "Access Review Decision list."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "List of access review decisions."
+ },
+ "AccessReviewContactedReviewerListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccessReviewContactedReviewer"
+ },
+ "description": "Access Review Contacted Reviewer."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "List of access review contacted reviewers."
+ },
+ "ErrorDefinition": {
+ "type": "object",
+ "title": "Error",
+ "description": "Error description and code explaining why an operation failed.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDefinitionProperties",
+ "description": "Error of the list gateway status."
+ }
+ }
+ },
+ "ErrorDefinitionProperties": {
+ "type": "object",
+ "title": "Error",
+ "description": "Error description and code explaining why an operation failed.",
+ "properties": {
+ "message": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Description of the error."
+ },
+ "code": {
+ "type": "string",
+ "description": "Error code of list gateway."
+ }
+ }
+ },
+ "Operation": {
+ "description": "The definition of a Microsoft.Authorization operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Display of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "The display information for a Microsoft.Authorization operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The resource provider name: Microsoft.Authorization.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The resource on which the operation is performed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "The operation that users can perform.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The description for the operation.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "The result of a request to list Microsoft.Authorization operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "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 be used with the HTTP request."
+ },
+ "AccessReviewsFilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. Other than standard filters, one custom filter option is supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are assigned to the calling user to review are returned",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/AccessReviewInstanceAcceptRecommendations.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/AccessReviewInstanceAcceptRecommendations.json
new file mode 100644
index 000000000000..ea31f2814614
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/AccessReviewInstanceAcceptRecommendations.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "scheduleDefinitionId": "488a6d0e-0a63-4946-86e3-1f5bbc934661",
+ "id": "d9b9e056-7004-470b-bf21-1635e98487da"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/AccessReviewInstanceApplyDecisions.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/AccessReviewInstanceApplyDecisions.json
new file mode 100644
index 000000000000..35252e41c385
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/AccessReviewInstanceApplyDecisions.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "scheduleDefinitionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "id": "d9b9e056-7004-470b-bf21-1635e98487da"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/AccessReviewInstanceResetDecisions.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/AccessReviewInstanceResetDecisions.json
new file mode 100644
index 000000000000..35252e41c385
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/AccessReviewInstanceResetDecisions.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "scheduleDefinitionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "id": "d9b9e056-7004-470b-bf21-1635e98487da"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/AccessReviewInstanceSendReminders.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/AccessReviewInstanceSendReminders.json
new file mode 100644
index 000000000000..35252e41c385
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/AccessReviewInstanceSendReminders.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "scheduleDefinitionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "id": "d9b9e056-7004-470b-bf21-1635e98487da"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/DeleteAccessReviewScheduleDefinition.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/DeleteAccessReviewScheduleDefinition.json
new file mode 100644
index 000000000000..16685ee52a98
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/DeleteAccessReviewScheduleDefinition.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "scheduleDefinitionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewDefaultSettings.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewDefaultSettings.json
new file mode 100644
index 000000000000..7ead2b63ace4
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewDefaultSettings.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/providers/Microsoft.Authorization/accessReviewSettings/default",
+ "type": "Microsoft.Authorization/accessReviewSettings",
+ "name": "default",
+ "properties": {
+ "mailNotificationsEnabled": true,
+ "reminderNotificationsEnabled": true,
+ "justificationRequiredOnApproval": true,
+ "recommendationsEnabled": true,
+ "instanceDurationInDays": 30,
+ "recurrence": {
+ "range": {
+ "type": "endDate",
+ "numberOfOccurrences": 1,
+ "startDate": "2018-08-03T21:02:30.667Z",
+ "endDate": "2018-08-03T21:17:30.513Z"
+ }
+ },
+ "defaultDecisionEnabled": true,
+ "defaultDecision": "Approve",
+ "autoApplyDecisionsEnabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstance.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstance.json
new file mode 100644
index 000000000000..0b0c3880ceba
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstance.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "scheduleDefinitionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "id": "4135f961-be78-4005-8101-c72a5af307a2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/instances/4135f961-be78-4005-8101-c72a5af307a2",
+ "type": "Microsoft.Authorization/accessReviewScheduleDefinitions/instances",
+ "name": "4135f961-be78-4005-8101-c72a5af307a2",
+ "properties": {
+ "status": "Applied",
+ "startDateTime": "2018-08-03T21:02:30.667Z",
+ "endDateTime": "2018-08-03T21:17:30.513Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstanceAssignedForMyApproval.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstanceAssignedForMyApproval.json
new file mode 100644
index 000000000000..cbd3a2490bf7
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstanceAssignedForMyApproval.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "scheduleDefinitionId": "488a6d0e-0a63-4946-86e3-1f5bbc934661",
+ "id": "4135f961-be78-4005-8101-c72a5af307a2",
+ "$filter": "assignedToMeToReview()"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/488a6d0e-0a63-4946-86e3-1f5bbc934661/instances/4135f961-be78-4005-8101-c72a5af307a2",
+ "type": "Microsoft.Authorization/accessReviewScheduleDefinitions/instances",
+ "name": "4135f961-be78-4005-8101-c72a5af307a2",
+ "properties": {
+ "status": "Applied",
+ "startDateTime": "2018-08-03T21:02:30.667Z",
+ "endDateTime": "2018-08-03T21:17:30.513Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstanceContactedReviewers.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstanceContactedReviewers.json
new file mode 100644
index 000000000000..29dfc28b98af
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstanceContactedReviewers.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "scheduleDefinitionId": "265785a7-a81f-4201-8a18-bb0db95982b7",
+ "id": "f25ed880-9c31-4101-bc57-825d8df3b58c"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/instances/f8882fec-7d56-4e97-ad6d-5e3f4557971d/contactedReviewers/fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "type": "Microsoft.Authorization/accessReviewScheduleDefinitions/instances/contactedReviewers",
+ "name": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "properties": {
+ "userDisplayName": "Bob",
+ "userPrincipalName": "bob@contoso.com",
+ "createdDateTime": "2018-08-03T21:02:30.667Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstanceDecisions.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstanceDecisions.json
new file mode 100644
index 000000000000..17d978662714
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstanceDecisions.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "scheduleDefinitionId": "265785a7-a81f-4201-8a18-bb0db95982b7",
+ "id": "f25ed880-9c31-4101-bc57-825d8df3b58c"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/instances/f8882fec-7d56-4e97-ad6d-5e3f4557971d/decisions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "type": "Microsoft.Authorization/accessReviewScheduleDefinitions/instances/decisions",
+ "name": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "properties": {
+ "reviewedBy": {
+ "principalType": "user",
+ "principalId": "a6c7aecb-cbfd-4763-87ef-e91b4bd509d9",
+ "principalName": "Shubham Gupta",
+ "userPrincipalName": "shugup@microsoft.com"
+ },
+ "reviewedDateTime": "2018-08-03T21:02:30.667Z",
+ "decision": "Deny",
+ "justification": "This person has left this team",
+ "appliedBy": {
+ "principalType": "user",
+ "principalId": "36777fc8-4ec2-49ea-a56c-cec0bd47d83a",
+ "principalName": "Amit Ghosh",
+ "userPrincipalName": "amitgho@microsoft.com"
+ },
+ "appliedDateTime": "2018-10-03T21:02:30.667Z",
+ "applyResult": "Success",
+ "recommendation": "Deny",
+ "principal": {
+ "type": "user",
+ "id": "a6c7aecb-cbfd-4763-87ef-e91b4bd509d9",
+ "displayName": "Shubham Gupta",
+ "userPrincipalName": "shugup@microsoft.com"
+ },
+ "resource": {
+ "type": "azureRole",
+ "id": "a6c7aecb-cbfd-4763-87ef-e91b4bd509d9",
+ "displayName": "Owner"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstanceMyDecisionById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstanceMyDecisionById.json
new file mode 100644
index 000000000000..79d779cb192f
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstanceMyDecisionById.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "id": "4135f961-be78-4005-8101-c72a5af307a2",
+ "scheduleDefinitionId": "488a6d0e-0a63-4946-86e3-1f5bbc934661",
+ "decisionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/488a6d0e-0a63-4946-86e3-1f5bbc934661/instances/4135f961-be78-4005-8101-c72a5af307a2/decisions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "type": "Microsoft.Authorization/accessReviewScheduleDefinitions/instances/decisions",
+ "name": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "properties": {
+ "reviewedBy": {
+ "principalType": "user",
+ "principalId": "a6c7aecb-cbfd-4763-87ef-e91b4bd509d9",
+ "principalName": "Shubham Gupta",
+ "userPrincipalName": "shugup@microsoft.com"
+ },
+ "reviewedDateTime": "2018-08-03T21:02:30.667Z",
+ "decision": "Deny",
+ "justification": "This person has left this team",
+ "appliedBy": {
+ "principalType": "user",
+ "principalId": "36777fc8-4ec2-49ea-a56c-cec0bd47d83a",
+ "principalName": "Amit Ghosh",
+ "userPrincipalName": "amitgho@microsoft.com"
+ },
+ "appliedDateTime": "2018-10-03T21:02:30.667Z",
+ "applyResult": "Success",
+ "recommendation": "Deny",
+ "principal": {
+ "type": "user",
+ "id": "a6c7aecb-cbfd-4763-87ef-e91b4bd509d9",
+ "displayName": "Shubham Gupta",
+ "userPrincipalName": "shugup@microsoft.com"
+ },
+ "resource": {
+ "type": "azureRole",
+ "id": "a6c7aecb-cbfd-4763-87ef-e91b4bd509d9",
+ "displayName": "Owner"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstanceMyDecisions.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstanceMyDecisions.json
new file mode 100644
index 000000000000..34adad32b223
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstanceMyDecisions.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "scheduleDefinitionId": "488a6d0e-0a63-4946-86e3-1f5bbc934661",
+ "id": "4135f961-be78-4005-8101-c72a5af307a2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/488a6d0e-0a63-4946-86e3-1f5bbc934661/instances/4135f961-be78-4005-8101-c72a5af307a2/decisions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "type": "Microsoft.Authorization/accessReviewScheduleDefinitions/instances/decisions",
+ "name": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "properties": {
+ "reviewedBy": {
+ "principalType": "user",
+ "principalId": "a6c7aecb-cbfd-4763-87ef-e91b4bd509d9",
+ "principalName": "Shubham Gupta",
+ "userPrincipalName": "shugup@microsoft.com"
+ },
+ "reviewedDateTime": "2018-08-03T21:02:30.667Z",
+ "decision": "Deny",
+ "justification": "This person has left this team",
+ "appliedBy": {
+ "principalType": "user",
+ "principalId": "36777fc8-4ec2-49ea-a56c-cec0bd47d83a",
+ "principalName": "Amit Ghosh",
+ "userPrincipalName": "amitgho@microsoft.com"
+ },
+ "appliedDateTime": "2018-10-03T21:02:30.667Z",
+ "applyResult": "Success",
+ "recommendation": "Deny",
+ "principal": {
+ "type": "user",
+ "id": "a6c7aecb-cbfd-4763-87ef-e91b4bd509d9",
+ "displayName": "Shubham Gupta",
+ "userPrincipalName": "shugup@microsoft.com"
+ },
+ "resource": {
+ "type": "azureRole",
+ "id": "a6c7aecb-cbfd-4763-87ef-e91b4bd509d9",
+ "displayName": "Owner"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstances.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstances.json
new file mode 100644
index 000000000000..21f3fb55469f
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstances.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "scheduleDefinitionId": "265785a7-a81f-4201-8a18-bb0db95982b7"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/instances/4135f961-be78-4005-8101-c72a5af307a2",
+ "type": "Microsoft.Authorization/accessReviewScheduleDefinitions/instances",
+ "name": "4135f961-be78-4005-8101-c72a5af307a2",
+ "properties": {
+ "status": "Applied",
+ "startDateTime": "2018-08-03T21:02:30.667Z",
+ "endDateTime": "2018-08-03T21:17:30.513Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstancesAssignedForMyApproval.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstancesAssignedForMyApproval.json
new file mode 100644
index 000000000000..966ce5c115db
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewInstancesAssignedForMyApproval.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "scheduleDefinitionId": "488a6d0e-0a63-4946-86e3-1f5bbc934661",
+ "$filter": "assignedToMeToReview()"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/488a6d0e-0a63-4946-86e3-1f5bbc934661/instances/4135f961-be78-4005-8101-c72a5af307a2",
+ "type": "Microsoft.Authorization/accessReviewScheduleDefinitions/instances",
+ "name": "4135f961-be78-4005-8101-c72a5af307a2",
+ "properties": {
+ "status": "Applied",
+ "startDateTime": "2018-08-03T21:02:30.667Z",
+ "endDateTime": "2018-08-03T21:17:30.513Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewScheduleDefinition.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewScheduleDefinition.json
new file mode 100644
index 000000000000..ea660f2a3802
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewScheduleDefinition.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "scheduleDefinitionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "type": "Microsoft.Authorization/accessReviewScheduleDefinitions",
+ "name": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "properties": {
+ "displayName": "Hello world",
+ "status": "InProgress",
+ "descriptionForAdmins": "asdfasdf",
+ "descriptionForReviewers": "asdfasdf",
+ "createdBy": {
+ "principalType": "user",
+ "principalId": "a6c7aecb-cbfd-4763-87ef-e91b4bd509d9",
+ "principalName": "Shubham Gupta",
+ "userPrincipalName": "shugup@microsoft.com"
+ },
+ "scope": {
+ "resourceId": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "roleDefinitionId": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/providers/Microsoft.Authorization/roleDefinitions/b225c7ff-4338-4cdc-a790-6b34d987f7cd"
+ },
+ "reviewers": [
+ {
+ "principalId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d ",
+ "principalType": "user"
+ }
+ ],
+ "reviewersType": "Assigned",
+ "settings": {
+ "mailNotificationsEnabled": true,
+ "reminderNotificationsEnabled": true,
+ "justificationRequiredOnApproval": true,
+ "recommendationsEnabled": true,
+ "instanceDurationInDays": 30,
+ "recurrence": {
+ "range": {
+ "type": "endDate",
+ "numberOfOccurrences": 1,
+ "startDate": "2018-08-03T21:02:30.667Z",
+ "endDate": "2018-08-03T21:17:30.513Z"
+ }
+ },
+ "defaultDecisionEnabled": true,
+ "defaultDecision": "Approve",
+ "autoApplyDecisionsEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewScheduleDefinitions.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewScheduleDefinitions.json
new file mode 100644
index 000000000000..1c08b15bfe96
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewScheduleDefinitions.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "type": "Microsoft.Authorization/accessReviewScheduleDefinitions",
+ "name": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "properties": {
+ "displayName": "Hello world",
+ "status": "InProgress",
+ "descriptionForAdmins": "asdfasdf",
+ "descriptionForReviewers": "asdfasdf",
+ "createdBy": {
+ "principalType": "user",
+ "principalId": "a6c7aecb-cbfd-4763-87ef-e91b4bd509d9",
+ "principalName": "Shubham Gupta",
+ "userPrincipalName": "shugup@microsoft.com"
+ },
+ "scope": {
+ "resourceId": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "roleDefinitionId": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/providers/Microsoft.Authorization/roleDefinitions/b225c7ff-4338-4cdc-a790-6b34d987f7cd"
+ },
+ "reviewers": [
+ {
+ "principalId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d ",
+ "principalType": "user"
+ }
+ ],
+ "reviewersType": "Assigned",
+ "settings": {
+ "mailNotificationsEnabled": true,
+ "reminderNotificationsEnabled": true,
+ "justificationRequiredOnApproval": true,
+ "recommendationsEnabled": true,
+ "instanceDurationInDays": 30,
+ "recurrence": {
+ "range": {
+ "type": "endDate",
+ "numberOfOccurrences": 1,
+ "startDate": "2018-08-03T21:02:30.667Z",
+ "endDate": "2018-08-03T21:17:30.513Z"
+ }
+ },
+ "defaultDecisionEnabled": true,
+ "defaultDecision": "Approve",
+ "autoApplyDecisionsEnabled": true
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewScheduleDefinitionsAssignedForMyApproval.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewScheduleDefinitionsAssignedForMyApproval.json
new file mode 100644
index 000000000000..7ace3dd0025e
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/GetAccessReviewScheduleDefinitionsAssignedForMyApproval.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "$filter": "assignedToMeToReview()"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "type": "Microsoft.Authorization/accessReviewScheduleDefinitions",
+ "name": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "properties": {
+ "displayName": "Hello world",
+ "status": "InProgress",
+ "descriptionForAdmins": "asdfasdf",
+ "descriptionForReviewers": "asdfasdf",
+ "createdBy": {
+ "principalType": "user",
+ "principalId": "a6c7aecb-cbfd-4763-87ef-e91b4bd509d9",
+ "principalName": "Shubham Gupta",
+ "userPrincipalName": "shugup@microsoft.com"
+ },
+ "scope": {
+ "resourceId": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "roleDefinitionId": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/providers/Microsoft.Authorization/roleDefinitions/b225c7ff-4338-4cdc-a790-6b34d987f7cd"
+ },
+ "reviewers": [
+ {
+ "principalId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d ",
+ "principalType": "user"
+ }
+ ],
+ "reviewersType": "Assigned",
+ "settings": {
+ "mailNotificationsEnabled": true,
+ "reminderNotificationsEnabled": true,
+ "justificationRequiredOnApproval": true,
+ "recommendationsEnabled": true,
+ "instanceDurationInDays": 30,
+ "recurrence": {
+ "range": {
+ "type": "endDate",
+ "numberOfOccurrences": 1,
+ "startDate": "2018-08-03T21:02:30.667Z",
+ "endDate": "2018-08-03T21:17:30.513Z"
+ }
+ },
+ "defaultDecisionEnabled": true,
+ "defaultDecision": "Approve",
+ "autoApplyDecisionsEnabled": true
+ },
+ "instances": [
+ {
+ "id": "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/488a6d0e-0a63-4946-86e3-1f5bbc934661/instances/4135f961-be78-4005-8101-c72a5af307a2",
+ "type": "Microsoft.Authorization/accessReviewScheduleDefinitions/instances",
+ "name": "4135f961-be78-4005-8101-c72a5af307a2",
+ "properties": {
+ "status": "Applied",
+ "startDateTime": "2018-08-03T21:02:30.667Z",
+ "endDateTime": "2018-08-03T21:17:30.513Z"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/PatchAccessReviewInstanceMyDecisionById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/PatchAccessReviewInstanceMyDecisionById.json
new file mode 100644
index 000000000000..71572f5792e6
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/PatchAccessReviewInstanceMyDecisionById.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "scheduleDefinitionId": "488a6d0e-0a63-4946-86e3-1f5bbc934661",
+ "id": "4135f961-be78-4005-8101-c72a5af307a2",
+ "decisionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "properties": {},
+ "body": {
+ "properties": {
+ "decision": "Approve",
+ "justification": "I trust this person."
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/488a6d0e-0a63-4946-86e3-1f5bbc934661/instances/4135f961-be78-4005-8101-c72a5af307a2/decisions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "type": "Microsoft.Authorization/accessReviewScheduleDefinitions/instances/decisions",
+ "name": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "properties": {
+ "reviewedBy": {
+ "principalType": "user",
+ "principalId": "a6c7aecb-cbfd-4763-87ef-e91b4bd509d9",
+ "principalName": "Shubham Gupta",
+ "userPrincipalName": "shugup@microsoft.com"
+ },
+ "reviewedDateTime": "2018-08-03T21:02:30.667Z",
+ "decision": "Deny",
+ "justification": "This person has left this team",
+ "appliedBy": {
+ "principalType": "user",
+ "principalId": "36777fc8-4ec2-49ea-a56c-cec0bd47d83a",
+ "principalName": "Amit Ghosh",
+ "userPrincipalName": "amitgho@microsoft.com"
+ },
+ "appliedDateTime": "2018-10-03T21:02:30.667Z",
+ "applyResult": "Success",
+ "recommendation": "Deny",
+ "principal": {
+ "type": "user",
+ "id": "a6c7aecb-cbfd-4763-87ef-e91b4bd509d9",
+ "displayName": "Shubham Gupta",
+ "userPrincipalName": "shugup@microsoft.com"
+ },
+ "resource": {
+ "type": "azureRole",
+ "id": "a6c7aecb-cbfd-4763-87ef-e91b4bd509d9",
+ "displayName": "Owner"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/PutAccessReviewDefaultSettings.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/PutAccessReviewDefaultSettings.json
new file mode 100644
index 000000000000..c8cbaff919d3
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/PutAccessReviewDefaultSettings.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "id": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "properties": {},
+ "body": {
+ "properties": {
+ "mailNotificationsEnabled": true,
+ "remindersEnabled": true,
+ "justificationRequiredOnApproval": true,
+ "accessRecommendationsEnabled": true,
+ "recurrenceSettings": {
+ "recurrenceType": "weekly",
+ "recurrenceEndType": "never",
+ "durationInDays": 5,
+ "recurrenceCount": 0
+ },
+ "autoReviewEnabled": true,
+ "autoReviewNotReviewedResult": "Approve",
+ "autoApplyReviewResultsEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/providers/Microsoft.Authorization/accessReviewSettings/default",
+ "type": "Microsoft.Authorization/accessReviewSettings",
+ "name": "default",
+ "properties": {
+ "mailNotificationsEnabled": true,
+ "reminderNotificationsEnabled": true,
+ "justificationRequiredOnApproval": true,
+ "recommendationsEnabled": true,
+ "instanceDurationInDays": 30,
+ "recurrence": {
+ "range": {
+ "type": "endDate",
+ "numberOfOccurrences": 1,
+ "startDate": "2018-08-03T21:02:30.667Z",
+ "endDate": "2018-08-03T21:17:30.513Z"
+ }
+ },
+ "defaultDecisionEnabled": true,
+ "defaultDecision": "Approve",
+ "autoApplyDecisionsEnabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/PutAccessReviewInstance.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/PutAccessReviewInstance.json
new file mode 100644
index 000000000000..dd575d005c12
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/PutAccessReviewInstance.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "scheduleDefinitionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "id": "4135f961-be78-4005-8101-c72a5af307a2",
+ "properties": {},
+ "body": {
+ "properties": {
+ "status": "InProgress",
+ "startDateTime": "2018-08-03T21:02:30.667Z",
+ "endDateTime": "2018-08-03T21:17:30.513Z",
+ "reviewers": [
+ {
+ "principalId": "89ff94f6-029c-429c-9037-6cf4fe2f4a13",
+ "principalType": "group"
+ }
+ ],
+ "backupReviewers": [
+ {
+ "principalId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "principalType": "user"
+ }
+ ],
+ "reviewersType": "Assigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/instances/4135f961-be78-4005-8101-c72a5af307a2",
+ "type": "Microsoft.Authorization/accessReviewScheduleDefinitions/instances",
+ "name": "4135f961-be78-4005-8101-c72a5af307a2",
+ "properties": {
+ "status": "InProgress",
+ "startDateTime": "2018-08-03T21:02:30.667Z",
+ "endDateTime": "2018-08-03T21:17:30.513Z",
+ "reviewers": [
+ {
+ "principalId": "89ff94f6-029c-429c-9037-6cf4fe2f4a13",
+ "principalType": "group"
+ }
+ ],
+ "backupReviewers": [
+ {
+ "principalId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "principalType": "user"
+ }
+ ],
+ "reviewersType": "Assigned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/PutAccessReviewScheduleDefinition.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/PutAccessReviewScheduleDefinition.json
new file mode 100644
index 000000000000..8a87014174ee
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/PutAccessReviewScheduleDefinition.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "scheduleDefinitionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "properties": {},
+ "body": {
+ "properties": {
+ "displayName": "Hello world",
+ "status": "InProgress",
+ "descriptionForAdmins": "asdfasdf",
+ "descriptionForReviewers": "asdfasdf",
+ "createdBy": {
+ "principalType": "user",
+ "principalId": "a6c7aecb-cbfd-4763-87ef-e91b4bd509d9",
+ "principalName": "Shubham Gupta",
+ "userPrincipalName": "shugup@microsoft.com"
+ },
+ "scope": {
+ "resourceId": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "roleDefinitionId": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/providers/Microsoft.Authorization/roleDefinitions/b225c7ff-4338-4cdc-a790-6b34d987f7cd"
+ },
+ "reviewers": [
+ {
+ "principalId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d ",
+ "principalType": "user"
+ }
+ ],
+ "reviewersType": "Assigned",
+ "settings": {
+ "mailNotificationsEnabled": true,
+ "reminderNotificationsEnabled": true,
+ "justificationRequiredOnApproval": true,
+ "recommendationsEnabled": true,
+ "instanceDurationInDays": 30,
+ "recurrence": {
+ "range": {
+ "type": "endDate",
+ "numberOfOccurrences": 1,
+ "startDate": "2018-08-03T21:02:30.667Z",
+ "endDate": "2018-08-03T21:17:30.513Z"
+ }
+ },
+ "defaultDecisionEnabled": true,
+ "defaultDecision": "Approve",
+ "autoApplyDecisionsEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "type": "Microsoft.Authorization/accessReviewScheduleDefinitions",
+ "name": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "properties": {
+ "displayName": "Hello world",
+ "status": "InProgress",
+ "descriptionForAdmins": "asdfasdf",
+ "descriptionForReviewers": "asdfasdf",
+ "createdBy": {
+ "principalType": "user",
+ "principalId": "a6c7aecb-cbfd-4763-87ef-e91b4bd509d9",
+ "principalName": "Shubham Gupta",
+ "userPrincipalName": "shugup@microsoft.com"
+ },
+ "scope": {
+ "resourceId": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "roleDefinitionId": "/subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/providers/Microsoft.Authorization/roleDefinitions/b225c7ff-4338-4cdc-a790-6b34d987f7cd"
+ },
+ "reviewers": [
+ {
+ "principalId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d ",
+ "principalType": "user"
+ }
+ ],
+ "reviewersType": "Assigned",
+ "settings": {
+ "mailNotificationsEnabled": true,
+ "reminderNotificationsEnabled": true,
+ "justificationRequiredOnApproval": true,
+ "recommendationsEnabled": true,
+ "instanceDurationInDays": 30,
+ "recurrence": {
+ "range": {
+ "type": "endDate",
+ "numberOfOccurrences": 1,
+ "startDate": "2018-08-03T21:02:30.667Z",
+ "endDate": "2018-08-03T21:17:30.513Z"
+ }
+ },
+ "defaultDecisionEnabled": true,
+ "defaultDecision": "Approve",
+ "autoApplyDecisionsEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/StopAccessReviewInstance.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/StopAccessReviewInstance.json
new file mode 100644
index 000000000000..35252e41c385
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/StopAccessReviewInstance.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "scheduleDefinitionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "id": "d9b9e056-7004-470b-bf21-1635e98487da"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/StopAccessReviewScheduleDefinition.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/StopAccessReviewScheduleDefinition.json
new file mode 100644
index 000000000000..8dceb1a14268
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/StopAccessReviewScheduleDefinition.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "subscriptionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "scheduleDefinitionId": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/TenantLevelGetAccessReviewInstanceContactedReviewers.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/TenantLevelGetAccessReviewInstanceContactedReviewers.json
new file mode 100644
index 000000000000..3ccdf51c0039
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-07-01-preview/examples/TenantLevelGetAccessReviewInstanceContactedReviewers.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01-preview",
+ "scheduleDefinitionId": "265785a7-a81f-4201-8a18-bb0db95982b7",
+ "id": "f25ed880-9c31-4101-bc57-825d8df3b58c"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d/instances/f8882fec-7d56-4e97-ad6d-5e3f4557971d/contactedReviewers/fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "type": "Microsoft.Authorization/accessReviewScheduleDefinitions/instances/contactedReviewers",
+ "name": "fa73e90b-5bf1-45fd-a182-35ce5fc0674d",
+ "properties": {
+ "userDisplayName": "Bob",
+ "userPrincipalName": "bob@contoso.com",
+ "createdDateTime": "2018-08-03T21:02:30.667Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/readme.go.md b/specification/authorization/resource-manager/readme.go.md
index 5fc1395ba05f..60b1d5130283 100644
--- a/specification/authorization/resource-manager/readme.go.md
+++ b/specification/authorization/resource-manager/readme.go.md
@@ -2,13 +2,21 @@
These settings apply only when `--go` is specified on the command line.
-``` yaml $(go)
+``` yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
namespace: authorization
clear-output-folder: true
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/authorization/armauthorization
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
+azure-arm: true
+```
+
### Go multi-api
``` yaml $(go) && $(multiapi)
diff --git a/specification/authorization/resource-manager/readme.java.md b/specification/authorization/resource-manager/readme.java.md
index be6d12d76089..50d86a2a1032 100644
--- a/specification/authorization/resource-manager/readme.java.md
+++ b/specification/authorization/resource-manager/readme.java.md
@@ -23,6 +23,20 @@ batch:
- tag: package-2020-10-01-preview
- tag: package-2021-01-01-preview-only
- tag: package-2021-03-01-preview-only
+ - tag: package-2021-07-01-preview-only
+```
+
+### Tag: package-2021-07-01-preview-only and java
+
+These settings apply only when `--tag=package-2021-07-01-preview-only --java` is specified on he command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2021-07-01-preview-only' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.authorization.v2021_07_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/authorization/mgmt-v2021_07_01_preview
+regenerate-manager: true
+generate-interface: true
```
### Tag: package-2021-03-01-preview-only and java
diff --git a/specification/authorization/resource-manager/readme.md b/specification/authorization/resource-manager/readme.md
index b5b24935109a..4b666ad7f74f 100644
--- a/specification/authorization/resource-manager/readme.md
+++ b/specification/authorization/resource-manager/readme.md
@@ -90,6 +90,15 @@ directive:
reason: API documentation is not exposed yet. We're making some small changes before publishing documentation.
```
+### Tag: package-2021-07-01-preview-only
+
+These settings apply only when `--tag=package-2021-07-01-preview-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-07-01-preview-only'
+input-file:
+- Microsoft.Authorization/preview/2021-07-01-preview/authorization-AccessReviewCalls.json
+```
+
### Tag: package-2021-03-01-preview-only
These settings apply only when `--tag=package-2021-03-01-preview-only` is specified on the command line.
@@ -341,9 +350,7 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
- after_scripts:
- - python ./scripts/multiapi_init_gen.py azure-mgmt-authorization --default-api-version=2018-09-01-preview
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-node
@@ -362,5 +369,9 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
diff --git a/specification/authorization/resource-manager/readme.python.md b/specification/authorization/resource-manager/readme.python.md
index f43554d6a8ea..dc4663923c3a 100644
--- a/specification/authorization/resource-manager/readme.python.md
+++ b/specification/authorization/resource-manager/readme.python.md
@@ -1,26 +1,23 @@
## 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
- package-name: azure-mgmt-authorization
- clear-output-folder: true
- no-namespace-folders: 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-authorization
+no-namespace-folders: true
+package-version: 1.0.0b1
```
### Python multi-api
Generate all API versions currently shipped for this package
-```yaml $(python) && $(multiapi)
+```yaml $(multiapi)
+clear-output-folder: true
batch:
+ - tag: package-2021-07-01-preview-only
- tag: package-2021-03-01-preview-only
- tag: package-2021-01-01-preview-only
- tag: package-2020-04-01-preview-only
@@ -31,6 +28,22 @@ batch:
- tag: package-2018-01-01-preview-only
- tag: package-2015-07-01
- tag: package-2015-06-01-preview
+ - multiapiscript: true
+```
+``` yaml $(multiapiscript)
+output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/
+clear-output-folder: false
+perform-load: false
+```
+
+### Tag: package-2021-07-01-preview-only and python
+
+These settings apply only when `--tag=package-2021-07-01-preview-only --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-07-01-preview-only' && $(python)
+python:
+ namespace: azure.mgmt.authorization.v2021_07_01_preview
+ output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2021_07_01_preview
```
### Tag: package-2021-03-01-preview-only and python
@@ -38,9 +51,8 @@ batch:
These settings apply only when `--tag=package-2021-03-01-preview-only --python` is specified on the command line.
``` yaml $(tag) == 'package-2021-03-01-preview-only' && $(python)
-python:
- namespace: azure.mgmt.authorization.v2021_03_01_preview
- output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2021_03_01_preview
+namespace: azure.mgmt.authorization.v2021_03_01_preview
+output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2021_03_01_preview
```
### Tag: package-2020-04-01-preview-only and python
@@ -48,9 +60,8 @@ 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
+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
@@ -58,9 +69,8 @@ python:
These settings apply only when `--tag=package-2018-09-01-preview-only --python` is specified on the command line.
``` yaml $(tag) == 'package-2018-09-01-preview-only' && $(python)
-python:
- namespace: azure.mgmt.authorization.v2018_09_01_preview
- output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2018_09_01_preview
+namespace: azure.mgmt.authorization.v2018_09_01_preview
+output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2018_09_01_preview
```
### Tag: package-2018-07-01-preview-only and python
@@ -68,9 +78,8 @@ python:
These settings apply only when `--tag=package-2018-07-01-preview-only --python` is specified on the command line.
``` yaml $(tag) == 'package-2018-07-01-preview-only' && $(python)
-python:
- namespace: azure.mgmt.authorization.v2018_07_01_preview
- output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2018_07_01_preview
+namespace: azure.mgmt.authorization.v2018_07_01_preview
+output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2018_07_01_preview
```
### Tag: package-2018-05-01-preview and python
@@ -78,9 +87,8 @@ python:
These settings apply only when `--tag=package-2018-05-01-preview --python` is specified on the command line.
``` yaml $(tag) == 'package-2018-05-01-preview' && $(python)
-python:
- namespace: azure.mgmt.authorization.v2018_05_01_preview
- output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2018_05_01_preview
+namespace: azure.mgmt.authorization.v2018_05_01_preview
+output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2018_05_01_preview
```
### Tag: package-2018-01-01-preview-only and python
@@ -88,9 +96,8 @@ python:
These settings apply only when `--tag=package-2018-01-01-preview-only --python` is specified on the command line.
``` yaml $(tag) == 'package-2018-01-01-preview-only' && $(python)
-python:
- namespace: azure.mgmt.authorization.v2018_01_01_preview
- output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2018_01_01_preview
+namespace: azure.mgmt.authorization.v2018_01_01_preview
+output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2018_01_01_preview
```
### Tag: package-2015-07-01 and python
@@ -98,9 +105,8 @@ python:
These settings apply only when `--tag=package-2015-07-01 --python` is specified on the command line.
``` yaml $(tag) == 'package-2015-07-01' && $(python)
-python:
- namespace: azure.mgmt.authorization.v2015_07_01
- output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2015_07_01
+namespace: azure.mgmt.authorization.v2015_07_01
+output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2015_07_01
```
### Tag: 2015-06-01-preview and python
@@ -108,9 +114,8 @@ python:
These settings apply only when `--tag=2015-06-01-preview --python` is specified on the command line.
``` yaml $(tag) == 'package-2015-06-01-preview' && $(python)
-python:
- namespace: azure.mgmt.authorization.v2015_06_01
- output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2015_06_01
+namespace: azure.mgmt.authorization.v2015_06_01
+output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2015_06_01
```
### Tag: package-2021-01-01-preview-only and python
@@ -118,16 +123,14 @@ python:
These settings apply only when `--tag=package-2021-01-01-preview-only --python` is specified on the command line.
``` yaml $(tag) == 'package-2021-01-01-preview-only' && $(python)
-python:
- namespace: azure.mgmt.authorization.v2021_01_01_preview
- output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2021_01_01_preview
+namespace: azure.mgmt.authorization.v2021_01_01_preview
+output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2021_01_01_preview
```
### Tag: package-2020-10-01-preview and python
These settings apply only when `--tag=package-2020-10-01-preview --python` is specified on the command line.
``` yaml $(tag) == 'package-2020-10-01-preview' && $(python)
-python:
- namespace: azure.mgmt.authorization.v2020_10_01_preview
- output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2020_10_01_preview
+namespace: azure.mgmt.authorization.v2020_10_01_preview
+output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2020_10_01_preview
```
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/readme.ruby.md b/specification/authorization/resource-manager/readme.ruby.md
index f51bc0959efd..ba8997c7253a 100644
--- a/specification/authorization/resource-manager/readme.ruby.md
+++ b/specification/authorization/resource-manager/readme.ruby.md
@@ -20,6 +20,7 @@ batch:
- tag: package-2020-10-01-preview
- tag: package-2021-01-01-preview-only
- tag: package-2021-03-01-preview-only
+ - tag: package-2021-07-01-preview-only
```
### Tag: package-2015-07-01 and ruby
@@ -102,3 +103,13 @@ Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-07-01-preview-only' && $(ruby)
+namespace: "Azure::Authorization::Mgmt::V2021_07_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_authorization/lib
+```
diff --git a/specification/authorization/resource-manager/readme.typescript.md b/specification/authorization/resource-manager/readme.typescript.md
index f491412a6532..c237c5e19fd4 100644
--- a/specification/authorization/resource-manager/readme.typescript.md
+++ b/specification/authorization/resource-manager/readme.typescript.md
@@ -12,7 +12,7 @@ typescript:
payload-flattening-threshold: 1
```
-``` yaml $(typescript) && !$(profile)
+``` yaml $(typescript) && !$(profile-content)
typescript:
package-name: "@azure/arm-authorization"
output-folder: "$(typescript-sdks-folder)/sdk/authorization/arm-authorization"
@@ -21,9 +21,9 @@ typescript:
### Profile: profile-hybrid-2019-03-01
-These settings apply only when `--profile=profile-hybrid-2019-03-01` is specified on the command line.
+These settings apply only when `--profile-content=profile-hybrid-2019-03-01` is specified on the command line.
-``` yaml $(profile)=='profile-hybrid-2019-03-01'
+``` yaml $(profile-content)=='profile-hybrid-2019-03-01'
typescript:
package-name: "@azure/arm-authorization-profile-2019-03-01-hybrid"
output-folder: "$(typescript-sdks-folder)/sdk/authorization/arm-authorization-profile-2019-03-01-hybrid"
@@ -34,9 +34,9 @@ typescript:
### Profile: profile-hybrid-2020-09-01
-These settings apply only when `--profile=profile-hybrid-2020-09-01` is specified on the command line.
+These settings apply only when `--profile-content=profile-hybrid-2020-09-01` is specified on the command line.
-``` yaml $(profile)=='profile-hybrid-2020-09-01'
+``` yaml $(profile-content)=='profile-hybrid-2020-09-01'
typescript:
package-name: "@azure/arm-authorization-profile-2020-09-01-hybrid"
output-folder: "$(typescript-sdks-folder)/sdk/authorization/arm-authorization-profile-2020-09-01-hybrid"
@@ -47,9 +47,9 @@ typescript:
### Profile: package-2020-10-01-preview
-These settings apply only when `--profile=package-2020-10-01-preview` is specified on the command line.
+These settings apply only when `--profile-content=package-2020-10-01-preview` is specified on the command line.
-``` yaml $(profile)=='package-2020-10-01-preview'
+``` yaml $(profile-content)=='package-2020-10-01-preview'
typescript:
package-name: "@azure/arm-authorization-package-2020-10-01-preview"
output-folder: "$(typescript-sdks-folder)/sdk/authorization/arm-authorization-package-2020-10-01-preview"
diff --git a/specification/automation/resource-manager/readme.md b/specification/automation/resource-manager/readme.md
index 333ec8249cba..a6d099417107 100644
--- a/specification/automation/resource-manager/readme.md
+++ b/specification/automation/resource-manager/readme.md
@@ -270,7 +270,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
diff --git a/specification/automation/resource-manager/readme.python.md b/specification/automation/resource-manager/readme.python.md
index 0ca10a24ffb3..761572592260 100644
--- a/specification/automation/resource-manager/readme.python.md
+++ b/specification/automation/resource-manager/readme.python.md
@@ -2,35 +2,14 @@
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.automation
- package-name: azure-mgmt-automation
- package-version: 0.1.1
- clear-output-folder: true
-```
``` yaml $(python) && $(track2)
-python-mode: create
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
namespace: azure.mgmt.automation
package-name: azure-mgmt-automation
package-version: 1.0.0b1
clear-output-folder: true
-modelerfour:
- lenient-model-deduplication: true
-```
-
-``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/automation/azure-mgmt-automation/azure/mgmt/automation
```
``` yaml $(python) && $(python-mode) == 'update' && $(track2)
@@ -38,13 +17,13 @@ no-namespace-folders: true
output-folder: $(python-sdks-folder)/automation/azure-mgmt-automation/azure/mgmt/automation
```
-``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/automation/azure-mgmt-automation
-```
``` yaml $(python) && $(python-mode) == 'create' && $(track2)
basic-setup-py: true
output-folder: $(python-sdks-folder)/automation/azure-mgmt-automation
```
+
+``` yaml $(python) && $(track2)
+modelerfour:
+ lenient-model-deduplication: true
+```
\ No newline at end of file
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
index 2629d4674821..c1427ac94da9 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
@@ -29,7 +29,7 @@
"operationId": "Operations_List",
"parameters": [
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -38,6 +38,12 @@
"schema": {
"$ref": "#/definitions/OperationList"
}
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "Compute.json#/definitions/CrpErrorResponse"
+ }
}
},
"x-ms-pageable": {
@@ -73,6 +79,32 @@
},
"x-ms-azure-resource": true
},
+ "CrpResource": {
+ "description": "Base resource object.",
+ "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
+ },
"ProvisioningState": {
"description": "The provisioning state of the resource.",
"enum": [
@@ -88,6 +120,7 @@
},
"Operation": {
"description": "Describes the supported REST operation.",
+ "type": "object",
"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.",
@@ -106,6 +139,7 @@
},
"Display": {
"description": "Contains the localized display information for this particular operation or action.",
+ "type": "object",
"properties": {
"provider": {
"description": "The localized, friendly version of the resource provider name. The provider name is expected to include the name of the publisher or company responsible. The provider name format should use title case and begin with \"Microsoft\" for first-party services. For example, the provider name may be\"Microsoft Monitoring Insights\" or \"Microsoft Compute.\"",
@@ -127,6 +161,7 @@
},
"OperationList": {
"description": "List of Operations",
+ "type": "object",
"properties": {
"value": {
"description": "Array of operations",
@@ -140,6 +175,54 @@
"type": "string"
}
}
+ },
+ "ErrorDetail": {
+ "description": "The error detail.",
+ "type": "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."
+ }
+ }
+ },
+ "CrpErrorResponse": {
+ "title": "Error response",
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The error object.",
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ }
+ },
+ "ErrorAdditionalInfo": {
+ "type": "object",
+ "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."
}
},
"parameters": {
@@ -150,14 +233,6 @@
"required": true,
"type": "string"
},
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "description": "Client API Version.",
- "required": true,
- "type": "string",
- "default": "2015-12-01-preview"
- },
"LocationParameter": {
"description": "Location of the resource.",
"name": "location",
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
index eeeac1dc49a7..0ea7cf5e15ae 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
@@ -36,7 +36,7 @@
"$ref": "Compute.json#/parameters/LocationParameter"
},
{
- "$ref": "Compute.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -45,6 +45,12 @@
"schema": {
"$ref": "#/definitions/PlatformImageList"
}
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "Compute.json#/definitions/CrpErrorResponse"
+ }
}
}
}
@@ -82,7 +88,7 @@
"$ref": "Compute.json#/parameters/VersionParameter"
},
{
- "$ref": "Compute.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -91,6 +97,12 @@
"schema": {
"$ref": "#/definitions/PlatformImage"
}
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "Compute.json#/definitions/CrpErrorResponse"
+ }
}
}
},
@@ -126,7 +138,7 @@
"$ref": "Compute.json#/parameters/VersionParameter"
},
{
- "$ref": "Compute.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "#/parameters/NewPlatformImageParameter"
@@ -150,6 +162,12 @@
"schema": {
"$ref": "#/definitions/PlatformImage"
}
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "Compute.json#/definitions/CrpErrorResponse"
+ }
}
},
"x-ms-long-running-operation": true
@@ -186,10 +204,16 @@
"$ref": "Compute.json#/parameters/VersionParameter"
},
{
- "$ref": "Compute.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "Compute.json#/definitions/CrpErrorResponse"
+ }
+ },
"200": {
"description": "OK"
}
@@ -210,7 +234,7 @@
},
"allOf": [
{
- "$ref": "Compute.json#/definitions/Resource"
+ "$ref": "Compute.json#/definitions/CrpResource"
}
]
},
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Quotas.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Quotas.json
index 046fa9229b43..614d08736800 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Quotas.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Quotas.json
@@ -39,7 +39,7 @@
"$ref": "#/parameters/QuotaParameter"
},
{
- "$ref": "Compute.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -80,7 +80,7 @@
"$ref": "#/parameters/QuotaParameter"
},
{
- "$ref": "Compute.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "#/parameters/NewQuotaParameter"
@@ -124,7 +124,7 @@
"$ref": "#/parameters/QuotaParameter"
},
{
- "$ref": "Compute.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -161,7 +161,7 @@
"$ref": "Compute.json#/parameters/LocationParameter"
},
{
- "$ref": "Compute.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -191,7 +191,7 @@
},
"allOf": [
{
- "$ref": "Compute.json#/definitions/Resource"
+ "$ref": "Compute.json#/definitions/CrpResource"
}
]
},
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 933404e75268..f7972ddfce81 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
@@ -45,7 +45,7 @@
"$ref": "Compute.json#/parameters/VersionParameter"
},
{
- "$ref": "Compute.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -54,6 +54,12 @@
"schema": {
"$ref": "#/definitions/VMExtension"
}
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "Compute.json#/definitions/CrpErrorResponse"
+ }
}
}
},
@@ -92,7 +98,7 @@
"$ref": "Compute.json#/parameters/VersionParameter"
},
{
- "$ref": "Compute.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "#/parameters/VMExtensionParameter"
@@ -110,6 +116,12 @@
"schema": {
"$ref": "#/definitions/VMExtension"
}
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "Compute.json#/definitions/CrpErrorResponse"
+ }
}
}
},
@@ -148,12 +160,18 @@
"$ref": "Compute.json#/parameters/VersionParameter"
},
{
- "$ref": "Compute.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
"description": "OK"
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "Compute.json#/definitions/CrpErrorResponse"
+ }
}
}
}
@@ -185,7 +203,7 @@
"$ref": "Compute.json#/parameters/LocationParameter"
},
{
- "$ref": "Compute.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -194,6 +212,12 @@
"schema": {
"$ref": "#/definitions/VMExtensionList"
}
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "Compute.json#/definitions/CrpErrorResponse"
+ }
}
}
}
@@ -212,7 +236,7 @@
},
"allOf": [
{
- "$ref": "Compute.json#/definitions/Resource"
+ "$ref": "Compute.json#/definitions/CrpResource"
}
]
},
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/examples/Operations/List.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/examples/Operations/List.json
index ed7fc4ebeeb6..3c478352aa0f 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/examples/Operations/List.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/examples/Operations/List.json
@@ -114,6 +114,15 @@
"description": "Delete any VMExtension"
}
},
+ {
+ "name": "Microsoft.Compute.Admin/locations/computeScaleUnits/read",
+ "display": {
+ "provider": "Microsoft Compute Admin",
+ "resource": "ScaleUnitView",
+ "operation": "Get scale unit view",
+ "description": "Get scale unit view"
+ }
+ },
{
"name": "Microsoft.Compute.Admin/locations/Disks/read",
"display": {
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-02-09/Quotas.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-02-09/Quotas.json
index e8517f1d54e0..599fe25344e2 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-02-09/Quotas.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-02-09/Quotas.json
@@ -39,7 +39,7 @@
"$ref": "Quotas.json#/parameters/QuotaParameter"
},
{
- "$ref": "Quotas.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -80,7 +80,7 @@
"$ref": "Quotas.json#/parameters/QuotaParameter"
},
{
- "$ref": "Quotas.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "Quotas.json#/parameters/NewQuotaParameter"
@@ -124,7 +124,7 @@
"$ref": "Quotas.json#/parameters/QuotaParameter"
},
{
- "$ref": "Quotas.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -161,7 +161,7 @@
"$ref": "../2015-12-01-preview/Compute.json#/parameters/LocationParameter"
},
{
- "$ref": "Quotas.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -256,13 +256,6 @@
}
},
"parameters": {
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "description": "Client API Version.",
- "required": true,
- "type": "string"
- },
"QuotaParameter": {
"description": "Name of the quota.",
"name": "quotaName",
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json
index 2456dcf23c55..0a1302baa3f9 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json
@@ -39,7 +39,7 @@
"$ref": "DiskMigrationJobs.json#/parameters/MigrationJobStatusParameter"
},
{
- "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -48,6 +48,12 @@
"schema": {
"$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJobList"
}
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "../2015-12-01-preview/Compute.json#/definitions/CrpErrorResponse"
+ }
}
},
"x-ms-pageable": {
@@ -78,7 +84,7 @@
"$ref": "DiskMigrationJobs.json#/parameters/MigrationIdParameter"
},
{
- "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -87,6 +93,12 @@
"schema": {
"$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJob"
}
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "../2015-12-01-preview/Compute.json#/definitions/CrpErrorResponse"
+ }
}
}
},
@@ -124,7 +136,7 @@
"$ref": "DiskMigrationJobs.json#/parameters/DiskListParameter"
},
{
- "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -133,6 +145,12 @@
"schema": {
"$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJob"
}
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "../2015-12-01-preview/Compute.json#/definitions/CrpErrorResponse"
+ }
}
}
}
@@ -160,7 +178,7 @@
"$ref": "DiskMigrationJobs.json#/parameters/MigrationIdParameter"
},
{
- "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -169,6 +187,12 @@
"schema": {
"$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJob"
}
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "../2015-12-01-preview/Compute.json#/definitions/CrpErrorResponse"
+ }
}
}
}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json
index b0bfd8aa99e9..3dd553e131ba 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json
@@ -57,7 +57,7 @@
"$ref": "Disks.json#/parameters/DiskStartParameter"
},
{
- "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -66,6 +66,12 @@
"schema": {
"$ref": "Disks.json#/definitions/DiskList"
}
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "../2015-12-01-preview/Compute.json#/definitions/CrpErrorResponse"
+ }
}
},
"x-ms-pageable": {
@@ -96,7 +102,7 @@
"$ref": "Disks.json#/parameters/DiskIdParameter"
},
{
- "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -105,6 +111,12 @@
"schema": {
"$ref": "Disks.json#/definitions/Disk"
}
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "../2015-12-01-preview/Compute.json#/definitions/CrpErrorResponse"
+ }
}
}
}
@@ -248,14 +260,6 @@
}
},
"parameters": {
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "description": "Client API Version.",
- "required": true,
- "type": "string",
- "default": "2018-07-30-preview"
- },
"UserSubscriptionIdParameter": {
"description": "User Subscription Id which the resource belongs to.",
"name": "userSubscriptionId",
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/examples/DiskMigrationJobs/Create.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/examples/DiskMigrationJobs/Create.json
index 45b134eda4b3..504e0202d3d0 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/examples/DiskMigrationJobs/Create.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2018-07-30-preview/examples/DiskMigrationJobs/Create.json
@@ -7,9 +7,6 @@
"targetShare": "\\\\SU1FileServer.mydomain.com\\SU1_ObjStore_1",
"disks": [
{
- "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/423e4eb4-f791-4d13-ad5b-4d415733b0d6",
- "name": "redmond/423e4eb4-f791-4d13-ad5b-4d415733b0d6",
- "type": "Microsoft.Compute.Admin/locations/disks",
"location": "redmond",
"properties": {
"diskId": "423e4eb4-f791-4d13-ad5b-4d415733b0d6",
@@ -18,9 +15,6 @@
}
},
{
- "id": "/subscriptions/04666444-56f0-4d4f-afc5-dbd6b134b084/providers/Microsoft.Compute.Admin/locations/redmond/disks/48dc9b56-5883-4011-9dc3-0e527f33e6ab",
- "name": "redmond/48dc9b56-5883-4011-9dc3-0e527f33e6ab",
- "type": "Microsoft.Compute.Admin/locations/disks",
"location": "redmond",
"properties": {
"diskId": "48dc9b56-5883-4011-9dc3-0e527f33e6ab",
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/Features.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/Features.json
index 08e49c717a68..298398535e20 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/Features.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/Features.json
@@ -30,16 +30,16 @@
],
"parameters": [
{
- "$ref": "Features.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Features.json#/parameters/LocationParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
},
{
"$ref": "Features.json#/parameters/FeatureParameter"
},
{
- "$ref": "Features.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -50,9 +50,9 @@
}
},
"default": {
- "description": "Default error response.",
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
"schema": {
- "$ref": "#/definitions/ErrorDetails"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/definitions/CrpErrorResponse"
}
}
}
@@ -79,13 +79,13 @@
],
"parameters": [
{
- "$ref": "Features.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Features.json#/parameters/LocationParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
},
{
- "$ref": "Features.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -96,9 +96,9 @@
}
},
"default": {
- "description": "Default error response.",
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
"schema": {
- "$ref": "#/definitions/ErrorDetails"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/definitions/CrpErrorResponse"
}
}
},
@@ -128,16 +128,16 @@
],
"parameters": [
{
- "$ref": "Features.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Features.json#/parameters/LocationParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
},
{
"$ref": "Features.json#/parameters/FeatureParameter"
},
{
- "$ref": "Features.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "Features.json#/parameters/GlobalFeatureSettingsParameter"
@@ -148,9 +148,9 @@
"description": "OK"
},
"default": {
- "description": "Default error response.",
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
"schema": {
- "$ref": "#/definitions/ErrorDetails"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/definitions/CrpErrorResponse"
}
}
}
@@ -177,16 +177,16 @@
],
"parameters": [
{
- "$ref": "Features.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Features.json#/parameters/LocationParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
},
{
"$ref": "Features.json#/parameters/FeatureParameter"
},
{
- "$ref": "Features.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "Features.json#/parameters/TenantSubscriptionFeatureSettingsParameter"
@@ -197,9 +197,9 @@
"description": "OK"
},
"default": {
- "description": "Default error response.",
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
"schema": {
- "$ref": "#/definitions/ErrorDetails"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/definitions/CrpErrorResponse"
}
}
}
@@ -226,16 +226,16 @@
],
"parameters": [
{
- "$ref": "Features.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Features.json#/parameters/LocationParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
},
{
"$ref": "Features.json#/parameters/FeatureParameter"
},
{
- "$ref": "Features.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "Features.json#/parameters/TenantSubscriptionFeatureSettingsParameter"
@@ -246,9 +246,9 @@
"description": "OK"
},
"default": {
- "description": "Default error response.",
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
"schema": {
- "$ref": "#/definitions/ErrorDetails"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/definitions/CrpErrorResponse"
}
}
}
@@ -268,7 +268,7 @@
},
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/definitions/CrpResource"
}
]
},
@@ -341,88 +341,9 @@
"type": "string"
}
}
- },
- "ErrorDetails": {
- "description": "Error details.",
- "type": "object",
- "properties": {
- "error": {
- "description": "Object containing error details.",
- "$ref": "#/definitions/ErrorDetailsInternal"
- }
- }
- },
- "ErrorDetailsInternal": {
- "description": "Error details.",
- "type": "object",
- "properties": {
- "code": {
- "description": "The error code.",
- "type": "string",
- "readOnly": true
- },
- "message": {
- "description": "The error message.",
- "type": "string",
- "readOnly": true
- },
- "target": {
- "description": "The target of the particular error.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "Resource": {
- "description": "Base resource object.",
- "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
}
},
"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"
- },
- "LocationParameter": {
- "description": "Location of the resource.",
- "name": "location",
- "in": "path",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
"FeatureParameter": {
"description": "Name of the feature.",
"name": "featureName",
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json
index 34ec689cfc5e..b776b710b058 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json
@@ -30,16 +30,16 @@
],
"parameters": [
{
- "$ref": "Quotas.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Quotas.json#/parameters/LocationParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
},
{
"$ref": "Quotas.json#/parameters/QuotaParameter"
},
{
- "$ref": "Quotas.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -48,6 +48,12 @@
"schema": {
"$ref": "Quotas.json#/definitions/Quota"
}
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/definitions/CrpErrorResponse"
+ }
}
}
},
@@ -71,16 +77,16 @@
],
"parameters": [
{
- "$ref": "Quotas.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Quotas.json#/parameters/LocationParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
},
{
"$ref": "Quotas.json#/parameters/QuotaParameter"
},
{
- "$ref": "Quotas.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
},
{
"$ref": "Quotas.json#/parameters/NewQuotaParameter"
@@ -92,6 +98,12 @@
"schema": {
"$ref": "Quotas.json#/definitions/Quota"
}
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/definitions/CrpErrorResponse"
+ }
}
}
},
@@ -115,21 +127,27 @@
],
"parameters": [
{
- "$ref": "Quotas.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Quotas.json#/parameters/LocationParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
},
{
"$ref": "Quotas.json#/parameters/QuotaParameter"
},
{
- "$ref": "Quotas.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
"description": "OK"
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/definitions/CrpErrorResponse"
+ }
}
}
}
@@ -155,13 +173,13 @@
],
"parameters": [
{
- "$ref": "Quotas.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Quotas.json#/parameters/LocationParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
},
{
- "$ref": "Quotas.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -170,6 +188,12 @@
"schema": {
"$ref": "Quotas.json#/definitions/QuotaList"
}
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/definitions/CrpErrorResponse"
+ }
}
},
"x-ms-pageable": {
@@ -191,7 +215,7 @@
},
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/definitions/CrpResource"
}
]
},
@@ -265,57 +289,9 @@
}
}
}
- },
- "Resource": {
- "description": "Base resource object.",
- "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
}
},
"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"
- },
- "LocationParameter": {
- "description": "Location of the resource.",
- "name": "location",
- "in": "path",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
"QuotaParameter": {
"description": "Name of the quota.",
"name": "quotaName",
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json
new file mode 100644
index 000000000000..5fae6684baaf
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json
@@ -0,0 +1,220 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-03-30",
+ "title": "Compute Admin Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/computeScaleUnits/{scaleUnitName}": {
+ "get": {
+ "x-ms-examples": {
+ "Get an existing scale set.": {
+ "$ref": "./examples/ScaleUnits/Get.json"
+ }
+ },
+ "tags": [
+ "ScaleUnits"
+ ],
+ "summary": "Returns the scale unit view.",
+ "description": "Get the scale unit view.",
+ "operationId": "ScaleUnits_Get",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "ScaleUnits.json#/parameters/ScaleUnitParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "ScaleUnits.json#/definitions/ScaleUnit"
+ }
+ },
+ "default": {
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "schema": {
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/definitions/CrpErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ScaleUnit": {
+ "description": "The scale unit operator view.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "The scale unit operator view properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ScaleUnitProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ScaleUnitProperties": {
+ "description": "Properties for a scale unit",
+ "type": "object",
+ "properties": {
+ "scaleUnitName": {
+ "description": "The name of the scale unit.",
+ "type": "string"
+ },
+ "lastUpdatedTime": {
+ "description": "The scale unit last update time (UTC).",
+ "type": "string"
+ },
+ "nodes": {
+ "description": "The nodes of the scale unit.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeView"
+ }
+ }
+ }
+ },
+ "NodeView": {
+ "description": "Properties for a node",
+ "type": "object",
+ "properties": {
+ "nodeName": {
+ "description": "The name of the node.",
+ "type": "string"
+ },
+ "lastUpdatedTime": {
+ "description": "The node last update time (UTC).",
+ "type": "string"
+ },
+ "nodeHealthState": {
+ "description": "The node health state.",
+ "enum": [
+ "Unknown",
+ "Up",
+ "Down",
+ "MaintenanceMode"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NodeHealthState"
+ }
+ },
+ "virtualMachines": {
+ "description": "The virtual machines on the node.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineView"
+ }
+ }
+ }
+ },
+ "VirtualMachineView": {
+ "description": "Properties for a virtual machine",
+ "type": "object",
+ "properties": {
+ "vmName": {
+ "description": "The name of the virtual machine.",
+ "type": "string"
+ },
+ "vmId": {
+ "description": "The identifier of the virtual machine.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "The identifier of the subscription.",
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "description": "The resource group name.",
+ "type": "string"
+ },
+ "vmSize": {
+ "description": "The virtual machine size.",
+ "type": "string"
+ },
+ "vmScaleSetName": {
+ "description": "The virtual machine scale set name.",
+ "type": "string"
+ },
+ "lastProvisioningErrorMessage": {
+ "description": "The virtual machine last provisioning error message.",
+ "type": "string"
+ },
+ "timeOfLastConfigurationChange": {
+ "description": "The time of last configuration change (UTC).",
+ "type": "string"
+ },
+ "powerState": {
+ "description": "The fabric VM power state.",
+ "enum": [
+ "Unknown",
+ "Stopped",
+ "Running",
+ "Paused",
+ "SavedState",
+ "Stopping",
+ "Starting",
+ "Pausing",
+ "Resuming",
+ "Saving"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "VmPowerState"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ScaleUnitParameter": {
+ "description": "Name of the scale unit.",
+ "name": "scaleUnitName",
+ "type": "string",
+ "required": true,
+ "in": "path",
+ "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/compute/Microsoft.Compute.Admin/stable/2021-03-30/examples/ScaleUnits/Get.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-03-30/examples/ScaleUnits/Get.json
new file mode 100644
index 000000000000..0e369316cb79
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-03-30/examples/ScaleUnits/Get.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "location": "local",
+ "subscriptionId": "FAC2EE4D-C642-4411-A8BE-68379E72FC96",
+ "scaleUnitName": "s-cluster",
+ "api-version": "2021-03-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/FAC2EE4D-C642-4411-A8BE-68379E72FC96/providers/Microsoft.Compute.Admin/locations/local/computeScaleUnits/s-cluster",
+ "type": "Microsoft.Compute.Admin/locations/computeScaleUnits",
+ "location": "local",
+ "properties": {
+ "scaleUnitName": "s-cluster",
+ "lastUpdatedTime": "2021-03-30T12:34:00.00000Z",
+ "nodes": [
+ {
+ "nodeName": "AzsNode1",
+ "lastUpdatedTime": "2021-03-30T12:34:00.00000Z",
+ "nodeHealthState": "Up",
+ "virtualMachines": [
+ {
+ "vmName": "tenantVm1",
+ "vmId": "AE7920EF-2225-4D4B-965F-76D077278A92",
+ "subscriptionId": "CF82763A-3528-4776-9D4C-F0BF718900C7",
+ "resourceGroupName": "tenantRg1",
+ "vmSize": "Standard_A1",
+ "timeOfLastConfigurationChange": "2021-03-30T12:34:00.00000Z",
+ "powerState": "Running"
+ },
+ {
+ "vmName": "tenantVmScaleSet_0",
+ "vmId": "6832C576-9F0B-438C-AC58-23BB540FD960",
+ "subscriptionId": "CF82763A-3528-4776-9D4C-F0BF718900C7",
+ "resourceGroupName": "tenantRg1",
+ "vmSize": "Standard_A1",
+ "vmScaleSetName": "tenantVmScaleSet",
+ "timeOfLastConfigurationChange": "2021-03-30T12:34:00.00000Z",
+ "powerState": "Running"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json
index ebf93493cbd8..fe2f8f6bd4bb 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json
@@ -30,16 +30,16 @@
"description": "Returns a list of disk migration jobs.",
"parameters": [
{
- "$ref": "Disks.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Disks.json#/parameters/LocationParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
},
{
"$ref": "DiskMigrationJobs.json#/parameters/MigrationJobStatusParameter"
},
{
- "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -75,16 +75,16 @@
"description": "Returns the requested disk migration job.",
"parameters": [
{
- "$ref": "Disks.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Disks.json#/parameters/LocationParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
},
{
"$ref": "DiskMigrationJobs.json#/parameters/MigrationIdParameter"
},
{
- "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -115,10 +115,10 @@
"description": "Create a disk migration job.",
"parameters": [
{
- "$ref": "Disks.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Disks.json#/parameters/LocationParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
},
{
"$ref": "DiskMigrationJobs.json#/parameters/MigrationIdParameter"
@@ -136,7 +136,7 @@
"$ref": "DiskMigrationJobs.json#/parameters/DiskListParameter"
},
{
- "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -169,16 +169,16 @@
"description": "Cancel a disk migration job.",
"parameters": [
{
- "$ref": "Disks.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Disks.json#/parameters/LocationParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
},
{
"$ref": "DiskMigrationJobs.json#/parameters/MigrationIdParameter"
},
{
- "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/Disks.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/Disks.json
index 575505b8c72d..aba9c372ab09 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/Disks.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-04-01/Disks.json
@@ -30,10 +30,10 @@
"description": "Returns a list of disks.",
"parameters": [
{
- "$ref": "Disks.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Disks.json#/parameters/LocationParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
},
{
"$ref": "Disks.json#/parameters/UserSubscriptionIdParameter"
@@ -57,7 +57,7 @@
"$ref": "Disks.json#/parameters/DiskStartParameter"
},
{
- "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -93,10 +93,10 @@
"description": "Returns the disk.",
"parameters": [
{
- "$ref": "Disks.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Disks.json#/parameters/LocationParameter"
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
},
{
"$ref": "Disks.json#/parameters/DiskIdParameter"
@@ -105,7 +105,7 @@
"$ref": "Disks.json#/parameters/DiskSizeDetailParameter"
},
{
- "$ref": "Disks.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -327,29 +327,6 @@
}
},
"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"
- },
- "LocationParameter": {
- "description": "Location of the resource.",
- "name": "location",
- "in": "path",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "description": "Client API Version.",
- "required": true,
- "type": "string",
- "default": "2021-04-01"
- },
"UserSubscriptionIdParameter": {
"description": "User Subscription Id which the resource belongs to.",
"name": "userSubscriptionId",
diff --git a/specification/azsadmin/resource-manager/compute/readme.azsautogen.md b/specification/azsadmin/resource-manager/compute/readme.azsautogen.md
index e37ff2fce66c..3c4569631855 100644
--- a/specification/azsadmin/resource-manager/compute/readme.azsautogen.md
+++ b/specification/azsadmin/resource-manager/compute/readme.azsautogen.md
@@ -6,10 +6,10 @@
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
+ - Microsoft.Compute.Admin/stable/2020-11-01/Features.json
+ - Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json
+ - Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json
- Microsoft.Compute.Admin/stable/2021-04-01/Disks.json
- Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json
```
diff --git a/specification/azsadmin/resource-manager/compute/readme.md b/specification/azsadmin/resource-manager/compute/readme.md
index deeed7be84a1..94fc994fddf8 100644
--- a/specification/azsadmin/resource-manager/compute/readme.md
+++ b/specification/azsadmin/resource-manager/compute/readme.md
@@ -17,6 +17,7 @@ To see additional help and options, run:
## Configuration
+
### Basic Information
These are the global settings for the Compute API.
@@ -25,21 +26,30 @@ title: ComputeAdminClient
description: Compute Admin Client
openapi-type: arm
tag: package-2021-04-01
+
+directive:
+ - where:
+ - $.definitions.ScaleUnit
+ suppress:
+ - NestedResourcesMustHaveListOperation
+ reason:
+ - CRP cannot support the list API for scale units due to the undesired load that would inflict on the system
```
-### Tag: package-2021-01-01
+### Tag: package-2021-04-01
These settings apply only when `--tag=package-2021-04-01` is specified on the command line.
-``` yaml $(tag) == 'package-2021-01-01'
+``` yaml $(tag) == 'package-2021-04-01'
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/2015-12-01-preview/VMExtensions.json
- - Microsoft.Compute.Admin/stable/2020-11-01/Features.json
- - Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json
- - Microsoft.Compute.Admin/stable/2021-04-01/Disks.json
- - Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json
+ - Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
+ - Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
+ - Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
+ - Microsoft.Compute.Admin/stable/2020-11-01/Features.json
+ - Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json
+ - Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json
+ - Microsoft.Compute.Admin/stable/2021-04-01/Disks.json
+ - Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json
```
---
@@ -63,13 +73,14 @@ csharp:
``` 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/2015-12-01-preview/VMExtensions.json
- - Microsoft.Compute.Admin/stable/2020-11-01/Features.json
- - Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json
- - Microsoft.Compute.Admin/stable/2021-04-01/Disks.json
- - Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json
+ - Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
+ - Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
+ - Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
+ - Microsoft.Compute.Admin/stable/2020-11-01/Features.json
+ - Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json
+ - Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json
+ - Microsoft.Compute.Admin/stable/2021-04-01/Disks.json
+ - Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json
```
## Multi-API/Profile support for AutoRest v3 generators
@@ -84,15 +95,17 @@ require: $(this-folder)/../../../../profiles/readme.md
# all the input files across all versions
input-file:
- - $(this-folder)/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
- - $(this-folder)/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
- - $(this-folder)/Microsoft.Compute.Admin/preview/2018-02-09/Quotas.json
- - $(this-folder)/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
- - $(this-folder)/Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json
- - $(this-folder)/Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json
- - $(this-folder)/Microsoft.Compute.Admin/stable/2021-04-01/Disks.json
- - $(this-folder)/Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json
-
+ - $(this-folder)/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
+ - $(this-folder)/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
+ - $(this-folder)/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
+ - $(this-folder)/Microsoft.Compute.Admin/preview/2018-02-09/Quotas.json
+ - $(this-folder)/Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json
+ - $(this-folder)/Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json
+ - $(this-folder)/Microsoft.Compute.Admin/stable/2020-11-01/Features.json
+ - $(this-folder)/Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json
+ - $(this-folder)/Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json
+ - $(this-folder)/Microsoft.Compute.Admin/stable/2021-04-01/Disks.json
+ - $(this-folder)/Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json
```
If there are files that should not be in the `all-api-versions` set,
diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/capacity.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/capacity.json
new file mode 100644
index 000000000000..febe3c2514e2
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/capacity.json
@@ -0,0 +1,180 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-11-01-preview",
+ "title": "ContainerRegistryManagementClient",
+ "description": "Admin Container Registry Management Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry.Admin/locations/{location}/capacities/{capacityName}": {
+ "get": {
+ "x-ms-examples": {
+ "Returns container registry capacity properties.": {
+ "$ref": "./examples/Configuration/GetCapacity.json"
+ }
+ },
+ "tags": [
+ "ContainerRegistryCapacity"
+ ],
+ "description": "Returns container registry capacity property.",
+ "operationId": "ContainerRegistryCapacity_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/CapacityNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Container registry capacity property is being returned.",
+ "schema": {
+ "$ref": "#/definitions/ContainerRegistryCapacity"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry.Admin/locations/{location}/capacities": {
+ "get": {
+ "x-ms-examples": {
+ "Returns container registry capacity properties.": {
+ "$ref": "./examples/Configuration/ListCapacity.json"
+ }
+ },
+ "tags": [
+ "ContainerRegistryCapacities"
+ ],
+ "description": "Returns a list of container registry capacity properties.",
+ "operationId": "ContainerRegistryCapacity_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Container registry capacity properties are being returned.",
+ "schema": {
+ "$ref": "#/definitions/ContainerRegistryCapacityList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ContainerRegistryCapacity": {
+ "description": "Container registry capacity property.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Container registry capacity property.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ContainerRegistryCapacityProperty"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ContainerRegistryCapacityProperty": {
+ "description": "Container registry capacity property.",
+ "type": "object",
+ "properties": {
+ "maximumCapacityInGiB": {
+ "description": "Total storage capacity (GiB) which can used by the registry.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "allowPush": {
+ "description": "Flag denotes if pushes are blocked for all registries.",
+ "type": "boolean"
+ },
+ "registriesConsumptionInGiB": {
+ "description": "Total storage capacity (GiB) consumed by the registry.",
+ "type": "number",
+ "format": "float"
+ }
+ }
+ },
+ "ContainerRegistryCapacityList": {
+ "description": "List of capacity property.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of capacity property.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerRegistryCapacity"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "CapacityNameParameter": {
+ "description": "The name of the capacity parameter.",
+ "name": "capacityName",
+ "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/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/configuration.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/configuration.json
new file mode 100644
index 000000000000..e652eb31a23d
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/configuration.json
@@ -0,0 +1,264 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-11-01-preview",
+ "title": "ContainerRegistryManagementClient",
+ "description": "Admin Container Registry Management Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry.Admin/locations/{location}/configurations/{configurationName}": {
+ "put": {
+ "x-ms-examples": {
+ "Returns container registry overall configuration properties.": {
+ "$ref": "./examples/Configuration/PutConfiguration.json"
+ }
+ },
+ "tags": [
+ "ContainerRegistryConfiguration"
+ ],
+ "description": "Configure container registry overall configuration properties.",
+ "operationId": "ContainerRegistryConfiguration_Put",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Container registry overall configuration properties is being returned.",
+ "schema": {
+ "$ref": "#/definitions/ContainerRegistryConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete an existing container registry quota.": {
+ "$ref": "./examples/Configuration/DeleteConfiguration.json"
+ }
+ },
+ "tags": [
+ "ContainerRegistryConfiguration"
+ ],
+ "description": "Delete an existing container registry configuration",
+ "operationId": "ContainerRegistryConfiguration_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The container registry configuration has been deleted."
+ },
+ "204": {
+ "description": "NotFound -- The container registry configuration not found."
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "x-ms-examples": {
+ "Returns the specified configuration.": {
+ "$ref": "./examples/Configuration/GetConfiguration.json"
+ }
+ },
+ "tags": [
+ "ContainerRegistryConfiguration"
+ ],
+ "description": "Returns the specified configuration details.",
+ "operationId": "ContainerRegistryConfiguration_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The configuration has been returned.",
+ "schema": {
+ "$ref": "#/definitions/ContainerRegistryConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry.Admin/locations/{location}/configurations": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a list of configuration at the given location.": {
+ "$ref": "./examples/Configuration/ListConfiguration.json"
+ }
+ },
+ "tags": [
+ "ContainerRegistryConfiguration"
+ ],
+ "description": "Returns a list of configuration at the given location.",
+ "operationId": "ContainerRegistryConfiguration_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The list of configuration has been returned.",
+ "schema": {
+ "$ref": "#/definitions/ContainerRegistryConfigurationList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ContainerRegistryConfiguration": {
+ "description": "Container registry configuration property.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Container registry configuration property.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ContainerRegistryConfigurationProperty"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ContainerRegistryConfigurationProperty": {
+ "description": "Container registry configuration property.",
+ "type": "object",
+ "properties": {
+ "maximumCapacityInGiB": {
+ "description": "Total storage capacity (GiB) which can used by the registry.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "ContainerRegistryConfigurationList": {
+ "description": "List of configuration.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of configuration.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerRegistryConfiguration"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ConfigurationNameParameter": {
+ "description": "The name of the configuration.",
+ "name": "configurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ConfigurationParameter": {
+ "description": "The properties of configuration being created or updated.",
+ "name": "configurationObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ContainerRegistryConfiguration"
+ },
+ "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/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/DeleteConfiguration.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/DeleteConfiguration.json
new file mode 100644
index 000000000000..4546df16a13a
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/DeleteConfiguration.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "configurationName": "Default",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/GetCapacity.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/GetCapacity.json
new file mode 100644
index 000000000000..ab8e07e38fcb
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/GetCapacity.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01-preview",
+ "location": "local",
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "capacityName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/providers/Microsoft.ContainerRegistry.Admin/locations/local/capacities/Default",
+ "name": "local/Default",
+ "type": "Microsoft.ContainerRegistry.Admin/locations/capacities",
+ "properties": {
+ "maximumCapacityInGiB": 100,
+ "registriesConsumptionInGiB": 50.12,
+ "allowPush": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/GetConfiguration.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/GetConfiguration.json
new file mode 100644
index 000000000000..4c4d4f60bc54
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/GetConfiguration.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01-preview",
+ "location": "local",
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "configurationName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/providers/Microsoft.ContainerRegistry.Admin/locations/local/configurations/Default",
+ "name": "local/Default",
+ "type": "Microsoft.ContainerRegistry.Admin/locations/configurations",
+ "properties": {
+ "maximumCapacityInGiB": 100
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/ListCapacity.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/ListCapacity.json
new file mode 100644
index 000000000000..a9002248457d
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/ListCapacity.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/providers/Microsoft.ContainerRegistry.Admin/locations/local/capacities/Default",
+ "name": "local/Default",
+ "type": "Microsoft.ContainerRegistry.Admin/locations/capacities",
+ "properties": {
+ "maximumCapacityInGiB": 100,
+ "registriesConsumptionInGiB": 50.12,
+ "allowPush": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/ListConfiguration.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/ListConfiguration.json
new file mode 100644
index 000000000000..b39b129eac7d
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/ListConfiguration.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/providers/Microsoft.ContainerRegistry.Admin/locations/local/configurations/Default",
+ "name": "local/Default",
+ "type": "Microsoft.ContainerRegistry.Admin/locations/configurations",
+ "properties": {
+ "maximumCapacityInGiB": 100
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/PutConfiguration.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/PutConfiguration.json
new file mode 100644
index 000000000000..4edd55e0794b
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Configuration/PutConfiguration.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01-preview",
+ "location": "local",
+ "configurationName": "Default",
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "configurationObject": {
+ "properties": {
+ "maximumCapacityInGiB": 10
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/providers/Microsoft.ContainerRegistry.Admin/locations/local/configurations/Default",
+ "name": "local/Default",
+ "type": "Microsoft.ContainerRegistry.Admin/locations/configurations",
+ "properties": {
+ "maximumCapacityInGiB": 10
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Operations/List.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Operations/List.json
new file mode 100644
index 000000000000..aca2b8331077
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Operations/List.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ContainerRegistry.Admin/locations/quotas/read",
+ "display": {
+ "provider": "Microsoft.ContainerRegistry.Admin",
+ "resource": "Quotas",
+ "operation": "List/Get Registry Quota(s)",
+ "description": "Gets a list of all Registry quota resources in the specified location."
+ }
+ },
+ {
+ "name": "Microsoft.ContainerRegistry.Admin/locations/quotas/write",
+ "display": {
+ "provider": "Microsoft.ContainerRegistry.Admin",
+ "resource": "Quotas",
+ "operation": "Create/Update Registry Quota",
+ "description": "Creates a Registry quota resource or modifies the quota values in the specified location."
+ }
+ },
+ {
+ "name": "Microsoft.ContainerRegistry.Admin/locations/quotas/delete",
+ "display": {
+ "provider": "Microsoft.ContainerRegistry.Admin",
+ "resource": "Quotas",
+ "operation": "Delete Registry Quota",
+ "description": "Deletes the given Registry quota resource from the specified location."
+ }
+ },
+ {
+ "name": "Microsoft.ContainerRegistry.Admin/operations/read",
+ "display": {
+ "provider": "Microsoft.ContainerRegistry.Admin",
+ "resource": "Operations",
+ "operation": "List Available Operations",
+ "description": "Lists operations available on registry resource provider"
+ }
+ },
+ {
+ "name": "Microsoft.ContainerRegistry.Admin/locations/capacity/read",
+ "display": {
+ "provider": "Microsoft.ContainerRegistry.Admin",
+ "resource": "Registry Capacity Action",
+ "operation": "Get Registry Capacity Setting",
+ "description": "Returns registry capacity property."
+ }
+ },
+ {
+ "name": "Microsoft.ContainerRegistry.Admin/locations/configuration/read",
+ "display": {
+ "provider": "Microsoft.ContainerRegistry.Admin",
+ "resource": "Registry configuration",
+ "operation": "Get Registry stamp configuration action",
+ "description": "Returns properties for registry stamp configuration."
+ }
+ },
+ {
+ "name": "Microsoft.ContainerRegistry.Admin/locations/configuration/write",
+ "display": {
+ "provider": "Microsoft.ContainerRegistry.Admin",
+ "resource": "Registry configuration",
+ "operation": "Update registry stamp configuration action",
+ "description": "Update registry stamp configuration."
+ }
+ },
+ {
+ "name": "Microsoft.ContainerRegistry.Admin/locations/registries/read",
+ "display": {
+ "provider": "Microsoft.ContainerRegistry.Admin",
+ "resource": "Registries",
+ "operation": "List Registries",
+ "description": "Returns properties for the registries."
+ }
+ },
+ {
+ "name": "Microsoft.ContainerRegistry.Admin/startSetup/action",
+ "display": {
+ "provider": "Microsoft.ContainerRegistry.Setup",
+ "resource": "Start setup",
+ "operation": "Start container registry certificate upload and service deployment",
+ "description": "Update registry stamp configuration."
+ }
+ },
+ {
+ "name": "Microsoft.ContainerRegistry.Admin/setupStatus/read",
+ "display": {
+ "provider": "Microsoft.ContainerRegistry.Setup",
+ "resource": "Setup status",
+ "operation": "Get status of container registry certificate upload and service deployment",
+ "description": "Get status of container registry certificate upload and service deployment."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Quotas/CreateOrUpdate.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Quotas/CreateOrUpdate.json
new file mode 100644
index 000000000000..2937812393aa
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Quotas/CreateOrUpdate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "quotaName": "TestCreateQuota",
+ "api-version": "2019-11-01-preview",
+ "quotaObject": {
+ "properties": {
+ "numberOfRegistries": 10,
+ "capacityPerRegistryInGiB": 50
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/providers/Microsoft.ContainerRegistry.Admin/locations/local/quotas/TestCreateQuota",
+ "name": "local/TestCreateQuota",
+ "type": "Microsoft.ContainerRegistry.Admin/locations/quotas",
+ "properties": {
+ "numberOfRegistries": 10,
+ "capacityPerRegistryInGiB": 50
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Quotas/Delete.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Quotas/Delete.json
new file mode 100644
index 000000000000..ee8823b69a78
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Quotas/Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "quotaName": "TestCreateQuota",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Quotas/Get.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Quotas/Get.json
new file mode 100644
index 000000000000..d0dd163b576a
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Quotas/Get.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "quotaName": "TestCreateQuota",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/providers/Microsoft.ContainerRegistry.Admin/locations/local/quotas/TestCreateQuota",
+ "name": "local/TestCreateQuota",
+ "type": "Microsoft.ContainerRegistry.Admin/locations/quotas",
+ "properties": {
+ "numberOfRegistries": 10,
+ "capacityPerRegistryInGiB": 50
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Quotas/List.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Quotas/List.json
new file mode 100644
index 000000000000..695010a07054
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Quotas/List.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/providers/Microsoft.ContainerRegistry.Admin/locations/local/quotas/TestCreateQuota",
+ "name": "local/TestCreateQuota",
+ "type": "Microsoft.ContainerRegistry.Admin/locations/quotas",
+ "properties": {
+ "numberOfRegistries": 10,
+ "capacityPerRegistryInGiB": 50
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Setup/Get.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Setup/Get.json
new file mode 100644
index 000000000000..2a02836a8746
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Setup/Get.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "api-version": "2019-11-01-preview",
+ "location": "local"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/providers/Microsoft.ContainerRegistry.Setup/locations/local/setup",
+ "name": "value",
+ "type": "Microsoft.ContainerRegistry.Setup/locations/global/setup",
+ "properties": {
+ "status": "SetupCompleted"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Setup/Start.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Setup/Start.json
new file mode 100644
index 000000000000..b5cf9ed01d3a
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/Setup/Start.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-11-01-preview",
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "configurationName": "Default",
+ "startSetupRequest": {
+ "password": "password",
+ "sslCertBase64": "sslCertBase64"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/providers/Microsoft.ContainerRegistry.Setup/locations/global/setup",
+ "name": "value",
+ "type": "Microsoft.ContainerRegistry.Setup/locations/global/setup",
+ "properties": {
+ "statusUri": "https://adminmanagement.redmond.ext-v.masd.stbtest.microsoft.com/subscriptions/731e84f5-d31e-4c6a-aa1d-546d6bfb2789/providers/Microsoft.ContainerRegistry.Setup/locations/local/setup?api-version=2019-11-01-preview"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/registries/List.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/registries/List.json
new file mode 100644
index 000000000000..8ec1fcb9c198
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/examples/registries/List.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "9ad61516-995c-4873-a21f-7e44904f0ed2",
+ "location": "local",
+ "api-version": "2019-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/9ad61516-995c-4873-a21f-7e44904f0ed2/providers/Microsoft.ContainerRegistry.Admin/locations/local/registries/testregistry",
+ "name": "local/testregistry",
+ "type": "Microsoft.ContainerRegistry.Admin/locations/registries",
+ "properties": {
+ "registryId": "/subscriptions/9a20956c-05fe-4c72-aa29-b2a1e5b802a7/resourceGroups/localResource/providers/Microsoft.ContainerRegistry/registries/testregistry",
+ "name": "testregistry",
+ "location": "local",
+ "creationDate": "2021-04-09T17:02:09.9839001Z",
+ "subscriptionId": "9a20956c-05fe-4c72-aa29-b2a1e5b802a7",
+ "resourceGroup": "localResource",
+ "registrySizeInBytes": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/operations.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/operations.json
new file mode 100644
index 000000000000..ab1608cc86c7
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/operations.json
@@ -0,0 +1,132 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-11-01-preview",
+ "title": "ContainerRegistryManagementClient",
+ "description": "Admin Container Registry Management Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.ContainerRegistry.Admin/operations": {
+ "get": {
+ "x-ms-examples": {
+ "Get the list of support rest operations.": {
+ "$ref": "./examples/Operations/List.json"
+ }
+ },
+ "description": "Get the list of supported admin container registry rest operations.",
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The list of operations has been returned.",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Operation": {
+ "description": "Describes the supported REST operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the operation being performed on this particular object. It should match the action name that appears in RBAC / the event service.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "description": "Contains the localized display information for this particular operation / action.",
+ "$ref": "#/definitions/Display",
+ "readOnly": true
+ }
+ }
+ },
+ "Display": {
+ "description": "Contains the localized display information for this particular operation / action.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The localized friendly form of the resource provider name – it is expected to also include the publisher/company responsible. It should use Title Casing and begin with \"Microsoft\" for 1st party services. e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\"",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The localized friendly form of the resource type related to this action/operation – it should match the public documentation for the resource provider.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "The localized friendly name for the operation, as it should be shown to the user.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The localized friendly description for the operation, as it should be shown to the user. It should be thorough, yet concise – it will be used in tool tips and detailed views.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationList": {
+ "description": "Pageable list of supported operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of operations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ }
+ }
+ }
+ },
+ "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/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/quotas.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/quotas.json
new file mode 100644
index 000000000000..e517e6930272
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/quotas.json
@@ -0,0 +1,271 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-11-01-preview",
+ "title": "ContainerRegistryManagementClient",
+ "description": "Admin Container Registry Management Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry.Admin/locations/{location}/quotas/{quotaName}": {
+ "put": {
+ "x-ms-examples": {
+ "Create or update an existing container registry quota.": {
+ "$ref": "./examples/Quotas/CreateOrUpdate.json"
+ }
+ },
+ "tags": [
+ "ContainerRegistryQuotas"
+ ],
+ "description": "Create or update an existing container registry quota.",
+ "operationId": "Quota_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/QuotaNameParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerRegistryQuotaParameters"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The container registry quota has been created or updated.",
+ "schema": {
+ "$ref": "#/definitions/ContainerRegistryQuota"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete an existing container registry quota.": {
+ "$ref": "./examples/Quotas/Delete.json"
+ }
+ },
+ "tags": [
+ "ContainerRegistryQuotas"
+ ],
+ "description": "Delete an existing container registry quota",
+ "operationId": "Quotas_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/QuotaNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The container registry quota has been deleted."
+ },
+ "204": {
+ "description": "NotFound -- The container registry quota not found."
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "x-ms-examples": {
+ "Returns the specified container registry quota.": {
+ "$ref": "./examples/Quotas/Get.json"
+ }
+ },
+ "tags": [
+ "ContainerRegistryQuotas"
+ ],
+ "description": "Returns the specified container registry quota.",
+ "operationId": "Quotas_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/QuotaNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The container registry quota has been returned.",
+ "schema": {
+ "$ref": "#/definitions/ContainerRegistryQuota"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry.Admin/locations/{location}/quotas": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a list of container registry quotas at the given location.": {
+ "$ref": "./examples/Quotas/List.json"
+ }
+ },
+ "tags": [
+ "ContainerRegistryQuotas"
+ ],
+ "description": "Returns a list of container registry quotas at the given location.",
+ "operationId": "Quotas_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The list of container registry quotas has been returned.",
+ "schema": {
+ "$ref": "#/definitions/ContainerRegistryQuotaList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ContainerRegistryQuota": {
+ "description": "Container registry quota.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Container registry quota properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ContainerRegistryQuotaProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ContainerRegistryQuotaProperties": {
+ "description": "Container registry quota properties.",
+ "type": "object",
+ "properties": {
+ "numberOfRegistries": {
+ "description": "Total number of container registry accounts.",
+ "type": "integer",
+ "format": "int32",
+ "default": 20
+ },
+ "capacityPerRegistryInGiB": {
+ "description": "Storage capacity (GiB) of each registry.",
+ "type": "integer",
+ "format": "int32",
+ "default": 100
+ }
+ }
+ },
+ "ContainerRegistryQuotaList": {
+ "description": "List of container registry quotas.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of container registry quotas.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerRegistryQuota"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "QuotaNameParameter": {
+ "description": "The name of the container registry quota.",
+ "name": "quotaName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ContainerRegistryQuotaParameters": {
+ "description": "The properties of quota being created or updated.",
+ "name": "quotaObject",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ContainerRegistryQuota"
+ },
+ "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/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/registries.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/registries.json
new file mode 100644
index 000000000000..6699e2df73ef
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/registries.json
@@ -0,0 +1,156 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-11-01-preview",
+ "title": "ContainerRegistryManagementClient",
+ "description": "Admin Container Registry Management Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry.Admin/locations/{location}/registries": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a list of container registries at the given location.": {
+ "$ref": "./examples/registries/List.json"
+ }
+ },
+ "tags": [
+ "ContainerRegistries"
+ ],
+ "description": "Returns a list of container registries present in all tenant location.",
+ "operationId": "ContainerRegistryRegistries_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The list of container registries has been returned.",
+ "schema": {
+ "$ref": "#/definitions/ContainerRegistriesList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ContainerRegistry": {
+ "description": "Container registry properties.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Container registry properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ContainerRegistryProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ContainerRegistryProperties": {
+ "description": "Container registry properties.",
+ "type": "object",
+ "properties": {
+ "registryId": {
+ "description": "Container registry id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Container registry name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Container registry location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subscriptionId": {
+ "description": "SubscriptionId where container registry is present.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceGroup": {
+ "description": "ResourceGroup where container registry is present.",
+ "type": "string",
+ "readOnly": true
+ },
+ "creationDate": {
+ "format": "date-time",
+ "description": "The time at which the registry created.",
+ "type": "string"
+ },
+ "registrySizeInBytes": {
+ "description": "Total storage capacity (GiB) used by the registry.",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "ContainerRegistriesList": {
+ "description": "List of container registries.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "URI to the next page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "List of container registries.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerRegistry"
+ }
+ }
+ }
+ }
+ },
+ "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/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/setup.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/setup.json
new file mode 100644
index 000000000000..d93cafeb7155
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/setup.json
@@ -0,0 +1,215 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-11-01-preview",
+ "title": "ContainerRegistryManagementClient",
+ "description": "Admin Container Registry Management Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry.Setup/locations/{location}/setup": {
+ "post": {
+ "x-ms-examples": {
+ "Invokes container registry certificate uploading and ACR service deployment.": {
+ "$ref": "./examples/Setup/Start.json"
+ }
+ },
+ "tags": [
+ "ContainerRegistrySetupStart"
+ ],
+ "description": "Invokes container registry certificate uploading and service deployment.",
+ "operationId": "ContainerRegistry_StartSetup",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/StartSetupParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created -- Container registry certificate was uploaded successfully and deployment started.",
+ "schema": {
+ "$ref": "#/definitions/ContainerRegistrySetup"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "x-ms-examples": {
+ "Returns the status of the container registry setup.": {
+ "$ref": "./examples/Setup/Get.json"
+ }
+ },
+ "tags": [
+ "ContainerRegistrySetupStatus"
+ ],
+ "description": "Returns the status of the container registry setup.",
+ "operationId": "ContainerRegistry_GetSetupStatus",
+ "parameters": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- The status of the container registry setup has been returned.",
+ "schema": {
+ "$ref": "#/definitions/SetupResult"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ContainerRegistrySetupProperty": {
+ "description": "Container registry setup properties.",
+ "type": "object",
+ "properties": {
+ "password": {
+ "description": "Ssl certificate password.",
+ "type": "string",
+ "format": "password"
+ },
+ "sslCertBase64": {
+ "description": "Ssl certificate in base64 format.",
+ "type": "string",
+ "format": "byte"
+ }
+ }
+ },
+ "ContainerRegistrySetup": {
+ "description": "Container registry start setup return.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Container registry start setup return properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SetupProperty"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "SetupProperty": {
+ "description": "Container registry start setup return property.",
+ "type": "object",
+ "properties": {
+ "statusUri": {
+ "description": "The uri to poll status of the container registry setup.",
+ "type": "string"
+ }
+ }
+ },
+ "SetupResult": {
+ "description": "Container registry setup result.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Container registry setup result properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SetupResultProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "SetupResultProperties": {
+ "description": "Container registry setup result properties.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The status of the container registry setup.",
+ "$ref": "#/definitions/SetupStatus",
+ "readOnly": true
+ }
+ }
+ },
+ "SetupStatus": {
+ "description": "The status of the container registry setup.",
+ "type": "string",
+ "enum": [
+ "ReadyToSetup",
+ "Running",
+ "Failed",
+ "Cancelled",
+ "Completed"
+ ],
+ "x-ms-enum": {
+ "name": "SetupStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "parameters": {
+ "StartSetupParameter": {
+ "name": "startSetupRequest",
+ "in": "body",
+ "description": "The object containing information for the configuration request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ContainerRegistrySetupProperty"
+ },
+ "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/containerregistry/readme.azsautogen.md b/specification/azsadmin/resource-manager/containerregistry/readme.azsautogen.md
new file mode 100644
index 000000000000..a97a374fe88f
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/readme.azsautogen.md
@@ -0,0 +1,56 @@
+# ContainerRegistry Admin
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for ContainerRegistry Admin.
+
+---
+## Getting Started
+To build the SDK for ContainerRegistry 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 ContainerRegistry API.
+
+``` yaml
+title: ContainerRegistryAdminClient
+description: ContainerRegistry Admin Client
+openapi-type: arm
+tag: package-2019-11-01
+```
+
+``` yaml
+input-file:
+ - $(this-folder)/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/capacity.json
+ - $(this-folder)/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/configuration.json
+ - $(this-folder)/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/operations.json
+ - $(this-folder)/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/quotas.json
+ - $(this-folder)/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/registries.json
+ - $(this-folder)/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/setup.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.ContainerRegistry.Admin
+ payload-flattening-threshold: 1
+ output-folder: $(csharp-sdks-folder)/Generated
+ clear-output-folder: true
+```
diff --git a/specification/azsadmin/resource-manager/containerregistry/readme.md b/specification/azsadmin/resource-manager/containerregistry/readme.md
new file mode 100644
index 000000000000..8b50a3246886
--- /dev/null
+++ b/specification/azsadmin/resource-manager/containerregistry/readme.md
@@ -0,0 +1,89 @@
+# ContainerRegistry Admin
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for ContainerRegistry Admin.
+
+---
+## Getting Started
+To build the SDK for ContainerRegistry 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 ContainerRegistry API.
+
+``` yaml
+title: ContainerRegistryAdminClient
+description: ContainerRegistry Admin Client
+openapi-type: arm
+tag: package-2019-11-01
+```
+
+### Tag: package-2019-11-01
+
+These settings apply only when `--tag=package-2019-11-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-11-01-preview'
+input-file:
+ - "Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/capacity.json"
+ - "Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/configuration.json"
+ - "Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/operations.json"
+ - "Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/quotas.json"
+ - "Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/registries.json"
+ - "Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/setup.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.ContainerRegistry.Admin
+ payload-flattening-threshold: 1
+ output-folder: $(csharp-sdks-folder)/Generated
+ clear-output-folder: true
+```
+
+## Multi-API/Profile support for AutoRest v3 generators
+
+AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+
+This block is updated by an automatic script. Edits may be lost!
+
+``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+# include the azure profile definitions from the standard location
+require: $(this-folder)/../../../../profiles/readme.md
+
+# all the input files across all versions
+input-file:
+ - $(this-folder)/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/capacity.json
+ - $(this-folder)/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/configuration.json
+ - $(this-folder)/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/operations.json
+ - $(this-folder)/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/quotas.json
+ - $(this-folder)/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/registries.json
+ - $(this-folder)/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/setup.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/azure-kusto/resource-manager/readme.md b/specification/azure-kusto/resource-manager/readme.md
index 3df94ea80244..c7b5b9f16c66 100644
--- a/specification/azure-kusto/resource-manager/readme.md
+++ b/specification/azure-kusto/resource-manager/readme.md
@@ -187,7 +187,6 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-powershell
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-go
@@ -214,6 +213,10 @@ csharp:
See configuration in [readme.java.md](./readme.java.md)
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
## Suppression
diff --git a/specification/azure-kusto/resource-manager/readme.python.md b/specification/azure-kusto/resource-manager/readme.python.md
index c3949f58096c..3ca07178e0ff 100644
--- a/specification/azure-kusto/resource-manager/readme.python.md
+++ b/specification/azure-kusto/resource-manager/readme.python.md
@@ -4,36 +4,15 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python) && !$(track2)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.kusto
- package-name: azure-mgmt-kusto
- package-version: 0.1.0
- clear-output-folder: true
-```
``` yaml $(python) && $(track2)
python-mode: create
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
namespace: azure.mgmt.kusto
package-name: azure-mgmt-kusto
-package-version: 0.1.0
+package-version: 1.0.0b1
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/kusto/azure-mgmt-kusto/azure/mgmt/kusto
-```
-``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/kusto/azure-mgmt-kusto
-```
``` yaml $(python) && $(python-mode) == 'update' && $(track2)
no-namespace-folders: true
output-folder: $(python-sdks-folder)/kusto/azure-mgmt-kusto/azure/mgmt/kusto
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/azurearcdata.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/azurearcdata.json
new file mode 100644
index 000000000000..3980d7531adc
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/azurearcdata.json
@@ -0,0 +1,2223 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-06-01-preview",
+ "title": "AzureArcDataManagementClient",
+ "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.AzureArcData/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available Azure Data Services on Azure Arc API operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Lists all of the available Azure Data Services on Azure Arc API operations.": {
+ "$ref": "./examples/ListOperation.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlManagedInstances": {
+ "get": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_List",
+ "summary": "List sqlManagedInstance resources in the subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlManagedInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 404 ResourceNotFound - The requested resource was not found.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all SQL Instance in a subscription.": {
+ "$ref": "./examples/ListSubscriptionSqlManagedInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances": {
+ "get": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_ListByResourceGroup",
+ "description": "Gets all sqlManagedInstances in a resource group.",
+ "summary": "List sqlManagedInstance resources in the resource group",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlManagedInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all SQL Instance in a resource group.": {
+ "$ref": "./examples/ListByResourceGroupSqlManagedInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}": {
+ "get": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_Get",
+ "description": "Retrieves a SQL Managed Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlManagedInstanceName",
+ "description": "Name of SQL Managed Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlManagedInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a SQL Instance tags.": {
+ "$ref": "./examples/GetSqlManagedInstance.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_Create",
+ "description": "Creates or replaces a SQL Managed Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlManagedInstanceName",
+ "description": "The name of SQL Managed Instances",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "sqlManagedInstance",
+ "in": "body",
+ "description": "The SQL Managed Instance to be created or updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlManagedInstance"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlManagedInstance"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SqlManagedInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a SQL Managed Instance": {
+ "$ref": "./examples/CreateOrUpdateSqlManagedInstance.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_Delete",
+ "description": "Deletes a SQL Managed Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlManagedInstanceName",
+ "description": "The name of Sql Managed Instances",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the SQL Managed Instance."
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "204": {
+ "description": "The specified SQL Managed Instance does not exist."
+ }
+ },
+ "x-ms-examples": {
+ "Delete a SQL Instance.": {
+ "$ref": "./examples/DeleteSqlManagedInstance.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_Update",
+ "description": "Updates a SQL Managed Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlManagedInstanceName",
+ "description": "Name of sqlManagedInstance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The SQL Managed Instance.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlManagedInstanceUpdate"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlManagedInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a sql Instance tags.": {
+ "$ref": "./examples/UpdateSqlManagedInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerInstances": {
+ "get": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_List",
+ "summary": "List sqlServerInstance resources in the subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 404 ResourceNotFound - The requested resource was not found.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all SQL Server Instance in a subscription.": {
+ "$ref": "./examples/ListSubscriptionSqlServerInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances": {
+ "get": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_ListByResourceGroup",
+ "description": "Gets all sqlServerInstances in a resource group.",
+ "summary": "List sqlServerInstance resources in the resource group",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all SQL Server Instance in a resource group.": {
+ "$ref": "./examples/ListByResourceGroupSqlServerInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}": {
+ "get": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_Get",
+ "description": "Retrieves a SQL Server Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlServerInstanceName",
+ "description": "Name of SQL Server Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a SQL Server Instance tags.": {
+ "$ref": "./examples/GetSqlServerInstance.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_Create",
+ "description": "Creates or replaces a SQL Server Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlServerInstanceName",
+ "description": "The name of SQL Server Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "sqlServerInstance",
+ "in": "body",
+ "description": "The SQL Server Instance to be created or updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstance"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstance"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a SQL Server Instance tags.": {
+ "$ref": "./examples/CreateOrUpdateSqlServerInstance.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_Delete",
+ "description": "Deletes a SQL Server Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlServerInstanceName",
+ "description": "The name of SQL Server Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the SQL Server Instance."
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "204": {
+ "description": "The specified SQL Server Instance does not exist."
+ }
+ },
+ "x-ms-examples": {
+ "Delete a SQL Server Instance.": {
+ "$ref": "./examples/DeleteSqlServerInstance.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_Update",
+ "description": "Updates a SQL Server Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlServerInstanceName",
+ "description": "Name of sqlServerInstance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The SQL Server Instance.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstanceUpdate"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a SQL Server Instance tags.": {
+ "$ref": "./examples/UpdateSqlServerInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/postgresInstances": {
+ "get": {
+ "tags": [
+ "PostgresInstances"
+ ],
+ "operationId": "PostgresInstances_List",
+ "summary": "List postgres Instance resources in the subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PostgresInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all Postgres Instance in a subscription.": {
+ "$ref": "./examples/ListSubscriptionPostgresInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances": {
+ "get": {
+ "tags": [
+ "PostgresInstances"
+ ],
+ "operationId": "PostgresInstances_ListByResourceGroup",
+ "description": "Get a postgres Instances list by Resource group name.",
+ "summary": "List postgres Instance resources in the resource group",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PostgresInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all postgres Instances in a resource group.": {
+ "$ref": "./examples/ListByResourceGroupPostgresInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}": {
+ "get": {
+ "tags": [
+ "PostgresInstances"
+ ],
+ "operationId": "PostgresInstances_Get",
+ "description": "Retrieves a postgres Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "postgresInstanceName",
+ "description": "Name of Postgres Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PostgresInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a postgres Instances.": {
+ "$ref": "./examples/GetPostgresInstance.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PostgresInstances"
+ ],
+ "operationId": "PostgresInstances_Create",
+ "description": "Creates or replaces a postgres Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "postgresInstanceName",
+ "description": "Name of PostgresInstance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ },
+ {
+ "name": "resource",
+ "description": "The postgres instance",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/PostgresInstance"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PostgresInstance"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/PostgresInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a Postgres Instance.": {
+ "$ref": "./examples/CreateOrUpdatePostgresInstance.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "tags": [
+ "PostgresInstances"
+ ],
+ "operationId": "PostgresInstances_Delete",
+ "description": "Deletes a postgres Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "postgresInstanceName",
+ "description": "Name of Postgres Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the Postgres Instance."
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "204": {
+ "description": "The specified Postgres Instance does not exist."
+ }
+ },
+ "x-ms-examples": {
+ "Deletes a PostgresInstances.": {
+ "$ref": "./examples/DeletePostgresInstance.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "PostgresInstances"
+ ],
+ "operationId": "PostgresInstances_Update",
+ "description": "Updates a postgres Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "postgresInstanceName",
+ "description": "Name of Postgres Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The Postgres Instance.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PostgresInstanceUpdate"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PostgresInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a postgres Instances tags.": {
+ "$ref": "./examples/UpdatePostgresInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/dataControllers": {
+ "get": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_ListInSubscription",
+ "summary": "List dataController resources in the subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PageOfDataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all dataControllers in a subscription.": {
+ "$ref": "./examples/ListSubscriptionDataController.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers": {
+ "get": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_ListInGroup",
+ "summary": "List dataController resources in the resource group",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PageOfDataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all dataControllers in a resource group.": {
+ "$ref": "./examples/ListByResourceGroupDataController.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}": {
+ "put": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_PutDataController",
+ "description": "Creates or replaces a dataController resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "dataControllerResource",
+ "description": "desc",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/DataControllerResource"
+ }
+ },
+ {
+ "name": "dataControllerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DataControllerResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/DataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a Data Controller.": {
+ "$ref": "./examples/CreateOrUpdateDataController.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_DeleteDataController",
+ "description": "Deletes a dataController resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "dataControllerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the DataController."
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "204": {
+ "description": "The specified DataController does not exist."
+ }
+ },
+ "x-ms-examples": {
+ "Delete a dataController.": {
+ "$ref": "./examples/DeleteDataController.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_GetDataController",
+ "description": "Retrieves a dataController resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "dataControllerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a data controller.": {
+ "$ref": "./examples/GetDataController.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_PatchDataController",
+ "description": "Updates a dataController resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "dataControllerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ },
+ {
+ "name": "dataControllerResource",
+ "description": "The update data controller resource",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/DataControllerUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a dataController tags.": {
+ "$ref": "./examples/UpdateDataController.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CommonSku": {
+ "description": "The resource model definition representing SKU for ARM resources",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the SKU. It is typically a letter+number code"
+ },
+ "dev": {
+ "type": "boolean",
+ "default": true,
+ "description": "Whether dev/test is enabled. When the dev field is set to true, the resource is used for dev/test purpose. "
+ },
+ "size": {
+ "type": "string",
+ "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. "
+ },
+ "family": {
+ "type": "string",
+ "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here."
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "SqlManagedInstanceSku": {
+ "description": "The resource model definition representing SKU for Azure Managed Instance - Azure Arc",
+ "type": "object",
+ "properties": {
+ "tier": {
+ "type": "string",
+ "enum": [
+ "GeneralPurpose",
+ "BusinessCritical"
+ ],
+ "x-ms-enum": {
+ "name": "SqlManagedInstanceSkuTier",
+ "modelAsString": false
+ },
+ "default": "GeneralPurpose",
+ "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/CommonSku"
+ }
+ ]
+ },
+ "PostgresInstanceSku": {
+ "description": "The resource model definition representing SKU for Azure Database for PostgresSQL - Azure Arc",
+ "type": "object",
+ "properties": {
+ "tier": {
+ "type": "string",
+ "enum": [
+ "Hyperscale"
+ ],
+ "x-ms-enum": {
+ "name": "PostgresInstanceSkuTier",
+ "modelAsString": false
+ },
+ "default": "Hyperscale",
+ "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/CommonSku"
+ }
+ ]
+ },
+ "Identity": {
+ "description": "Identity for the resource.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The identity type.",
+ "enum": [
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "Plan": {
+ "type": "object",
+ "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"
+ ]
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list Azure Data Services on Azure Arc operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Operation": {
+ "description": "Azure Data Services on Azure Arc operation definition.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the operation being performed on this particular object.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "The localized display information for this particular operation / action."
+ },
+ "origin": {
+ "description": "The intended executor of the operation.",
+ "enum": [
+ "user",
+ "system"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "OperationOrigin",
+ "modelAsString": true
+ }
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "properties": {
+ "description": "Additional descriptions for the operation.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "readOnly": true,
+ "x-ms-client-flatten": false
+ }
+ },
+ "required": [
+ "name",
+ "display",
+ "isDataAction"
+ ]
+ },
+ "OperationDisplay": {
+ "description": "Display metadata associated with the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The localized friendly form of the resource provider name.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The localized friendly form of the resource type related to this action/operation.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The localized friendly name for the operation.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The localized friendly description for the operation.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "provider",
+ "resource",
+ "operation",
+ "description"
+ ]
+ },
+ "Resource": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "TrackedResource": {
+ "type": "object",
+ "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"
+ },
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ProxyResource": {
+ "type": "object",
+ "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "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": {
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extendedLocation of the resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/DataControllerProperties",
+ "description": "The data controller's properties",
+ "x-ms-client-flatten": false
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "DataControllerUpdate": {
+ "type": "object",
+ "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",
+ "readOnly": true,
+ "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"
+ },
+ "k8sRaw": {
+ "type": "object",
+ "description": "The raw kubernetes information"
+ },
+ "uploadWatermark": {
+ "$ref": "#/definitions/UploadWatermark"
+ },
+ "lastUploadedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date from Kubernetes cluster. Defaults to current date time"
+ },
+ "basicLoginInformation": {
+ "$ref": "#/definitions/BasicLoginInformation"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "$ref": "#/definitions/LogAnalyticsWorkspaceConfig"
+ },
+ "uploadServicePrincipal": {
+ "$ref": "#/definitions/UploadServicePrincipal"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UploadWatermark": {
+ "description": "Properties on upload watermark. Mostly timestamp for each upload data type",
+ "type": "object",
+ "properties": {
+ "metrics": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date for metrics from kubernetes cluster. Defaults to current date time"
+ },
+ "logs": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date for logs from kubernetes cluster. Defaults to current date time"
+ },
+ "usages": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date for usages from kubernetes cluster. Defaults to current date time"
+ }
+ }
+ },
+ "OnPremiseProperty": {
+ "description": "Properties from the Kubernetes data controller",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "A globally unique ID identifying the associated Kubernetes cluster"
+ },
+ "publicSigningKey": {
+ "type": "string",
+ "description": "Certificate that contains the Kubernetes cluster public key used to verify signing"
+ },
+ "signingCertificateThumbprint": {
+ "type": "string",
+ "description": "Unique thumbprint returned to customer to verify the certificate being uploaded"
+ }
+ },
+ "required": [
+ "id",
+ "publicSigningKey"
+ ]
+ },
+ "PostgresInstanceProperties": {
+ "description": "Postgres Instance properties.",
+ "type": "object",
+ "properties": {
+ "dataControllerId": {
+ "type": "string",
+ "description": "The data controller id"
+ },
+ "admin": {
+ "type": "string",
+ "description": "The instance admin"
+ },
+ "basicLoginInformation": {
+ "$ref": "#/definitions/BasicLoginInformation",
+ "description": "Username and password for basic authentication."
+ },
+ "k8sRaw": {
+ "type": "object",
+ "description": "The raw kubernetes information"
+ },
+ "lastUploadedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date from Kubernetes cluster. Defaults to current date time"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PostgresInstance": {
+ "description": "A Postgres Instance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource",
+ "description": "null"
+ }
+ ],
+ "properties": {
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extendedLocation of the resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/PostgresInstanceProperties",
+ "x-ms-client-flatten": false,
+ "description": "null"
+ },
+ "sku": {
+ "$ref": "#/definitions/PostgresInstanceSku",
+ "description": "Resource sku."
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "PostgresInstanceUpdate": {
+ "description": "An update to a Postgres Instance.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/PostgresInstanceProperties"
+ }
+ }
+ },
+ "PostgresInstanceListResult": {
+ "description": "A list of PostgresInstance.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PostgresInstance"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SqlManagedInstanceProperties": {
+ "description": "Properties of sqlManagedInstance.",
+ "type": "object",
+ "properties": {
+ "dataControllerId": {
+ "type": "string",
+ "description": "null"
+ },
+ "admin": {
+ "type": "string",
+ "description": "The instance admin user"
+ },
+ "startTime": {
+ "type": "string",
+ "description": "The instance start time"
+ },
+ "endTime": {
+ "type": "string",
+ "description": "The instance end time"
+ },
+ "k8sRaw": {
+ "type": "object",
+ "description": "The raw kubernetes information"
+ },
+ "basicLoginInformation": {
+ "$ref": "#/definitions/BasicLoginInformation",
+ "description": "Username and password for basic authentication."
+ },
+ "lastUploadedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date from Kubernetes cluster. Defaults to current date time"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SqlManagedInstance": {
+ "description": "A SqlManagedInstance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlManagedInstanceProperties",
+ "description": "null",
+ "x-ms-client-flatten": false
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extendedLocation of the resource."
+ },
+ "sku": {
+ "$ref": "#/definitions/SqlManagedInstanceSku",
+ "description": "Resource sku."
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlManagedInstanceUpdate": {
+ "description": "An update to a SQL Managed Instance.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SqlManagedInstanceListResult": {
+ "description": "A list of SqlManagedInstance.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlManagedInstance"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SqlServerInstanceProperties": {
+ "description": "Properties of SqlServerInstance.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "type": "string",
+ "description": "SQL Server version."
+ },
+ "edition": {
+ "type": "string",
+ "description": "SQL Server edition."
+ },
+ "containerResourceId": {
+ "type": "string",
+ "description": "ARM Resource id of the container resource (Azure Arc for Servers)."
+ },
+ "createTime": {
+ "type": "string",
+ "description": "The time when the resource was created.",
+ "readOnly": true
+ },
+ "vCore": {
+ "type": "string",
+ "description": "The number of logical processors used by the SQL Server instance."
+ },
+ "status": {
+ "type": "string",
+ "description": "The cloud connectivity status."
+ },
+ "patchLevel": {
+ "type": "string",
+ "description": "SQL Server update level."
+ },
+ "collation": {
+ "type": "string",
+ "description": "SQL Server collation."
+ },
+ "currentVersion": {
+ "type": "string",
+ "description": "SQL Server current version."
+ },
+ "instanceName": {
+ "type": "string",
+ "description": "SQL Server instance name."
+ },
+ "tcpDynamicPorts": {
+ "type": "string",
+ "description": "Dynamic TCP ports used by SQL Server."
+ },
+ "tcpStaticPorts": {
+ "type": "string",
+ "description": "Static TCP ports used by SQL Server."
+ },
+ "productId": {
+ "type": "string",
+ "description": "SQL Server product ID."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "SQL Server license type."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "containerResourceId",
+ "status"
+ ]
+ },
+ "SqlServerInstance": {
+ "description": "A SqlServerInstance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlServerInstanceProperties",
+ "description": "null",
+ "x-ms-client-flatten": false
+ }
+ }
+ },
+ "SqlServerInstanceUpdate": {
+ "description": "An update to a SQL Server Instance.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SqlServerInstanceListResult": {
+ "description": "A list of SqlServerInstance.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlServerInstance"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorResponse": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorResponseBody",
+ "description": "null"
+ }
+ },
+ "description": "An error response from the Azure Data on Azure Arc service."
+ },
+ "ErrorResponseBody": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResponseBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Batch service."
+ },
+ "ODataError": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "A language-independent error name."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the error (for example, the name of the property in error)."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ODataError"
+ },
+ "description": "The error details."
+ }
+ },
+ "type": "object",
+ "description": "Information about an error."
+ },
+ "ExtendedLocation": {
+ "type": "object",
+ "description": "The complex type of the extended location.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extended location."
+ },
+ "type": {
+ "$ref": "#/definitions/ExtendedLocationType",
+ "description": "The type of the extended location."
+ }
+ }
+ },
+ "ExtendedLocationType": {
+ "type": "string",
+ "description": "The type of extendedLocation.",
+ "enum": [
+ "CustomLocation"
+ ],
+ "x-ms-enum": {
+ "name": "ExtendedLocationTypes",
+ "modelAsString": true
+ }
+ },
+ "BasicLoginInformation": {
+ "type": "object",
+ "description": "Username and password for basic login authentication.",
+ "properties": {
+ "username": {
+ "type": "string",
+ "description": "Login username."
+ },
+ "password": {
+ "type": "string",
+ "description": "Login password.",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ }
+ }
+ },
+ "LogAnalyticsWorkspaceConfig": {
+ "type": "object",
+ "description": "Log analytics workspace id and primary key",
+ "properties": {
+ "workspaceId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Azure Log Analytics workspace ID"
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Primary key of the workspace",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ }
+ }
+ },
+ "UploadServicePrincipal": {
+ "type": "object",
+ "description": "Service principal for uploading billing, metrics and logs.",
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Client ID of the service principal for uploading data."
+ },
+ "tenantId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Tenant ID of the service principal."
+ },
+ "authority": {
+ "type": "string",
+ "description": "Authority for the service principal. Example: https://login.microsoftonline.com/"
+ },
+ "clientSecret": {
+ "type": "string",
+ "description": "Secret of the service principal",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Azure subscription",
+ "x-ms-parameter-location": "client"
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Azure resource group",
+ "x-ms-parameter-location": "method"
+ },
+ "location": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Azure region to use for the request",
+ "x-ms-parameter-location": "method"
+ },
+ "apiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for the request",
+ "x-ms-parameter-location": "client"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/CreateOrUpdateDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/CreateOrUpdateDataController.json
new file mode 100644
index 000000000000..0122096d46c4
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/CreateOrUpdateDataController.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController",
+ "api-version": "2021-06-01-preview",
+ "dataControllerResource": {
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey"
+ },
+ "basicLoginInformation": {
+ "username": "username",
+ "password": "********"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444",
+ "primaryKey": "********"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/",
+ "clientSecret": "********"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate being uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ }
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController",
+ "name": "testdataController",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate being uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ }
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController",
+ "name": "testdataController",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/CreateOrUpdatePostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/CreateOrUpdatePostgresInstance.json
new file mode 100644
index 000000000000..5534cbe6fb0b
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/CreateOrUpdatePostgresInstance.json
@@ -0,0 +1,172 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "postgresInstanceName": "testpostgresInstance",
+ "api-version": "2021-06-01-preview",
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "resource": {
+ "location": "eastus",
+ "properties": {
+ "dataControllerId": "dataControllerId",
+ "admin": "admin",
+ "basicLoginInformation": {
+ "username": "username",
+ "password": "********"
+ },
+ "k8sRaw": {
+ "apiVersion": "apiVersion",
+ "kind": "postgresql-12",
+ "metadata": {
+ "creationTimestamp": "2020-08-25T14:55:10Z",
+ "generation": 1,
+ "name": "pg1",
+ "namespace": "test",
+ "resourceVersion": "527780",
+ "selfLink": "/apis/arcdata.microsoft.com/v1alpha1/namespaces/test/postgresql-12s/pg1",
+ "uid": "1111aaaa-ffff-ffff-ffff-99999aaaaaaa"
+ },
+ "spec": {
+ "backups": {
+ "deltaMinutes": 3,
+ "fullMinutes": 10,
+ "tiers": [
+ {
+ "retention": {
+ "maximums": [
+ "6",
+ "512MB"
+ ],
+ "minimums": [
+ "3"
+ ]
+ },
+ "storage": {
+ "volumeSize": "1Gi"
+ }
+ }
+ ]
+ },
+ "engine": {
+ "extensions": [
+ {
+ "name": "citus"
+ }
+ ]
+ },
+ "scale": {
+ "shards": 3
+ },
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "memory": "256Mi"
+ }
+ }
+ }
+ },
+ "service": {
+ "type": "NodePort"
+ },
+ "storage": {
+ "data": {
+ "className": "local-storage",
+ "size": "5Gi"
+ },
+ "logs": {
+ "className": "local-storage",
+ "size": "5Gi"
+ }
+ }
+ },
+ "status": {
+ "externalEndpoint": null,
+ "readyPods": "4/4",
+ "state": "Ready"
+ }
+ }
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "Hyperscale",
+ "dev": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "basicLoginInformation": {
+ "username": "username"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "Hyperscale",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstance/testpostgresInstance",
+ "name": "testpostgresInstance",
+ "type": "Microsoft.AzureArcData/PostgresInstance"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "basicLoginInformation": {
+ "username": "username"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "Hyperscale",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstance/testpostgresInstance",
+ "name": "testsqlregistration",
+ "type": "Microsoft.AzureArcData/PostgresInstance"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/CreateOrUpdateSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/CreateOrUpdateSqlManagedInstance.json
new file mode 100644
index 000000000000..2699ca4130df
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/CreateOrUpdateSqlManagedInstance.json
@@ -0,0 +1,106 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2021-06-01-preview",
+ "sqlManagedInstance": {
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username",
+ "password": "********"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/CreateOrUpdateSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/CreateOrUpdateSqlServerInstance.json
new file mode 100644
index 000000000000..5e0b755e91f6
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/CreateOrUpdateSqlServerInstance.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2021-06-01-preview",
+ "sqlServerInstance": {
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "vCore": "4",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "licenseType": "Free",
+ "status": "Connected"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/DeleteDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/DeleteDataController.json
new file mode 100644
index 000000000000..a56ea92464fc
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/DeleteDataController.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/DeletePostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/DeletePostgresInstance.json
new file mode 100644
index 000000000000..1c6d347e53a9
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/DeletePostgresInstance.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "postgresInstanceName": "testpostgresInstance",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/DeleteSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/DeleteSqlManagedInstance.json
new file mode 100644
index 000000000000..8db20f0534b2
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/DeleteSqlManagedInstance.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/DeleteSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/DeleteSqlServerInstance.json
new file mode 100644
index 000000000000..1baf43410d0f
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/DeleteSqlServerInstance.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/GetDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/GetDataController.json
new file mode 100644
index 000000000000..d8b5e8d0d720
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/GetDataController.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ }
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController",
+ "name": "testdataController",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/GetPostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/GetPostgresInstance.json
new file mode 100644
index 000000000000..48102ebb1d03
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/GetPostgresInstance.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "postgresInstanceName": "testpostgresInstances",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "basicLoginInformation": {
+ "username": "username"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "Hyperscale",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstances/testpostgresInstances",
+ "name": "testpostgresInstances",
+ "type": "Microsoft.AzureArcData/PostgresInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/GetSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/GetSqlManagedInstance.json
new file mode 100644
index 000000000000..ab9bf539dc95
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/GetSqlManagedInstance.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureArcData/sqlManagedInstance"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/GetSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/GetSqlServerInstance.json
new file mode 100644
index 000000000000..ba668d667513
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/GetSqlServerInstance.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListByResourceGroupDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListByResourceGroupDataController.json
new file mode 100644
index 000000000000..224e814969db
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListByResourceGroupDataController.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1",
+ "name": "testdataController1",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ },
+ {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController2",
+ "name": "testdataController2",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListByResourceGroupPostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListByResourceGroupPostgresInstance.json
new file mode 100644
index 000000000000..1269bc31587a
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListByResourceGroupPostgresInstance.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "basicLoginInformation": {
+ "username": "username"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "Hyperscale",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstances/testpostgresInstances1",
+ "name": "testpostgresInstances1",
+ "type": "Microsoft.AzureArcData/PostgresInstances"
+ },
+ {
+ "properties": {
+ "basicLoginInformation": {
+ "username": "username"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "Hyperscale",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstances/testpostgresInstances2",
+ "name": "testpostgresInstances2",
+ "type": "Microsoft.AzureArcData/PostgresInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListByResourceGroupSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListByResourceGroupSqlManagedInstance.json
new file mode 100644
index 000000000000..7f51deb536f7
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListByResourceGroupSqlManagedInstance.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/sqlManagedInstance1",
+ "name": "sqlManagedInstances1",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ },
+ {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/sqlManagedInstance2",
+ "name": "sqlManagedInstances2",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListByResourceGroupSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListByResourceGroupSqlServerInstance.json
new file mode 100644
index 000000000000..0e4cdf1b3ba8
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListByResourceGroupSqlServerInstance.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance1",
+ "name": "sqlServerInstance1",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ },
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance2",
+ "name": "sqlServerInstance2",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListOperation.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListOperation.json
new file mode 100644
index 000000000000..c2e8949ffefa
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListOperation.json
@@ -0,0 +1,113 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.AzureArcData/operations/read",
+ "isDataAction": false,
+ "display": {
+ "resource": "Microsoft.AzureArcData",
+ "provider": "Azure Arc Data Resource Provider.",
+ "operation": "List all available operations.",
+ "description": "List all available operations."
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlManagedInstances/read",
+ "isDataAction": false,
+ "display": {
+ "resource": "Microsoft.AzureArcData",
+ "provider": "Azure Arc Data Resource Provider.",
+ "operation": "Get Sql Managed Instances details.",
+ "description": "Retrieves details of Sql Managed Instances."
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlManagedInstances/write",
+ "isDataAction": false,
+ "display": {
+ "resource": "Microsoft.AzureArcData",
+ "provider": "Azure Arc Data Resource Provider.",
+ "operation": "Create new or update existing Sql Managed Instances",
+ "description": "Create a new or change properties of existing Sql Managed Instances.."
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlManagedInstances/delete",
+ "isDataAction": false,
+ "display": {
+ "resource": "Microsoft.AzureArcData",
+ "provider": "Azure Arc Data Resource Provider.",
+ "operation": "Delete exisiting Sql Managed Instances.",
+ "description": "Delete exisiting Sql Managed Instances."
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/postgresInstances/read",
+ "isDataAction": false,
+ "display": {
+ "resource": "Microsoft.AzureArcData",
+ "provider": "Azure Arc Data Resource Provider.",
+ "operation": "Get Postgres Instance details.",
+ "description": "Retrieves details of Postgres Instances."
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/postgresInstances/write",
+ "isDataAction": false,
+ "display": {
+ "resource": "Microsoft.AzureArcData",
+ "provider": "Azure Arc Data Resource Provider.",
+ "operation": "Create new or update existing Postgres Instances.",
+ "description": "Create a new or change properties of existing Postgres Instances."
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/postgresInstances/delete",
+ "isDataAction": false,
+ "display": {
+ "resource": "Microsoft.AzureArcData",
+ "provider": "Azure Arc Data Resource Provider.",
+ "operation": "Delete exisiting Postgres Instances.",
+ "description": "Delete exisiting Postgres Instances."
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/dataControllers/read",
+ "isDataAction": false,
+ "display": {
+ "resource": "Microsoft.AzureArcData",
+ "provider": "Azure Arc Data Resource Provider.",
+ "operation": "Get dataControllers details.",
+ "description": "Retrieves details of dataControllers."
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/dataControllers/write",
+ "isDataAction": false,
+ "display": {
+ "resource": "Microsoft.AzureArcData",
+ "provider": "Azure Arc Data Resource Provider.",
+ "operation": "Create new or update existing dataControllers.",
+ "description": "Create a new or change properties of existing dataControllers."
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/dataControllers/delete",
+ "isDataAction": false,
+ "display": {
+ "resource": "Microsoft.AzureArcData",
+ "provider": "Azure Arc Data Resource Provider.",
+ "operation": "Delete exisiting dataControllers.",
+ "description": "Delete exisiting dataControllers."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListSubscriptionDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListSubscriptionDataController.json
new file mode 100644
index 000000000000..9d5c6c9d241f
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListSubscriptionDataController.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1",
+ "name": "testdataController1",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ },
+ {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController2",
+ "name": "testdataController2",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListSubscriptionPostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListSubscriptionPostgresInstance.json
new file mode 100644
index 000000000000..b9ae760d8f86
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListSubscriptionPostgresInstance.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "basicLoginInformation": {
+ "username": "username"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "Hyperscale",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstances/testpostgresInstances1",
+ "name": "testpostgresInstances1",
+ "type": "Microsoft.AzureArcData/PostgresInstances"
+ },
+ {
+ "properties": {
+ "basicLoginInformation": {
+ "username": "username"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "Hyperscale",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstances/testpostgresInstances2",
+ "name": "testpostgresInstances2",
+ "type": "Microsoft.AzureArcData/PostgresInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListSubscriptionSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListSubscriptionSqlManagedInstance.json
new file mode 100644
index 000000000000..e78ed912b712
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListSubscriptionSqlManagedInstance.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlManagedInstances/sqlManagedInstance1",
+ "name": "sqlManagedInstances1",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ },
+ {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlManagedInstances/sqlManagedInstance2",
+ "name": "sqlManagedInstances2",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListSubscriptionSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListSubscriptionSqlServerInstance.json
new file mode 100644
index 000000000000..d49ed5f681bf
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/ListSubscriptionSqlServerInstance.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance1",
+ "name": "sqlServerInstance1",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ },
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance2",
+ "name": "sqlServerInstance2",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/UpdateDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/UpdateDataController.json
new file mode 100644
index 000000000000..ed7ea65a5616
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/UpdateDataController.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController1",
+ "api-version": "2021-06-01-preview",
+ "dataControllerResource": {
+ "tags": {
+ "mytag": "myval"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ }
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1",
+ "name": "testdataController1",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/UpdatePostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/UpdatePostgresInstance.json
new file mode 100644
index 000000000000..929d5761a8d1
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/UpdatePostgresInstance.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "postgresInstanceName": "testpostgresInstance",
+ "api-version": "2021-06-01-preview",
+ "parameters": {
+ "tags": {
+ "mytag": "myval"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "basicLoginInformation": {
+ "username": "username"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "Hyperscale",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstance/testpostgresInstance",
+ "name": "testpostgresInstance",
+ "type": "Microsoft.AzureArcData/PostgresInstance"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/UpdateSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/UpdateSqlManagedInstance.json
new file mode 100644
index 000000000000..6c1171ac4ad2
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/UpdateSqlManagedInstance.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2021-06-01-preview",
+ "parameters": {
+ "tags": {
+ "mytag": "myval"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "sku": {
+ "name": "default",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/UpdateSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/UpdateSqlServerInstance.json
new file mode 100644
index 000000000000..59c10e66c3e1
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2021-06-01-preview/examples/UpdateSqlServerInstance.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2021-06-01-preview",
+ "parameters": {
+ "tags": {
+ "mytag": "myval"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "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.AzureArcData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/azurearcdata.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/azurearcdata.json
new file mode 100644
index 000000000000..8365ce078488
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/azurearcdata.json
@@ -0,0 +1,2015 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-08-01",
+ "title": "AzureArcDataManagementClient",
+ "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.AzureArcData/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available Azure Data Services on Azure Arc API operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Lists all of the available Azure Data Services on Azure Arc API operations.": {
+ "$ref": "./examples/ListOperation.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlManagedInstances": {
+ "get": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_List",
+ "summary": "List sqlManagedInstance resources in the subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlManagedInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 404 ResourceNotFound - The requested resource was not found.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all SQL Instance in a subscription.": {
+ "$ref": "./examples/ListSubscriptionSqlManagedInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances": {
+ "get": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_ListByResourceGroup",
+ "description": "Gets all sqlManagedInstances in a resource group.",
+ "summary": "List sqlManagedInstance resources in the resource group",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlManagedInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all SQL Instance in a resource group.": {
+ "$ref": "./examples/ListByResourceGroupSqlManagedInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}": {
+ "get": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_Get",
+ "description": "Retrieves a SQL Managed Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlManagedInstanceName",
+ "description": "Name of SQL Managed Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlManagedInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a SQL Instance tags.": {
+ "$ref": "./examples/GetSqlManagedInstance.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_Create",
+ "description": "Creates or replaces a SQL Managed Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlManagedInstanceName",
+ "description": "The name of SQL Managed Instances",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "sqlManagedInstance",
+ "in": "body",
+ "description": "The SQL Managed Instance to be created or updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlManagedInstance"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlManagedInstance"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SqlManagedInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a SQL Managed Instance": {
+ "$ref": "./examples/CreateOrUpdateSqlManagedInstance.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_Delete",
+ "description": "Deletes a SQL Managed Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlManagedInstanceName",
+ "description": "The name of Sql Managed Instances",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the SQL Managed Instance."
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "204": {
+ "description": "The specified SQL Managed Instance does not exist."
+ }
+ },
+ "x-ms-examples": {
+ "Delete a SQL Instance.": {
+ "$ref": "./examples/DeleteSqlManagedInstance.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_Update",
+ "description": "Updates a SQL Managed Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlManagedInstanceName",
+ "description": "Name of sqlManagedInstance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The SQL Managed Instance.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlManagedInstanceUpdate"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlManagedInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a sql Instance tags.": {
+ "$ref": "./examples/UpdateSqlManagedInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerInstances": {
+ "get": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_List",
+ "summary": "List sqlServerInstance resources in the subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 404 ResourceNotFound - The requested resource was not found.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all SQL Server Instance in a subscription.": {
+ "$ref": "./examples/ListSubscriptionSqlServerInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances": {
+ "get": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_ListByResourceGroup",
+ "description": "Gets all sqlServerInstances in a resource group.",
+ "summary": "List sqlServerInstance resources in the resource group",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all SQL Server Instance in a resource group.": {
+ "$ref": "./examples/ListByResourceGroupSqlServerInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}": {
+ "get": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_Get",
+ "description": "Retrieves a SQL Server Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlServerInstanceName",
+ "description": "Name of SQL Server Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a SQL Server Instance tags.": {
+ "$ref": "./examples/GetSqlServerInstance.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_Create",
+ "description": "Creates or replaces a SQL Server Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlServerInstanceName",
+ "description": "The name of SQL Server Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "sqlServerInstance",
+ "in": "body",
+ "description": "The SQL Server Instance to be created or updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstance"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstance"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a SQL Server Instance tags.": {
+ "$ref": "./examples/CreateOrUpdateSqlServerInstance.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_Delete",
+ "description": "Deletes a SQL Server Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlServerInstanceName",
+ "description": "The name of SQL Server Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the SQL Server Instance."
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "204": {
+ "description": "The specified SQL Server Instance does not exist."
+ }
+ },
+ "x-ms-examples": {
+ "Delete a SQL Server Instance.": {
+ "$ref": "./examples/DeleteSqlServerInstance.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_Update",
+ "description": "Updates a SQL Server Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlServerInstanceName",
+ "description": "Name of sqlServerInstance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The SQL Server Instance.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstanceUpdate"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SqlServerInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a SQL Server Instance tags.": {
+ "$ref": "./examples/UpdateSqlServerInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/dataControllers": {
+ "get": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_ListInSubscription",
+ "summary": "List dataController resources in the subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PageOfDataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all dataControllers in a subscription.": {
+ "$ref": "./examples/ListSubscriptionDataController.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers": {
+ "get": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_ListInGroup",
+ "summary": "List dataController resources in the resource group",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PageOfDataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all dataControllers in a resource group.": {
+ "$ref": "./examples/ListByResourceGroupDataController.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}": {
+ "put": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_PutDataController",
+ "description": "Creates or replaces a dataController resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "dataControllerResource",
+ "description": "desc",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/DataControllerResource"
+ }
+ },
+ {
+ "name": "dataControllerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DataControllerResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/DataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a Data Controller.": {
+ "$ref": "./examples/CreateOrUpdateDataController.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_DeleteDataController",
+ "description": "Deletes a dataController resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "dataControllerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the DataController."
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "204": {
+ "description": "The specified DataController does not exist."
+ }
+ },
+ "x-ms-examples": {
+ "Delete a dataController.": {
+ "$ref": "./examples/DeleteDataController.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_GetDataController",
+ "description": "Retrieves a dataController resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "dataControllerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a data controller.": {
+ "$ref": "./examples/GetDataController.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_PatchDataController",
+ "description": "Updates a dataController resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "dataControllerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ },
+ {
+ "name": "dataControllerResource",
+ "description": "The update data controller resource",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/DataControllerUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a dataController tags.": {
+ "$ref": "./examples/UpdateDataController.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CommonSku": {
+ "description": "The resource model definition representing SKU for ARM resources",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the SKU. It is typically a letter+number code"
+ },
+ "dev": {
+ "type": "boolean",
+ "default": true,
+ "description": "Whether dev/test is enabled. When the dev field is set to true, the resource is used for dev/test purpose. "
+ },
+ "size": {
+ "type": "string",
+ "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. "
+ },
+ "family": {
+ "type": "string",
+ "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here."
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "SqlManagedInstanceSku": {
+ "description": "The resource model definition representing SKU for Azure Managed Instance - Azure Arc",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": [
+ "vCore"
+ ],
+ "description": "The name of the SKU."
+ },
+ "tier": {
+ "type": "string",
+ "enum": [
+ "GeneralPurpose",
+ "BusinessCritical"
+ ],
+ "x-ms-enum": {
+ "name": "SqlManagedInstanceSkuTier",
+ "modelAsString": false
+ },
+ "default": "GeneralPurpose",
+ "description": "The pricing tier for the instance."
+ },
+ "dev": {
+ "type": "boolean",
+ "default": true,
+ "description": "Whether dev/test is enabled. When the dev field is set to true, the resource is used for dev/test purpose. "
+ },
+ "size": {
+ "type": "string",
+ "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. "
+ },
+ "family": {
+ "type": "string"
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "Identity": {
+ "description": "Identity for the resource.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The identity type.",
+ "enum": [
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "Plan": {
+ "type": "object",
+ "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"
+ ]
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list Azure Data Services on Azure Arc operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Operation": {
+ "description": "Azure Data Services on Azure Arc operation definition.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the operation being performed on this particular object.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "The localized display information for this particular operation / action."
+ },
+ "origin": {
+ "description": "The intended executor of the operation.",
+ "enum": [
+ "user",
+ "system"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "OperationOrigin",
+ "modelAsString": true
+ }
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "properties": {
+ "description": "Additional descriptions for the operation.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "readOnly": true,
+ "x-ms-client-flatten": false
+ }
+ },
+ "required": [
+ "name",
+ "display",
+ "isDataAction"
+ ]
+ },
+ "OperationDisplay": {
+ "description": "Display metadata associated with the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The localized friendly form of the resource provider name.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The localized friendly form of the resource type related to this action/operation.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The localized friendly name for the operation.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The localized friendly description for the operation.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "provider",
+ "resource",
+ "operation",
+ "description"
+ ]
+ },
+ "Resource": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "TrackedResource": {
+ "type": "object",
+ "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"
+ },
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ProxyResource": {
+ "type": "object",
+ "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "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": {
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extendedLocation of the resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/DataControllerProperties",
+ "description": "The data controller's properties",
+ "x-ms-client-flatten": false
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "DataControllerUpdate": {
+ "type": "object",
+ "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",
+ "readOnly": true,
+ "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": {
+ "infrastructure": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "gcp",
+ "aws",
+ "alibaba",
+ "onpremises",
+ "other"
+ ],
+ "x-ms-enum": {
+ "name": "infrastructure",
+ "modelAsString": false
+ },
+ "default": "other",
+ "description": "The infrastructure the data controller is running on."
+ },
+ "onPremiseProperty": {
+ "$ref": "#/definitions/OnPremiseProperty"
+ },
+ "k8sRaw": {
+ "type": "object",
+ "description": "The raw kubernetes information"
+ },
+ "uploadWatermark": {
+ "$ref": "#/definitions/UploadWatermark"
+ },
+ "lastUploadedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date from Kubernetes cluster. Defaults to current date time"
+ },
+ "basicLoginInformation": {
+ "$ref": "#/definitions/BasicLoginInformation"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "$ref": "#/definitions/LogAnalyticsWorkspaceConfig"
+ },
+ "uploadServicePrincipal": {
+ "$ref": "#/definitions/UploadServicePrincipal"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true
+ },
+ "clusterId": {
+ "type": "string",
+ "description": "If a CustomLocation is provided, this contains the ARM id of the connected cluster the custom location belongs to."
+ },
+ "extensionId": {
+ "type": "string",
+ "description": "If a CustomLocation is provided, this contains the ARM id of the extension the custom location belongs to."
+ }
+ }
+ },
+ "UploadWatermark": {
+ "description": "Properties on upload watermark. Mostly timestamp for each upload data type",
+ "type": "object",
+ "properties": {
+ "metrics": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date for metrics from kubernetes cluster. Defaults to current date time"
+ },
+ "logs": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date for logs from kubernetes cluster. Defaults to current date time"
+ },
+ "usages": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date for usages from kubernetes cluster. Defaults to current date time"
+ }
+ }
+ },
+ "OnPremiseProperty": {
+ "description": "Properties from the Kubernetes data controller",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "A globally unique ID identifying the associated Kubernetes cluster"
+ },
+ "publicSigningKey": {
+ "type": "string",
+ "description": "Certificate that contains the Kubernetes cluster public key used to verify signing"
+ },
+ "signingCertificateThumbprint": {
+ "type": "string",
+ "description": "Unique thumbprint returned to customer to verify the certificate being uploaded"
+ }
+ },
+ "required": [
+ "id",
+ "publicSigningKey"
+ ]
+ },
+ "SqlManagedInstanceProperties": {
+ "description": "Properties of sqlManagedInstance.",
+ "type": "object",
+ "properties": {
+ "dataControllerId": {
+ "type": "string",
+ "description": "null"
+ },
+ "admin": {
+ "type": "string",
+ "description": "The instance admin user"
+ },
+ "startTime": {
+ "type": "string",
+ "description": "The instance start time"
+ },
+ "endTime": {
+ "type": "string",
+ "description": "The instance end time"
+ },
+ "k8sRaw": {
+ "$ref": "#/definitions/SqlManagedInstanceK8sRaw",
+ "description": "The raw kubernetes information"
+ },
+ "basicLoginInformation": {
+ "$ref": "#/definitions/BasicLoginInformation",
+ "description": "Username and password for basic authentication."
+ },
+ "lastUploadedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date from Kubernetes cluster. Defaults to current date time"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true
+ },
+ "licenseType": {
+ "type": "string",
+ "enum": [
+ "BasePrice",
+ "LicenseIncluded"
+ ],
+ "x-ms-enum": {
+ "name": "arcSqlManagedInstanceLicenseType",
+ "modelAsString": false
+ },
+ "default": "BasePrice",
+ "description": "The license type to apply for this managed instance."
+ },
+ "clusterId": {
+ "type": "string",
+ "description": "If a CustomLocation is provided, this contains the ARM id of the connected cluster the custom location belongs to."
+ },
+ "extensionId": {
+ "type": "string",
+ "description": "If a CustomLocation is provided, this contains the ARM id of the extension the custom location belongs to."
+ }
+ }
+ },
+ "SqlManagedInstance": {
+ "description": "A SqlManagedInstance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlManagedInstanceProperties",
+ "description": "null",
+ "x-ms-client-flatten": false
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extendedLocation of the resource."
+ },
+ "sku": {
+ "$ref": "#/definitions/SqlManagedInstanceSku",
+ "description": "Resource sku."
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlManagedInstanceUpdate": {
+ "description": "An update to a SQL Managed Instance.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SqlManagedInstanceListResult": {
+ "description": "A list of SqlManagedInstance.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlManagedInstance"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SqlServerInstanceProperties": {
+ "description": "Properties of SqlServerInstance.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "type": "string",
+ "description": "SQL Server version.",
+ "enum": [
+ "SQL Server 2019",
+ "SQL Server 2017",
+ "SQL Server 2016"
+ ],
+ "x-ms-enum": {
+ "name": "sqlVersion",
+ "modelAsString": true
+ }
+ },
+ "edition": {
+ "type": "string",
+ "description": "SQL Server edition.",
+ "enum": [
+ "Evaluation",
+ "Enterprise",
+ "Standard",
+ "Web",
+ "Developer",
+ "Express"
+ ],
+ "x-ms-enum": {
+ "name": "editionType",
+ "modelAsString": true
+ }
+ },
+ "containerResourceId": {
+ "type": "string",
+ "description": "ARM Resource id of the container resource (Azure Arc for Servers)."
+ },
+ "createTime": {
+ "type": "string",
+ "description": "The time when the resource was created.",
+ "readOnly": true
+ },
+ "vCore": {
+ "type": "string",
+ "description": "The number of logical processors used by the SQL Server instance."
+ },
+ "status": {
+ "type": "string",
+ "description": "The cloud connectivity status.",
+ "enum": [
+ "Connected",
+ "Disconnected",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "patchLevel": {
+ "type": "string",
+ "description": "SQL Server update level."
+ },
+ "collation": {
+ "type": "string",
+ "description": "SQL Server collation."
+ },
+ "currentVersion": {
+ "type": "string",
+ "description": "SQL Server current version."
+ },
+ "instanceName": {
+ "type": "string",
+ "description": "SQL Server instance name."
+ },
+ "tcpDynamicPorts": {
+ "type": "string",
+ "description": "Dynamic TCP ports used by SQL Server."
+ },
+ "tcpStaticPorts": {
+ "type": "string",
+ "description": "Static TCP ports used by SQL Server."
+ },
+ "productId": {
+ "type": "string",
+ "description": "SQL Server product ID."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "SQL Server license type.",
+ "enum": [
+ "Paid",
+ "Free",
+ "HADR",
+ "Undefined"
+ ],
+ "x-ms-enum": {
+ "name": "arcSqlServerLicenseType",
+ "modelAsString": true
+ }
+ },
+ "azureDefenderStatusLastUpdated": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Timestamp of last Azure Defender status update."
+ },
+ "azureDefenderStatus": {
+ "type": "string",
+ "description": "Status of Azure Defender.",
+ "enum": [
+ "Protected",
+ "Unprotected",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "defenderStatus",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "containerResourceId",
+ "status"
+ ]
+ },
+ "SqlServerInstance": {
+ "description": "A SqlServerInstance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlServerInstanceProperties",
+ "description": "null",
+ "x-ms-client-flatten": false
+ }
+ }
+ },
+ "SqlServerInstanceUpdate": {
+ "description": "An update to a SQL Server Instance.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SqlServerInstanceListResult": {
+ "description": "A list of SqlServerInstance.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlServerInstance"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorResponse": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorResponseBody",
+ "description": "null"
+ }
+ },
+ "description": "An error response from the Azure Data on Azure Arc service."
+ },
+ "ErrorResponseBody": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResponseBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Batch service."
+ },
+ "ODataError": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "A language-independent error name."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the error (for example, the name of the property in error)."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ODataError"
+ },
+ "description": "The error details."
+ }
+ },
+ "type": "object",
+ "description": "Information about an error."
+ },
+ "ExtendedLocation": {
+ "type": "object",
+ "description": "The complex type of the extended location.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extended location."
+ },
+ "type": {
+ "$ref": "#/definitions/ExtendedLocationType",
+ "description": "The type of the extended location."
+ }
+ }
+ },
+ "ExtendedLocationType": {
+ "type": "string",
+ "description": "The type of extendedLocation.",
+ "enum": [
+ "CustomLocation"
+ ],
+ "x-ms-enum": {
+ "name": "ExtendedLocationTypes",
+ "modelAsString": true
+ }
+ },
+ "BasicLoginInformation": {
+ "type": "object",
+ "description": "Username and password for basic login authentication.",
+ "properties": {
+ "username": {
+ "type": "string",
+ "description": "Login username."
+ },
+ "password": {
+ "type": "string",
+ "description": "Login password.",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ }
+ }
+ },
+ "SqlManagedInstanceK8sRaw": {
+ "type": "object",
+ "description": "The raw kubernetes information.",
+ "properties": {
+ "spec": {
+ "$ref": "#/definitions/SqlManagedInstanceK8sSpec"
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "SqlManagedInstanceK8sSpec": {
+ "type": "object",
+ "description": "The kubernetes spec information.",
+ "properties": {
+ "scheduling": {
+ "$ref": "#/definitions/K8sScheduling"
+ },
+ "replicas": {
+ "type": "integer",
+ "format": "int32",
+ "description": "This option specifies the number of SQL Managed Instance replicas that will be deployed in your Kubernetes cluster for high availability purposes. If sku.tier is BusinessCritical, allowed values are '2' or '3' with default of '3'. If sku.tier is GeneralPurpose, replicas must be '1'."
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "K8sScheduling": {
+ "type": "object",
+ "description": "The kubernetes scheduling information.",
+ "properties": {
+ "default": {
+ "$ref": "#/definitions/K8sSchedulingOptions"
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "K8sSchedulingOptions": {
+ "type": "object",
+ "description": "The kubernetes scheduling options. It describes restrictions used to help Kubernetes select appropriate nodes to host the database service",
+ "properties": {
+ "resources": {
+ "$ref": "#/definitions/K8sResourceRequirements"
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "K8sResourceRequirements": {
+ "type": "object",
+ "description": "The kubernetes resource limits and requests used to restrict or reserve resource usage.",
+ "properties": {
+ "requests": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Requests for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is '128Gi'."
+ },
+ "limits": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Limits for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is '128Gi'."
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "LogAnalyticsWorkspaceConfig": {
+ "type": "object",
+ "description": "Log analytics workspace id and primary key",
+ "properties": {
+ "workspaceId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Azure Log Analytics workspace ID"
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Primary key of the workspace",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ }
+ }
+ },
+ "UploadServicePrincipal": {
+ "type": "object",
+ "description": "Service principal for uploading billing, metrics and logs.",
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Client ID of the service principal for uploading data."
+ },
+ "tenantId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Tenant ID of the service principal."
+ },
+ "authority": {
+ "type": "string",
+ "description": "Authority for the service principal. Example: https://login.microsoftonline.com/"
+ },
+ "clientSecret": {
+ "type": "string",
+ "description": "Secret of the service principal",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Azure subscription",
+ "x-ms-parameter-location": "client"
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Azure resource group",
+ "x-ms-parameter-location": "method"
+ },
+ "location": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Azure region to use for the request",
+ "x-ms-parameter-location": "method"
+ },
+ "apiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for the request",
+ "x-ms-parameter-location": "client"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/CreateOrUpdateDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/CreateOrUpdateDataController.json
new file mode 100644
index 000000000000..be610ab85443
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/CreateOrUpdateDataController.json
@@ -0,0 +1,146 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController",
+ "api-version": "2021-08-01",
+ "dataControllerResource": {
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey"
+ },
+ "basicLoginInformation": {
+ "username": "username",
+ "password": "********"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444",
+ "primaryKey": "********"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/",
+ "clientSecret": "********"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "infrastructure": "onpremises"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate being uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "infrastructure": "onpremises"
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController",
+ "name": "testdataController",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate being uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "infrastructure": "onpremises"
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController",
+ "name": "testdataController",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/CreateOrUpdateSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/CreateOrUpdateSqlManagedInstance.json
new file mode 100644
index 000000000000..b32b7c337fd2
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/CreateOrUpdateSqlManagedInstance.json
@@ -0,0 +1,181 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2021-08-01",
+ "sqlManagedInstance": {
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username",
+ "password": "********"
+ },
+ "licenseType": "LicenseIncluded",
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "licenseType": "LicenseIncluded",
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "licenseType": "LicenseIncluded",
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/CreateOrUpdateSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/CreateOrUpdateSqlServerInstance.json
new file mode 100644
index 000000000000..f5b18b1cc7c1
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/CreateOrUpdateSqlServerInstance.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2021-08-01",
+ "sqlServerInstance": {
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "vCore": "4",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "status": "Connected",
+ "azureDefenderStatus": "Protected"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "status": "Connected",
+ "azureDefenderStatus": "Protected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "status": "Connected",
+ "azureDefenderStatus": "Protected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/DeleteDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/DeleteDataController.json
new file mode 100644
index 000000000000..6a89f9eee6a4
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/DeleteDataController.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/DeleteSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/DeleteSqlManagedInstance.json
new file mode 100644
index 000000000000..9e3e3d305063
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/DeleteSqlManagedInstance.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/DeleteSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/DeleteSqlServerInstance.json
new file mode 100644
index 000000000000..93f371929bfe
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/DeleteSqlServerInstance.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/GetDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/GetDataController.json
new file mode 100644
index 000000000000..2dcb2fbc4ab2
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/GetDataController.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "infrastructure": "onpremises"
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController",
+ "name": "testdataController",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/GetSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/GetSqlManagedInstance.json
new file mode 100644
index 000000000000..5179d96d4e40
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/GetSqlManagedInstance.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "licenseType": "LicenseIncluded",
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureArcData/sqlManagedInstance"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/GetSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/GetSqlServerInstance.json
new file mode 100644
index 000000000000..0efaecdfe3d6
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/GetSqlServerInstance.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "azureDefenderStatus": "Protected",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListByResourceGroupDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListByResourceGroupDataController.json
new file mode 100644
index 000000000000..f1a3099b21f9
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListByResourceGroupDataController.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "infrastructure": "onpremises"
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1",
+ "name": "testdataController1",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ },
+ {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "infrastructure": "onpremises"
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController2",
+ "name": "testdataController2",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListByResourceGroupSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListByResourceGroupSqlManagedInstance.json
new file mode 100644
index 000000000000..923e5a9bbb6b
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListByResourceGroupSqlManagedInstance.json
@@ -0,0 +1,131 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "licenseType": "LicenseIncluded",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/sqlManagedInstance1",
+ "name": "sqlManagedInstances1",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ },
+ {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "licenseType": "LicenseIncluded",
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/sqlManagedInstance2",
+ "name": "sqlManagedInstances2",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListByResourceGroupSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListByResourceGroupSqlServerInstance.json
new file mode 100644
index 000000000000..c545dd367158
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListByResourceGroupSqlServerInstance.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "azureDefenderStatus": "Protected",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance1",
+ "name": "sqlServerInstance1",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ },
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "azureDefenderStatus": "Protected",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance2",
+ "name": "sqlServerInstance2",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListOperation.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListOperation.json
new file mode 100644
index 000000000000..0d6c0a6b6335
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListOperation.json
@@ -0,0 +1,243 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.AzureArcData/Locations/OperationStatuses/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "Locations/OperationStatuses",
+ "operation": "read_OperationStatuses",
+ "description": "read OperationStatuses"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/Locations/OperationStatuses/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "Locations/OperationStatuses",
+ "operation": "write_OperationStatuses",
+ "description": "write OperationStatuses"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/dataControllers/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "dataControllers",
+ "operation": "DataControllers_ListInSubscription",
+ "description": "read dataControllers"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/dataControllers/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "dataControllers",
+ "operation": "DataControllers_ListInGroup",
+ "description": "read dataControllers"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/dataControllers/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "dataControllers",
+ "operation": "DataControllers_GetDataController",
+ "description": "Retrieves a dataController resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/dataControllers/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "dataControllers",
+ "operation": "DataControllers_PutDataController",
+ "description": "Creates or replaces a dataController resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/dataControllers/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "dataControllers",
+ "operation": "DataControllers_DeleteDataController",
+ "description": "Deletes a dataController resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/dataControllers/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "dataControllers",
+ "operation": "DataControllers_PatchDataController",
+ "description": "Updates a dataController resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlManagedInstances/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlManagedInstances",
+ "operation": "SqlManagedInstances_List",
+ "description": "read sqlManagedInstances"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlManagedInstances/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlManagedInstances",
+ "operation": "SqlManagedInstances_ListByResourceGroup",
+ "description": "Gets all sqlManagedInstances in a resource group."
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlManagedInstances/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlManagedInstances",
+ "operation": "SqlManagedInstances_Get",
+ "description": "Retrieves a SQL Managed Instance resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlManagedInstances/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlManagedInstances",
+ "operation": "SqlManagedInstances_Create",
+ "description": "Creates or replaces a SQL Managed Instance resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlManagedInstances/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlManagedInstances",
+ "operation": "SqlManagedInstances_Delete",
+ "description": "Deletes a SQL Managed Instance resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlManagedInstances/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlManagedInstances",
+ "operation": "SqlManagedInstances_Update",
+ "description": "Updates a SQL Managed Instance resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlServerInstances/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlServerInstances",
+ "operation": "SqlServerInstances_List",
+ "description": "read sqlServerInstances"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlServerInstances/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlServerInstances",
+ "operation": "SqlServerInstances_ListByResourceGroup",
+ "description": "Gets all sqlServerInstances in a resource group."
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlServerInstances/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlServerInstances",
+ "operation": "SqlServerInstances_Get",
+ "description": "Retrieves a SQL Server Instance resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlServerInstances/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlServerInstances",
+ "operation": "SqlServerInstances_Create",
+ "description": "Creates or replaces a SQL Server Instance resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlServerInstances/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlServerInstances",
+ "operation": "SqlServerInstances_Delete",
+ "description": "Deletes a SQL Server Instance resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlServerInstances/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlServerInstances",
+ "operation": "SqlServerInstances_Update",
+ "description": "Updates a SQL Server Instance resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/register/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "Microsoft.AzureArcData",
+ "operation": "Register the Microsoft.AzureArcData",
+ "description": "Register the subscription for Microsoft.AzureArcData"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/unregister/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "Microsoft.AzureArcData",
+ "operation": "Unregister the Microsoft.AzureArcData",
+ "description": "Unregister the subscription for Microsoft.AzureArcData"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/Operations/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "Operations",
+ "operation": "read_Operations",
+ "description": "read Operations"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListSubscriptionDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListSubscriptionDataController.json
new file mode 100644
index 000000000000..815edac1e42d
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListSubscriptionDataController.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "infrastructure": "onpremises"
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1",
+ "name": "testdataController1",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ },
+ {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension"
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController2",
+ "name": "testdataController2",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListSubscriptionSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListSubscriptionSqlManagedInstance.json
new file mode 100644
index 000000000000..74a311b6c5fd
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListSubscriptionSqlManagedInstance.json
@@ -0,0 +1,132 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "licenseType": "LicenseIncluded",
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlManagedInstances/sqlManagedInstance1",
+ "name": "sqlManagedInstances1",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ },
+ {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "licenseType": "LicenseIncluded",
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlManagedInstances/sqlManagedInstance2",
+ "name": "sqlManagedInstances2",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListSubscriptionSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListSubscriptionSqlServerInstance.json
new file mode 100644
index 000000000000..b926167c5eef
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/ListSubscriptionSqlServerInstance.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "azureDefenderStatus": "Protected",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance1",
+ "name": "sqlServerInstance1",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ },
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "azureDefenderStatus": "Protected",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance2",
+ "name": "sqlServerInstance2",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/UpdateDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/UpdateDataController.json
new file mode 100644
index 000000000000..53c6bdf36e40
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/UpdateDataController.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController1",
+ "api-version": "2021-08-01",
+ "dataControllerResource": {
+ "tags": {
+ "mytag": "myval"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "infrastructure": "onpremises"
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1",
+ "name": "testdataController1",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/UpdateSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/UpdateSqlManagedInstance.json
new file mode 100644
index 000000000000..282574bd0d9a
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/UpdateSqlManagedInstance.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "tags": {
+ "mytag": "myval"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "licenseType": "LicenseIncluded",
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/UpdateSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/UpdateSqlServerInstance.json
new file mode 100644
index 000000000000..19679c23e53f
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-08-01/examples/UpdateSqlServerInstance.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2021-08-01",
+ "parameters": {
+ "tags": {
+ "mytag": "myval"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "azureDefenderStatus": "Protected",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/readme.azureresourceschema.md b/specification/azurearcdata/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..8a5870cc234b
--- /dev/null
+++ b/specification/azurearcdata/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-azurearcdata-2021-08-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-azurearcdata-2021-08-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-azurearcdata-2021-08-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AzureArcData/stable/2021-08-01/azurearcdata.json
+
+```
diff --git a/specification/azurearcdata/resource-manager/readme.csharp.md b/specification/azurearcdata/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..86e6f18ef788
--- /dev/null
+++ b/specification/azurearcdata/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.AzureArcData
+ output-folder: $(csharp-sdks-folder)/resources/Microsoft.Azure.Management.AzureArcData/src/Generated
+```
diff --git a/specification/azurearcdata/resource-manager/readme.go.md b/specification/azurearcdata/resource-manager/readme.go.md
new file mode 100644
index 000000000000..52d7ddc4175a
--- /dev/null
+++ b/specification/azurearcdata/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: azurearcdata
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2021-08-01
+```
+
+### Tag: package-2021-08-01 and go
+
+These settings apply only when `--tag=package-2021-08-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-2021-08-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-08-01/$(namespace)
+```
diff --git a/specification/azurearcdata/resource-manager/readme.md b/specification/azurearcdata/resource-manager/readme.md
new file mode 100644
index 000000000000..3cafcfb94b48
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/readme.md
@@ -0,0 +1,97 @@
+# azurearcdata
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for azurearcdata.
+
+## 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 azurearcdata.
+
+``` yaml
+openapi-type: arm
+openapi-subtype: rpaas
+tag: package-2021-08-01
+```
+
+### Tag: package-2021-08-01
+
+These settings apply only when `--tag=package-2021-08-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-08-01'
+input-file:
+ - Microsoft.AzureArcData/stable/2021-08-01/azurearcdata.json
+```
+
+### Tag: package-preview-2021-06-01
+
+These settings apply only when `--tag=package-preview-2021-06-01` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2021-06-01'
+input-file:
+ - Microsoft.AzureArcData/preview/2021-06-01-preview/azurearcdata.json
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-python-track2
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-net
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_azurearcdata']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js azurearcdata/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)
diff --git a/specification/azurearcdata/resource-manager/readme.python.md b/specification/azurearcdata/resource-manager/readme.python.md
new file mode 100644
index 000000000000..a0e2218f035d
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/readme.python.md
@@ -0,0 +1,23 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-azurearcdata
+no-namespace-folders: true
+package-version: 1.0.0b1
+clear-output-folder: true
+```
+
+``` yaml $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata
+```
+
+``` yaml $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/azurearcdata/azure-mgmt-azurearcdata
+```
diff --git a/specification/azurearcdata/resource-manager/readme.ruby.md b/specification/azurearcdata/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..171ecdb4caaf
--- /dev/null
+++ b/specification/azurearcdata/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_azurearcdata
+package-version: 2021-08-01
+azure-arm: true
+```
+
+### Tag: package-2021-08-01 and ruby
+
+These settings apply only when `--tag=package-2021-08-01 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2021-08-01' && $(ruby)
+namespace: Microsoft.AzureArcData
+output-folder: $(ruby-sdks-folder)/azurearcdata
+```
diff --git a/specification/azurearcdata/resource-manager/readme.typescript.md b/specification/azurearcdata/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..cb07caca32d6
--- /dev/null
+++ b/specification/azurearcdata/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-azurearcdata"
+ output-folder: "$(typescript-sdks-folder)/sdk/azurearcdata/arm-azurearcdata"
+ clear-output-folder: true
+ generate-metadata: true
+```
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/preview/2020-06-01-preview/Registration.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/preview/2020-06-01-preview/Registration.json
index 81bd4d72a687..4c8bed535693 100644
--- a/specification/azurestack/resource-manager/Microsoft.AzureStack/preview/2020-06-01-preview/Registration.json
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/preview/2020-06-01-preview/Registration.json
@@ -57,6 +57,45 @@
}
}
},
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStack/registrations": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a list of all registrations under current subscription.": {
+ "$ref": "examples/Registration/ListBySubscription.json"
+ }
+ },
+ "tags": [
+ "Registrations"
+ ],
+ "description": "Returns a list of all registrations under current subscription.",
+ "operationId": "Registrations_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RegistrationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "AzureStack.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}": {
"get": {
"x-ms-examples": {
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/preview/2020-06-01-preview/examples/Registration/ListBySubscription.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/preview/2020-06-01-preview/examples/Registration/ListBySubscription.json
new file mode 100644
index 000000000000..31cbdf475a66
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/preview/2020-06-01-preview/examples/Registration/ListBySubscription.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "api-version": "2020-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration",
+ "name": "testregistration",
+ "type": "Microsoft.AzureStack/registrations",
+ "location": "global",
+ "etag": "0d00527e-0000-0000-0000-5a81ebdf0000",
+ "properties": {
+ "objectId": "9e9704ab-561a-4498-ac60-64b2314456ee",
+ "billingModel": "Development"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2016-01-01/Registration.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2016-01-01/Registration.json
index 355796065ed9..8be68c13c109 100644
--- a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2016-01-01/Registration.json
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2016-01-01/Registration.json
@@ -57,6 +57,45 @@
}
}
},
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStack/registrations": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a list of all registrations under current subscription.": {
+ "$ref": "examples/Registration/ListBySubscription.json"
+ }
+ },
+ "tags": [
+ "Registrations"
+ ],
+ "description": "Returns a list of all registrations under current subscription.",
+ "operationId": "Registrations_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RegistrationList"
+ }
+ },
+ "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/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}": {
"get": {
"x-ms-examples": {
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2016-01-01/examples/Registration/ListBySubscription.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2016-01-01/examples/Registration/ListBySubscription.json
new file mode 100644
index 000000000000..ba856fdadce2
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2016-01-01/examples/Registration/ListBySubscription.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "api-version": "2016-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration",
+ "name": "testregistration",
+ "type": "Microsoft.AzureStack/registrations",
+ "location": "global",
+ "etag": "0d00527e-0000-0000-0000-5a81ebdf0000",
+ "properties": {
+ "objectId": "9e9704ab-561a-4498-ac60-64b2314456ee",
+ "billingModel": "Development"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
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 c2e067d946e9..98e9c47a4d91 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
@@ -57,6 +57,45 @@
}
}
},
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStack/registrations": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a list of all registrations under current subscription.": {
+ "$ref": "examples/Registration/ListBySubscription.json"
+ }
+ },
+ "tags": [
+ "Registrations"
+ ],
+ "description": "Returns a list of all registrations under current subscription.",
+ "operationId": "Registrations_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "AzureStack.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RegistrationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "AzureStack.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}": {
"get": {
"x-ms-examples": {
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/ListBySubscription.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/ListBySubscription.json
new file mode 100644
index 000000000000..3931cc0f0b72
--- /dev/null
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/ListBySubscription.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf",
+ "api-version": "2017-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration",
+ "name": "testregistration",
+ "type": "Microsoft.AzureStack/registrations",
+ "location": "global",
+ "etag": "0d00527e-0000-0000-0000-5a81ebdf0000",
+ "properties": {
+ "objectId": "9e9704ab-561a-4498-ac60-64b2314456ee",
+ "billingModel": "Development"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestack/resource-manager/readme.md b/specification/azurestack/resource-manager/readme.md
index 1a330200bcbd..1ff4b827e59a 100644
--- a/specification/azurestack/resource-manager/readme.md
+++ b/specification/azurestack/resource-manager/readme.md
@@ -96,7 +96,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
diff --git a/specification/azurestack/resource-manager/readme.python.md b/specification/azurestack/resource-manager/readme.python.md
index 9a4e4bef6073..743c17a3b419 100644
--- a/specification/azurestack/resource-manager/readme.python.md
+++ b/specification/azurestack/resource-manager/readme.python.md
@@ -4,37 +4,15 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python) && !$(track2)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.azurestack
- package-name: azure-mgmt-azurestack
- package-version: 0.1.0
- clear-output-folder: true
-```
``` yaml $(python) && $(track2)
-python-mode: create
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
namespace: azure.mgmt.azurestack
package-name: azure-mgmt-azurestack
-package-version: 0.1.0
+package-version: 1.0.0b1
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/azurestack/azure-mgmt-azurestack/azure/mgmt/azurestack
-```
-``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/azurestack/azure-mgmt-azurestack
-```
``` yaml $(python) && $(python-mode) == 'update' && $(track2)
no-namespace-folders: true
output-folder: $(python-sdks-folder)/azurestack/azure-mgmt-azurestack/azure/mgmt/azurestack
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/arcSettings.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/arcSettings.json
new file mode 100644
index 000000000000..6b01d85d5b2b
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/arcSettings.json
@@ -0,0 +1,379 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-01-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings": {
+ "get": {
+ "operationId": "ArcSettings_ListByCluster",
+ "description": "Get ArcSetting resources of HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ArcSettingList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List ArcSetting resources by HCI Cluster": {
+ "$ref": "./examples/ListArcSettingsByCluster.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}": {
+ "get": {
+ "operationId": "ArcSettings_Get",
+ "description": "Get ArcSetting resource details of HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ArcSetting"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ArcSetting": {
+ "$ref": "./examples/GetArcSetting.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "ArcSettings_Create",
+ "description": "Create ArcSetting for HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "name": "arcSetting",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ArcSetting"
+ },
+ "description": "Parameters supplied to the Create ArcSetting resource for this HCI cluster."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ArcSetting"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create ArcSetting": {
+ "$ref": "./examples/PutArcSetting.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "ArcSettings_Delete",
+ "description": "Delete ArcSetting resource details of HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "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"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Delete ArcSetting": {
+ "$ref": "./examples/DeleteArcSetting.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ArcSettingList": {
+ "description": "List of ArcSetting proxy resources for the HCI cluster.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of ArcSetting proxy resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ArcSetting"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ArcSetting": {
+ "description": "ArcSetting details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "System data of ArcSetting resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "x-ms-client-flatten": true,
+ "readOnly": true
+ },
+ "properties": {
+ "description": "ArcSetting properties.",
+ "$ref": "#/definitions/ArcSettingProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ArcSettingProperties": {
+ "description": "ArcSetting properties.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the ArcSetting proxy resource.",
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Accepted",
+ "Provisioning"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "arcInstanceResourceGroup": {
+ "description": "The resource group that hosts the Arc agents, ie. Hybrid Compute Machine resources.",
+ "type": "string",
+ "readOnly": true
+ },
+ "aggregateState": {
+ "description": "Aggregate state of Arc agent across the nodes in this HCI cluster.",
+ "type": "string",
+ "enum": [
+ "NotSpecified",
+ "Error",
+ "Succeeded",
+ "Canceled",
+ "Failed",
+ "Connected",
+ "Disconnected",
+ "Deleted",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Moving",
+ "PartiallySucceeded",
+ "PartiallyConnected",
+ "InProgress"
+ ],
+ "x-ms-enum": {
+ "name": "ArcSettingAggregateState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "perNodeDetails": {
+ "description": "State of Arc agent in each of the nodes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PerNodeState"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "PerNodeState": {
+ "description": "Status of Arc agent for a particular node in HCI Cluster.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the Node in HCI Cluster"
+ },
+ "arcInstance": {
+ "description": "Fully qualified resource ID for the Arc agent of this node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "state": {
+ "description": "State of Arc agent in this node.",
+ "type": "string",
+ "enum": [
+ "NotSpecified",
+ "Error",
+ "Succeeded",
+ "Canceled",
+ "Failed",
+ "Connected",
+ "Disconnected",
+ "Deleted",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "NodeArcState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the cluster.",
+ "x-ms-parameter-location": "method"
+ },
+ "ArcSettingNameParameter": {
+ "name": "arcSettingName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the proxy resource holding details of HCI ArcSetting information.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/clusters.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/clusters.json
new file mode 100644
index 000000000000..bcfe0418f8e6
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/clusters.json
@@ -0,0 +1,557 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-01-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": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_ListBySubscription",
+ "x-ms-examples": {
+ "List clusters in a given subscription": {
+ "$ref": "./examples/ListClustersBySubscription.json"
+ }
+ },
+ "description": "List all HCI clusters in a subscription.",
+ "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",
+ "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": {
+ "List clusters in a given resource group": {
+ "$ref": "./examples/ListClustersByResourceGroup.json"
+ }
+ },
+ "description": "List all HCI clusters in a resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "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": {
+ "Get cluster": {
+ "$ref": "./examples/GetCluster.json"
+ }
+ },
+ "description": "Get HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "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": {
+ "Create cluster": {
+ "$ref": "./examples/CreateCluster.json"
+ }
+ },
+ "description": "Create an HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "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": {
+ "Update cluster": {
+ "$ref": "./examples/UpdateCluster.json"
+ }
+ },
+ "description": "Update an HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "cluster",
+ "in": "body",
+ "description": "Details of the HCI cluster.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterPatch"
+ }
+ }
+ ],
+ "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": {
+ "Delete cluster": {
+ "$ref": "./examples/DeleteCluster.json"
+ }
+ },
+ "description": "Delete an HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "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/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "System data of Cluster resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "x-ms-client-flatten": true,
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Cluster properties.",
+ "$ref": "#/definitions/ClusterProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ClusterPatch": {
+ "description": "Cluster details to update.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "description": "Cluster properties.",
+ "$ref": "#/definitions/ClusterPatchProperties",
+ "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
+ },
+ "cloudManagementEndpoint": {
+ "type": "string",
+ "description": "Endpoint configured for management from the Azure portal"
+ },
+ "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",
+ "readOnly": true
+ },
+ "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
+ }
+ }
+ },
+ "ClusterPatchProperties": {
+ "description": "Cluster properties.",
+ "type": "object",
+ "properties": {
+ "cloudManagementEndpoint": {
+ "type": "string",
+ "description": "Endpoint configured for management from the Azure portal"
+ }
+ }
+ },
+ "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
+ }
+ }
+ }
+ },
+ "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/2021-01-01-preview/examples/CreateCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/CreateCluster.json
new file mode 100644
index 000000000000..edb831c4487c
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/CreateCluster.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2021-01-01-preview",
+ "cluster": {
+ "location": "East US",
+ "properties": {
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "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": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "NotYetRegistered",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "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/2021-01-01-preview/examples/DeleteArcSetting.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/DeleteArcSetting.json
new file mode 100644
index 000000000000..33dea5921c34
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/DeleteArcSetting.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "api-version": "2021-01-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/DeleteCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/DeleteCluster.json
new file mode 100644
index 000000000000..38424d9081e8
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/DeleteCluster.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2021-01-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/DeleteExtension.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/DeleteExtension.json
new file mode 100644
index 000000000000..c8e6f345ed2c
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/DeleteExtension.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "extensionName": "MicrosoftMonitoringAgent",
+ "api-version": "2021-01-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/GetArcSetting.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/GetArcSetting.json
new file mode 100644
index 000000000000..9e69a057c1a4
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/GetArcSetting.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "api-version": "2021-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "arcInstanceResourceGroup": "ArcInstance-rg",
+ "aggregateState": "PartiallyConnected",
+ "perNodeDetails": [
+ {
+ "name": "Node-1",
+ "arcInstance": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-1",
+ "state": "Connected"
+ },
+ {
+ "name": "Node-2",
+ "arcInstance": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-2",
+ "state": "Disconnected"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/GetCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/GetCluster.json
new file mode 100644
index 000000000000..693b2636ba04
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/GetCluster.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2021-01-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": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "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/2021-01-01-preview/examples/GetExtension.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/GetExtension.json
new file mode 100644
index 000000000000..56d8fe6308dc
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/GetExtension.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "extensionName": "MicrosoftMonitoringAgent",
+ "api-version": "2021-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default/extensions/MicrosoftMonitoringAgent",
+ "name": "MicrosoftMonitoringAgent",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings/extensions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "extensionParameters": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "workspaceId": "xx"
+ }
+ },
+ "aggregateState": "PartiallySucceeded",
+ "perNodeExtensionDetails": [
+ {
+ "name": "Node-1",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-1/Extensions/MicrosoftMonitoringAgent",
+ "state": "Succeeded"
+ },
+ {
+ "name": "Node-2",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-2/Extensions/MicrosoftMonitoringAgent",
+ "state": "Failed"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/ListArcSettingsByCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/ListArcSettingsByCluster.json
new file mode 100644
index 000000000000..f16546b83095
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/ListArcSettingsByCluster.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2021-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "arcInstanceResourceGroup": "ArcInstance-rg",
+ "aggregateState": "PartiallyConnected",
+ "perNodeDetails": [
+ {
+ "name": "Node-1",
+ "arcInstance": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-1",
+ "state": "Connected"
+ },
+ {
+ "name": "Node-2",
+ "arcInstance": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-2",
+ "state": "Disconnected"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/ListClustersByResourceGroup.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/ListClustersByResourceGroup.json
new file mode 100644
index 000000000000..c0c5fc6ac4c6
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/ListClustersByResourceGroup.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "api-version": "2021-01-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": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "NotYetRegistered",
+ "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd",
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "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": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "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/2021-01-01-preview/examples/ListClustersBySubscription.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/ListClustersBySubscription.json
new file mode 100644
index 000000000000..de736bc9c1de
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/ListClustersBySubscription.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "api-version": "2021-01-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": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "NotYetRegistered",
+ "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd",
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "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": {},
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "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/2021-01-01-preview/examples/ListExtensionsByArcSetting.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/ListExtensionsByArcSetting.json
new file mode 100644
index 000000000000..d648cc7d3c22
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/ListExtensionsByArcSetting.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "api-version": "2021-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default/extensions/MicrosoftMonitoringAgent",
+ "name": "MicrosoftMonitoringAgent",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings/extensions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "extensionParameters": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "workspaceId": "xx"
+ }
+ },
+ "aggregateState": "PartiallyConnected",
+ "perNodeExtensionDetails": [
+ {
+ "name": "Node-1",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-1/Extensions/MicrosoftMonitoringAgent",
+ "state": "Connected"
+ },
+ {
+ "name": "Node-2",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-2/Extensions/MicrosoftMonitoringAgent",
+ "state": "Disconnected"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default/Extensions/SecurityExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings/extensions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "extensionParameters": {
+ "publisher": "Microsoft.CustomScriptExtension",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "scriptLocation": "xx"
+ }
+ },
+ "aggregateState": "PartiallySucceeded",
+ "perNodeExtensionDetails": [
+ {
+ "name": "Node-1",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-1/Extensions/SecurityExtension",
+ "state": "Succeeded"
+ },
+ {
+ "name": "Node-2",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-2/Extensions/SecurityExtension",
+ "state": "Failed"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/PatchExtension.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/PatchExtension.json
new file mode 100644
index 000000000000..659e0f8271cf
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/PatchExtension.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "extensionName": "MicrosoftMonitoringAgent",
+ "extension": {
+ "properties": {
+ "extensionParameters": {
+ "publisher": "Microsoft.Compute",
+ "typeHandlerVersion": "1.10",
+ "type": "MicrosoftMonitoringAgent",
+ "settings": {
+ "workspaceId": "xx"
+ }
+ }
+ }
+ },
+ "api-version": "2021-01-01-preview"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default/extensions/MicrosoftMonitoringAgent",
+ "name": "MicrosoftMonitoringAgent",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings/extensions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "extensionParameters": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "workspaceId": "xx"
+ }
+ },
+ "aggregateState": "PartiallyConnected",
+ "perNodeExtensionDetails": [
+ {
+ "name": "Node-1",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-1/Extensions/MicrosoftMonitoringAgent",
+ "state": "Connected"
+ },
+ {
+ "name": "Node-2",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-2/Extensions/MicrosoftMonitoringAgent",
+ "state": "Disconnected"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/PutArcSetting.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/PutArcSetting.json
new file mode 100644
index 000000000000..0da113834792
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/PutArcSetting.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "arcSetting": {},
+ "api-version": "2021-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "arcInstanceResourceGroup": "ArcInstance-rg",
+ "aggregateState": "Creating",
+ "perNodeDetails": [
+ {
+ "name": "Node-1",
+ "arcInstance": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-1",
+ "state": "Creating"
+ },
+ {
+ "name": "Node-2",
+ "arcInstance": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-2",
+ "state": "Creating"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/PutExtension.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/PutExtension.json
new file mode 100644
index 000000000000..10c96ddf224e
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/PutExtension.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "arcSettingName": "default",
+ "extensionName": "MicrosoftMonitoringAgent",
+ "extension": {
+ "properties": {
+ "extensionParameters": {
+ "publisher": "Microsoft.Compute",
+ "typeHandlerVersion": "1.10",
+ "type": "MicrosoftMonitoringAgent",
+ "settings": {
+ "workspaceId": "xx"
+ },
+ "protectedSettings": {
+ "workspaceKey": "xx"
+ }
+ }
+ }
+ },
+ "api-version": "2021-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default/extensions/MicrosoftMonitoringAgent",
+ "name": "MicrosoftMonitoringAgent",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings/extensions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "extensionParameters": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "workspaceId": "xx"
+ }
+ },
+ "aggregateState": "PartiallySucceeded",
+ "perNodeExtensionDetails": [
+ {
+ "name": "Node-1",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-1/Extensions/MicrosoftMonitoringAgent",
+ "state": "Succeeded"
+ },
+ {
+ "name": "Node-2",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-2/Extensions/MicrosoftMonitoringAgent",
+ "state": "Failed"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster/arcSettings/default/extensions/MicrosoftMonitoringAgent",
+ "name": "MicrosoftMonitoringAgent",
+ "type": "Microsoft.AzureStackHCI/clusters/arcSettings/extensions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "extensionParameters": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "workspaceId": "xx"
+ }
+ },
+ "aggregateState": "PartiallySucceeded",
+ "perNodeExtensionDetails": [
+ {
+ "name": "Node-1",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-1/Extensions/MicrosoftMonitoringAgent",
+ "state": "Succeeded"
+ },
+ {
+ "name": "Node-2",
+ "extension": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/ArcInstance-rg/providers/Microsoft.HybridCompute/machine/Node-2/Extensions/MicrosoftMonitoringAgent",
+ "state": "Failed"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/UpdateCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/UpdateCluster.json
new file mode 100644
index 000000000000..4a4a6d11f3dd
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/examples/UpdateCluster.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2021-01-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"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd",
+ "cloudManagementEndpoint": "https://98294836-31be-4668-aeae-698667faf99b.waconazure.com",
+ "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/Microsoft.AzureStackHCI/preview/2021-01-01-preview/extensions.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/extensions.json
new file mode 100644
index 000000000000..6140987c9459
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/extensions.json
@@ -0,0 +1,500 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-01-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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/extensions": {
+ "get": {
+ "operationId": "Extensions_ListByArcSetting",
+ "description": "List all Extensions under ArcSetting resource.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExtensionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Extensions under ArcSetting resource": {
+ "$ref": "./examples/ListExtensionsByArcSetting.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}/arcSettings/{arcSettingName}/extensions/{extensionName}": {
+ "get": {
+ "operationId": "Extensions_Get",
+ "description": "Get particular Arc Extension of HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ArcSettings Extension": {
+ "$ref": "./examples/GetExtension.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "Extensions_Create",
+ "description": "Create Extension for HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "name": "extension",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ },
+ "description": "Details of the Machine Extension to be created."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Succeeded",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create Arc Extension": {
+ "$ref": "./examples/PutExtension.json"
+ }
+ }
+ },
+ "patch": {
+ "operationId": "Extensions_Update",
+ "description": "Update Extension for HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "name": "extension",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ },
+ "description": "Details of the Machine Extension to be created."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "original-uri"
+ },
+ "x-ms-examples": {
+ "Update Arc Extension": {
+ "$ref": "./examples/PatchExtension.json"
+ }
+ }
+ },
+ "delete": {
+ "operationId": "Extensions_Delete",
+ "description": "Delete particular Arc Extension of HCI Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArcSettingNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "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": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Delete Arc Extension": {
+ "$ref": "./examples/DeleteExtension.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Extension": {
+ "description": "Details of a particular extension in HCI Cluster.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "System data of Extension resource.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "x-ms-client-flatten": true,
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Describes Machine Extension Properties.",
+ "$ref": "#/definitions/ExtensionProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ExtensionProperties": {
+ "description": "Status of Arc Extension for a particular node in HCI Cluster.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the Extension proxy resource.",
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Accepted",
+ "Provisioning"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "extensionParameters": {
+ "description": "Parameters specific to this extension type.",
+ "$ref": "#/definitions/ExtensionParameters",
+ "x-ms-client-flatten": true
+ },
+ "aggregateState": {
+ "description": "Aggregate state of Arc Extensions across the nodes in this HCI cluster.",
+ "type": "string",
+ "enum": [
+ "NotSpecified",
+ "Error",
+ "Succeeded",
+ "Canceled",
+ "Failed",
+ "Connected",
+ "Disconnected",
+ "Deleted",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Moving",
+ "PartiallySucceeded",
+ "PartiallyConnected",
+ "InProgress"
+ ],
+ "x-ms-enum": {
+ "name": "ExtensionAggregateState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "perNodeExtensionDetails": {
+ "description": "State of Arc Extension in each of the nodes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PerNodeExtensionState"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "PerNodeExtensionState": {
+ "description": "Status of Arc Extension for a particular node in HCI Cluster.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the node in HCI Cluster.",
+ "type": "string",
+ "readOnly": true
+ },
+ "extension": {
+ "description": "Fully qualified resource ID for the particular Arc Extension on this node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "state": {
+ "description": "State of Arc Extension in this node.",
+ "type": "string",
+ "enum": [
+ "NotSpecified",
+ "Error",
+ "Succeeded",
+ "Canceled",
+ "Failed",
+ "Connected",
+ "Disconnected",
+ "Deleted",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "NodeExtensionState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ExtensionList": {
+ "description": "List of Extensions in HCI cluster.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of Extensions in HCI cluster.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Extension"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ExtensionParameters": {
+ "description": "Describes the properties of a Machine Extension. This object mirrors the definition in HybridCompute.",
+ "type": "object",
+ "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": "Protected settings (may contain secrets).",
+ "x-ms-secret": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the cluster.",
+ "x-ms-parameter-location": "method"
+ },
+ "ArcSettingNameParameter": {
+ "name": "arcSettingName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the proxy resource holding details of HCI ArcSetting information.",
+ "x-ms-parameter-location": "method"
+ },
+ "ExtensionNameParameter": {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/operations.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/operations.json
new file mode 100644
index 000000000000..d1c136c85e5a
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2021-01-01-preview/operations.json
@@ -0,0 +1,68 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-01-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/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/azurestackhci/resource-manager/readme.go.md b/specification/azurestackhci/resource-manager/readme.go.md
index a7f05b7c4929..0b8a319c2c4b 100644
--- a/specification/azurestackhci/resource-manager/readme.go.md
+++ b/specification/azurestackhci/resource-manager/readme.go.md
@@ -12,10 +12,21 @@ go:
```yaml $(go) && $(multiapi)
batch:
+ - tag: package-preview-2021-01
- tag: package-2020-10
- tag: package-2020-03-01-preview
```
+### Tag: package-preview-2021-01 and go
+
+These settings apply only when `--tag=package-preview-2021-01 --go` is specified on the command line.
+Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-preview-2021-01' && $(go)
+namespace: azurestackhci
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-01-01-preview/$(namespace)
+```
+
### Tag: package-2020-10 and go
These settings apply only when `--tag=package-2020-10 --go` is specified on the command line.
diff --git a/specification/azurestackhci/resource-manager/readme.md b/specification/azurestackhci/resource-manager/readme.md
index db260de2b2ec..1ccf280a1ac3 100644
--- a/specification/azurestackhci/resource-manager/readme.md
+++ b/specification/azurestackhci/resource-manager/readme.md
@@ -29,7 +29,7 @@ title: AzureStackHCIClient
description: Azure Stack HCI management service
openapi-type: arm
openapi-subtype: rpaas
-tag: package-2020-10
+tag: package-preview-2021-01
```
## Suppression
@@ -37,19 +37,35 @@ tag: package-2020-10
``` yaml
directive:
- suppress: R3020
- from: azurestackhci.json
+ from:
+ - arcSettings.json
+ - clusters.json
+ - extensions.json
+ - operations.json
reason: Microsoft.AzureStackHCI is the correct name for our RP.
```
+### Tag: package-preview-2021-01
+
+These settings apply only when `--tag=package-preview-2021-01` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2021-01'
+input-file:
+ - Microsoft.AzureStackHCI/preview/2021-01-01-preview/arcSettings.json
+ - Microsoft.AzureStackHCI/preview/2021-01-01-preview/clusters.json
+ - Microsoft.AzureStackHCI/preview/2021-01-01-preview/extensions.json
+ - Microsoft.AzureStackHCI/preview/2021-01-01-preview/operations.json
+```
### Tag: package-2020-10
These settings apply only when `--tag=package-2020-10` is specified on the command line.
-```yaml $(tag) == 'package-2020-10'
+``` yaml $(tag) == 'package-2020-10'
input-file:
- Microsoft.AzureStackHCI/stable/2020-10-01/azurestackhci.json
```
+
### Tag: package-2020-03-01-preview
These settings apply only when `--tag=package-2020-03-01-preview` is specified on the command line.
@@ -103,5 +119,3 @@ 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/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json
index 7e70ac58553f..a49b2e8ca22b 100644
--- a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json
@@ -720,6 +720,7 @@
"description": "Displayed AzureBareMetal operation information"
},
"isDataAction": {
+ "readOnly": true,
"description": "indicates whether an operation is a data action or not.",
"type": "boolean"
}
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.go.md b/specification/baremetalinfrastructure/resource-manager/readme.go.md
index 3944151a092b..0f7be40125be 100644
--- a/specification/baremetalinfrastructure/resource-manager/readme.go.md
+++ b/specification/baremetalinfrastructure/resource-manager/readme.go.md
@@ -5,9 +5,17 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: baremetalinfrastructure
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-08-06-preview
+```
+
### 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.
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.md b/specification/baremetalinfrastructure/resource-manager/readme.md
index a56160acb966..3812cf3b6901 100644
--- a/specification/baremetalinfrastructure/resource-manager/readme.md
+++ b/specification/baremetalinfrastructure/resource-manager/readme.md
@@ -49,7 +49,6 @@ This is not used by Autorest itself.
```yaml $(swagger-to-sdk)
swagger-to-sdk:
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.python.md b/specification/baremetalinfrastructure/resource-manager/readme.python.md
index 3048a78804d7..005b88759d16 100644
--- a/specification/baremetalinfrastructure/resource-manager/readme.python.md
+++ b/specification/baremetalinfrastructure/resource-manager/readme.python.md
@@ -4,18 +4,6 @@ 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)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.baremetalinfrastructure
- package-name: azure-mgmt-baremetalinfrastructure
- package-version: 0.1.0
- clear-output-folder: true
-```
-
These settings apply only when `--track2` is specified on the command line.
``` yaml $(track2)
@@ -23,21 +11,16 @@ azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
package-name: azure-mgmt-baremetalinfrastructure
no-namespace-folders: true
-package-version: 0.1.0
+package-version: 1.0.0b1
+clear-output-folder: true
```
-``` yaml $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/baremetalinfrastructure/azure-mgmt-baremetalinfrastructure/azure/mgmt/baremetalinfrastructure
+``` yaml $(python-mode) == 'update' && $(track2)
no-namespace-folders: true
output-folder: $(python-sdks-folder)/baremetalinfrastructure/azure-mgmt-baremetalinfrastructure/azure/mgmt/baremetalinfrastructure
```
-``` yaml $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/baremetalinfrastructure/azure-mgmt-baremetalinfrastructure
+``` yaml $(python-mode) == 'create' && $(track2)
basic-setup-py: true
output-folder: $(python-sdks-folder)/baremetalinfrastructure/azure-mgmt-baremetalinfrastructure
```
\ No newline at end of file
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/BatchService.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/BatchService.json
new file mode 100644
index 000000000000..5904e0cb0119
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/BatchService.json
@@ -0,0 +1,17532 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "BatchServiceClient",
+ "version": "2021-06-01.14.0",
+ "description": "A client for issuing REST requests to the Azure Batch service."
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{batchUrl}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/batchUrl"
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json; odata=minimalmetadata"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ },
+ {
+ "api_key": []
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ },
+ "api_key": {
+ "type": "apiKey",
+ "name": "Authorization",
+ "in": "header"
+ }
+ },
+ "paths": {
+ "/applications": {
+ "get": {
+ "tags": [
+ "Applications"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "Application_List",
+ "x-ms-examples": {
+ "List applications": {
+ "$ref": "./examples/ApplicationList.json"
+ }
+ },
+ "summary": "Lists all of the applications available in the specified Account.",
+ "description": "This operation returns only Applications and versions that are available for use on Compute Nodes; that is, that can be used in an Package reference. For administrator information about applications and versions that are not yet available to Compute Nodes, use the Azure portal or the Azure Resource Manager API.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 applications can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of applications.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/applications/{applicationId}": {
+ "get": {
+ "tags": [
+ "Applications"
+ ],
+ "operationId": "Application_Get",
+ "x-ms-examples": {
+ "Get applications": {
+ "$ref": "./examples/ApplicationGet.json"
+ }
+ },
+ "summary": "Gets information about the specified Application.",
+ "description": "This operation returns only Applications and versions that are available for use on Compute Nodes; that is, that can be used in an Package reference. For administrator information about Applications and versions that are not yet available to Compute Nodes, use the Azure portal or the Azure Resource Manager API.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "applicationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Application."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the application.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationSummary"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/poolusagemetrics": {
+ "get": {
+ "tags": [
+ "Pools"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "Pool_ListUsageMetrics",
+ "x-ms-examples": {
+ "Pool list usage metrics": {
+ "$ref": "./examples/PoolListUsageMetrics.json"
+ }
+ },
+ "summary": "Lists the usage metrics, aggregated by Pool across individual time intervals, for the specified Account.",
+ "description": "If you do not specify a $filter clause including a poolId, the response includes all Pools that existed in the Account in the time range of the returned aggregation intervals. If you do not specify a $filter clause including a startTime or endTime these filters default to the start and end times of the last aggregation interval currently available; that is, only the last aggregation interval is returned.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "starttime",
+ "x-ms-client-name": "startTime",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "The earliest time from which to include metrics. This must be at least two and a half hours before the current time. If not specified this defaults to the start time of the last aggregation interval currently available.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "endtime",
+ "x-ms-client-name": "endTime",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "The latest time from which to include metrics. This must be at least two hours before the current time. If not specified this defaults to the end time of the last aggregation interval currently available.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-account-usage-metrics.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 results will be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of Pool usage details.",
+ "schema": {
+ "$ref": "#/definitions/PoolListUsageMetricsResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/supportedimages": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "Account_ListSupportedImages",
+ "x-ms-examples": {
+ "Account list node agent skus": {
+ "$ref": "./examples/AccountListSupportedImages.json"
+ }
+ },
+ "summary": "Lists all Virtual Machine Images supported by the Azure Batch service.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-support-images.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 results will be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of supported Virtual Machine Images.",
+ "schema": {
+ "$ref": "#/definitions/AccountListSupportedImagesResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/nodecounts": {
+ "get": {
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Account_ListPoolNodeCounts",
+ "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"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 10,
+ "minimum": 1,
+ "maximum": 10,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ "description": "The response contains the number of Compute Nodes in each Compute Node state, grouped by Pool.",
+ "schema": {
+ "$ref": "#/definitions/PoolNodeCountsListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/lifetimepoolstats": {
+ "get": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_GetAllLifetimeStatistics",
+ "x-ms-examples": {
+ "Pool get lifetime statistics": {
+ "$ref": "./examples/PoolGetLifetimeStatistics.json"
+ }
+ },
+ "summary": "Gets lifetime summary statistics for all of the Pools in the specified Account.",
+ "description": "Statistics are aggregated across all Pools that have ever existed in the Account, from Account creation to the last update time of the statistics. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the Pool statistics for the lifetime of the Batch Account.",
+ "schema": {
+ "$ref": "#/definitions/PoolStatistics"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/lifetimejobstats": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_GetAllLifetimeStatistics",
+ "x-ms-examples": {
+ "Job get lifetime statistics": {
+ "$ref": "./examples/JobGetLifetimeStatistics.json"
+ }
+ },
+ "summary": "Gets lifetime summary statistics for all of the Jobs in the specified Account.",
+ "description": "Statistics are aggregated across all Jobs that have ever existed in the Account, from Account creation to the last update time of the statistics. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the Job statistics for the lifetime of the Batch Account.",
+ "schema": {
+ "$ref": "#/definitions/JobStatistics"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/certificates": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "Certificate_Add",
+ "x-ms-examples": {
+ "Certificate add": {
+ "$ref": "./examples/CertificateAdd.json"
+ }
+ },
+ "summary": "Adds a Certificate to the specified Account.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "certificate",
+ "in": "body",
+ "description": "The Certificate to be added.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateAddParameter"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "Certificate_List",
+ "x-ms-examples": {
+ "Certificate list": {
+ "$ref": "./examples/CertificateList.json"
+ }
+ },
+ "summary": "Lists all of the Certificates that have been added to the specified Account.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-certificates.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 Certificates can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of Certificates.",
+ "schema": {
+ "$ref": "#/definitions/CertificateListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})/canceldelete": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "Certificate_CancelDeletion",
+ "x-ms-examples": {
+ "Certificate cancel delete": {
+ "$ref": "./examples/CertificateCancelDelete.json"
+ }
+ },
+ "summary": "Cancels a failed deletion of a Certificate from the specified Account.",
+ "description": "If you try to delete a Certificate that is being used by a Pool or Compute Node, the status of the Certificate changes to deleteFailed. If you decide that you want to continue using the Certificate, you can use this operation to set the status of the Certificate back to active. If you intend to delete the Certificate, you do not need to run this operation after the deletion failed. You must make sure that the Certificate is not being used by any resources, and then you can try again to delete the Certificate.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "thumbprintAlgorithm",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The algorithm used to derive the thumbprint parameter. This must be sha1."
+ },
+ {
+ "name": "thumbprint",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The thumbprint of the Certificate being deleted."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})": {
+ "delete": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "Certificate_Delete",
+ "x-ms-examples": {
+ "Certificate delete": {
+ "$ref": "./examples/CertificateDelete.json"
+ }
+ },
+ "summary": "Deletes a Certificate from the specified Account.",
+ "description": "You cannot delete a Certificate if a resource (Pool or Compute Node) is using it. Before you can delete a Certificate, you must therefore make sure that the Certificate is not associated with any existing Pools, the Certificate is not installed on any Nodes (even if you remove a Certificate from a Pool, it is not removed from existing Compute Nodes in that Pool until they restart), and no running Tasks depend on the Certificate. If you try to delete a Certificate that is in use, the deletion fails. The Certificate status changes to deleteFailed. You can use Cancel Delete Certificate to set the status back to active if you decide that you want to continue using the Certificate.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "thumbprintAlgorithm",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The algorithm used to derive the thumbprint parameter. This must be sha1."
+ },
+ {
+ "name": "thumbprint",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The thumbprint of the Certificate to be deleted."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "operationId": "Certificate_Get",
+ "x-ms-examples": {
+ "Certificate get": {
+ "$ref": "./examples/CertificateGet.json"
+ }
+ },
+ "description": "Gets information about the specified Certificate.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "thumbprintAlgorithm",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The algorithm used to derive the thumbprint parameter. This must be sha1."
+ },
+ {
+ "name": "thumbprint",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The thumbprint of the Certificate to get."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the Certificate.",
+ "schema": {
+ "$ref": "#/definitions/Certificate"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/tasks/{taskId}/files/{filePath}": {
+ "delete": {
+ "tags": [
+ "Files"
+ ],
+ "operationId": "File_DeleteFromTask",
+ "x-ms-examples": {
+ "File delete from task": {
+ "$ref": "./examples/FileDeleteFromTask.json"
+ }
+ },
+ "summary": "Deletes the specified Task file from the Compute Node where the Task ran.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job that contains the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task whose file you want to delete."
+ },
+ {
+ "name": "filePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path to the Task file or directory that you want to delete."
+ },
+ {
+ "name": "recursive",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether to delete children of a directory. If the filePath parameter represents a directory instead of a file, you can set recursive to true to delete the directory and all of the files and subdirectories in it. If recursive is false then the directory must be empty or deletion will fail."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Files"
+ ],
+ "operationId": "File_GetFromTask",
+ "x-ms-examples": {
+ "Get File From Task": {
+ "$ref": "./examples/FileGetFromTask.json"
+ }
+ },
+ "description": "Returns the content of the specified Task file.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job that contains the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task whose file you want to retrieve."
+ },
+ {
+ "name": "filePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path to the Task file that you want to get the content of."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-range",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "The byte range to be retrieved. The default is to retrieve the entire file. The format is bytes=startRange-endRange.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "produces": [
+ "application/json",
+ "application/octet-stream"
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "ocp-creation-time": {
+ "description": "The file creation time.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "ocp-batch-file-isdirectory": {
+ "description": "Whether the object represents a directory.",
+ "type": "boolean"
+ },
+ "ocp-batch-file-url": {
+ "description": "The URL of the file.",
+ "type": "string"
+ },
+ "ocp-batch-file-mode": {
+ "description": "The file mode attribute in octal format.",
+ "type": "string"
+ },
+ "Content-Type": {
+ "description": "The content type of the file.",
+ "type": "string"
+ },
+ "Content-Length": {
+ "description": "The length of the file.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "description": "A response containing the file content.",
+ "schema": {
+ "type": "object",
+ "format": "file"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "head": {
+ "tags": [
+ "Files"
+ ],
+ "operationId": "File_GetPropertiesFromTask",
+ "x-ms-examples": {
+ "File get properties from task": {
+ "$ref": "./examples/FileGetPropertiesFromTask.json"
+ }
+ },
+ "description": "Gets the properties of the specified Task file.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job that contains the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task whose file you want to get the properties of."
+ },
+ {
+ "name": "filePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path to the Task file that you want to get the properties of."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "ocp-creation-time": {
+ "description": "The file creation time.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "ocp-batch-file-isdirectory": {
+ "description": "Whether the object represents a directory.",
+ "type": "boolean"
+ },
+ "ocp-batch-file-url": {
+ "description": "The URL of the file.",
+ "type": "string"
+ },
+ "ocp-batch-file-mode": {
+ "description": "The file mode attribute in octal format.",
+ "type": "string"
+ },
+ "Content-Type": {
+ "description": "The content type of the file.",
+ "type": "string"
+ },
+ "Content-Length": {
+ "description": "The length of the file.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "description": "A response containing the file properties."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/files/{filePath}": {
+ "delete": {
+ "tags": [
+ "Files"
+ ],
+ "operationId": "File_DeleteFromComputeNode",
+ "x-ms-examples": {
+ "File delete from node": {
+ "$ref": "./examples/FileDeleteFromNode.json"
+ }
+ },
+ "summary": "Deletes the specified file from the Compute Node.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node from which you want to delete the file."
+ },
+ {
+ "name": "filePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path to the file or directory that you want to delete."
+ },
+ {
+ "name": "recursive",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether to delete children of a directory. If the filePath parameter represents a directory instead of a file, you can set recursive to true to delete the directory and all of the files and subdirectories in it. If recursive is false then the directory must be empty or deletion will fail."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Files"
+ ],
+ "operationId": "File_GetFromComputeNode",
+ "x-ms-examples": {
+ "Get File From Compute Node": {
+ "$ref": "./examples/FileGetFromNode.json"
+ }
+ },
+ "description": "Returns the content of the specified Compute Node file.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node that contains the file."
+ },
+ {
+ "name": "filePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path to the Compute Node file that you want to get the content of."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-range",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "The byte range to be retrieved. The default is to retrieve the entire file. The format is bytes=startRange-endRange.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "produces": [
+ "application/json",
+ "application/octet-stream"
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "ocp-creation-time": {
+ "description": "The file creation time.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "ocp-batch-file-isdirectory": {
+ "description": "Whether the object represents a directory.",
+ "type": "boolean"
+ },
+ "ocp-batch-file-url": {
+ "description": "The URL of the file.",
+ "type": "string"
+ },
+ "ocp-batch-file-mode": {
+ "description": "The file mode attribute in octal format.",
+ "type": "string"
+ },
+ "Content-Type": {
+ "description": "The content type of the file.",
+ "type": "string"
+ },
+ "Content-Length": {
+ "description": "The length of the file.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "description": "The file content.",
+ "schema": {
+ "type": "object",
+ "format": "file"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "head": {
+ "tags": [
+ "Files"
+ ],
+ "operationId": "File_GetPropertiesFromComputeNode",
+ "x-ms-examples": {
+ "File get properties from node": {
+ "$ref": "./examples/FileGetPropertiesFromNode.json"
+ }
+ },
+ "description": "Gets the properties of the specified Compute Node file.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node that contains the file."
+ },
+ {
+ "name": "filePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The path to the Compute Node file that you want to get the properties of."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "ocp-creation-time": {
+ "description": "The file creation time.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "ocp-batch-file-isdirectory": {
+ "description": "Whether the object represents a directory.",
+ "type": "boolean"
+ },
+ "ocp-batch-file-url": {
+ "description": "The URL of the file.",
+ "type": "string"
+ },
+ "ocp-batch-file-mode": {
+ "description": "The file mode attribute in octal format.",
+ "type": "string"
+ },
+ "Content-Type": {
+ "description": "The content type of the file.",
+ "type": "string"
+ },
+ "Content-Length": {
+ "description": "The length of the file.",
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "description": "A response containing the file properties."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/tasks/{taskId}/files": {
+ "get": {
+ "tags": [
+ "Files"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "File_ListFromTask",
+ "x-ms-examples": {
+ "File list from task": {
+ "$ref": "./examples/FileListFromTask.json"
+ }
+ },
+ "summary": "Lists the files in a Task's directory on its Compute Node.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job that contains the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task whose files you want to list."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-task-files.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "recursive",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether to list children of the Task directory. This parameter can be used in combination with the filter parameter to list specific type of files."
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 files can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of files.",
+ "schema": {
+ "$ref": "#/definitions/NodeFileListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/files": {
+ "get": {
+ "tags": [
+ "Files"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "File_ListFromComputeNode",
+ "x-ms-examples": {
+ "File list from node": {
+ "$ref": "./examples/FileListFromNode.json"
+ }
+ },
+ "summary": "Lists all of the files in Task directories on the specified Compute Node.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node whose files you want to list."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-compute-node-files.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "recursive",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether to list children of a directory."
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 files can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of files.",
+ "schema": {
+ "$ref": "#/definitions/NodeFileListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobschedules/{jobScheduleId}": {
+ "head": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Exists",
+ "x-ms-examples": {
+ "Check Job Schedule Exists": {
+ "$ref": "./examples/JobScheduleExists.json"
+ }
+ },
+ "summary": "Checks the specified Job Schedule exists.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule which you want to check."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing headers related to the Job Schedule, if it exists."
+ },
+ "404": {
+ "description": "The Job Schedule does not exist."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Delete",
+ "x-ms-examples": {
+ "JobSchedule delete": {
+ "$ref": "./examples/JobScheduleDelete.json"
+ }
+ },
+ "summary": "Deletes a Job Schedule from the specified Account.",
+ "description": "When you delete a Job Schedule, this also deletes all Jobs and Tasks under that schedule. When Tasks are deleted, all the files in their working directories on the Compute Nodes are also deleted (the retention period is ignored). The Job Schedule statistics are no longer accessible once the Job Schedule is deleted, though they are still counted towards Account lifetime statistics.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule to delete."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Get",
+ "x-ms-examples": {
+ "JobSchedule get": {
+ "$ref": "./examples/JobScheduleGet.json"
+ }
+ },
+ "description": "Gets information about the specified Job Schedule.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule to get."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the Job Schedule.",
+ "schema": {
+ "$ref": "#/definitions/CloudJobSchedule"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Patch",
+ "x-ms-examples": {
+ "JobSchedule patch": {
+ "$ref": "./examples/JobSchedulePatch.json"
+ }
+ },
+ "summary": "Updates the properties of the specified Job Schedule.",
+ "description": "This replaces only the Job Schedule properties specified in the request. For example, if the schedule property is not specified with this request, then the Batch service will keep the existing schedule. Changes to a Job Schedule only impact Jobs created by the schedule after the update has taken place; currently running Jobs are unaffected.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule to update."
+ },
+ {
+ "name": "jobSchedulePatchParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobSchedulePatchParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Update",
+ "x-ms-examples": {
+ "JobSchedule update": {
+ "$ref": "./examples/JobScheduleUpdate.json"
+ }
+ },
+ "summary": "Updates the properties of the specified Job Schedule.",
+ "description": "This fully replaces all the updatable properties of the Job Schedule. For example, if the schedule property is not specified with this request, then the Batch service will remove the existing schedule. Changes to a Job Schedule only impact Jobs created by the schedule after the update has taken place; currently running Jobs are unaffected.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule to update."
+ },
+ {
+ "name": "jobScheduleUpdateParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobScheduleUpdateParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobschedules/{jobScheduleId}/disable": {
+ "post": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Disable",
+ "x-ms-examples": {
+ "JobSchedule disable": {
+ "$ref": "./examples/JobScheduleDisable.json"
+ }
+ },
+ "summary": "Disables a Job Schedule.",
+ "description": "No new Jobs will be created until the Job Schedule is enabled again.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule to disable."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobschedules/{jobScheduleId}/enable": {
+ "post": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Enable",
+ "x-ms-examples": {
+ "JobSchedule enable": {
+ "$ref": "./examples/JobScheduleEnable.json"
+ }
+ },
+ "summary": "Enables a Job Schedule.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule to enable."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobschedules/{jobScheduleId}/terminate": {
+ "post": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Terminate",
+ "x-ms-examples": {
+ "JobSchedule terminate": {
+ "$ref": "./examples/JobScheduleTerminate.json"
+ }
+ },
+ "summary": "Terminates a Job Schedule.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule to terminates."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobschedules": {
+ "post": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "operationId": "JobSchedule_Add",
+ "x-ms-examples": {
+ "Add a basic JobSchedule": {
+ "$ref": "./examples/JobScheduleAdd_Basic.json"
+ },
+ "Add a complex JobScheduleAdd": {
+ "$ref": "./examples/JobScheduleAdd_Complex.json"
+ }
+ },
+ "summary": "Adds a Job Schedule to the specified Account.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "cloudJobSchedule",
+ "in": "body",
+ "description": "The Job Schedule to be added.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobScheduleAddParameter"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "JobSchedules"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "JobSchedule_List",
+ "x-ms-examples": {
+ "JobSchedule list": {
+ "$ref": "./examples/JobScheduleList.json"
+ }
+ },
+ "summary": "Lists all of the Job Schedules in the specified Account.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-schedules.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 Job Schedules can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of Job Schedules.",
+ "schema": {
+ "$ref": "#/definitions/CloudJobScheduleListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}": {
+ "delete": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_Delete",
+ "x-ms-examples": {
+ "Delete Job": {
+ "$ref": "./examples/JobDelete.json"
+ }
+ },
+ "summary": "Deletes a Job.",
+ "description": "Deleting a Job also deletes all Tasks that are part of that Job, and all Job statistics. This also overrides the retention period for Task data; that is, if the Job contains Tasks which are still retained on Compute Nodes, the Batch services deletes those Tasks' working directories and all their contents. When a Delete Job request is received, the Batch service sets the Job to the deleting state. All update operations on a Job that is in deleting state will fail with status code 409 (Conflict), with additional information indicating that the Job is being deleted.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job to delete."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_Get",
+ "x-ms-examples": {
+ "Job get": {
+ "$ref": "./examples/JobGet.json"
+ }
+ },
+ "summary": "Gets information about the specified Job.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the Job.",
+ "schema": {
+ "$ref": "#/definitions/CloudJob"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_Patch",
+ "x-ms-examples": {
+ "Job patch": {
+ "$ref": "./examples/JobPatch.json"
+ }
+ },
+ "summary": "Updates the properties of the specified Job.",
+ "description": "This replaces only the Job properties specified in the request. For example, if the Job has constraints, and a request does not specify the constraints element, then the Job keeps the existing constraints.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job whose properties you want to update."
+ },
+ {
+ "name": "jobPatchParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobPatchParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_Update",
+ "x-ms-examples": {
+ "Job update": {
+ "$ref": "./examples/JobUpdate.json"
+ }
+ },
+ "summary": "Updates the properties of the specified Job.",
+ "description": "This fully replaces all the updatable properties of the Job. For example, if the Job has constraints associated with it and if constraints is not specified with this request, then the Batch service will remove the existing constraints.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job whose properties you want to update."
+ },
+ {
+ "name": "jobUpdateParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobUpdateParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/disable": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_Disable",
+ "x-ms-examples": {
+ "Job disable": {
+ "$ref": "./examples/JobDisable.json"
+ }
+ },
+ "summary": "Disables the specified Job, preventing new Tasks from running.",
+ "description": "The Batch Service immediately moves the Job to the disabling state. Batch then uses the disableTasks parameter to determine what to do with the currently running Tasks of the Job. The Job remains in the disabling state until the disable operation is completed and all Tasks have been dealt with according to the disableTasks option; the Job then moves to the disabled state. No new Tasks are started under the Job until it moves back to active state. If you try to disable a Job that is in any state other than active, disabling, or disabled, the request fails with status code 409.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job to disable."
+ },
+ {
+ "name": "jobDisableParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobDisableParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/enable": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_Enable",
+ "x-ms-examples": {
+ "Job enable": {
+ "$ref": "./examples/JobEnable.json"
+ }
+ },
+ "summary": "Enables the specified Job, allowing new Tasks to run.",
+ "description": "When you call this API, the Batch service sets a disabled Job to the enabling state. After the this operation is completed, the Job moves to the active state, and scheduling of new Tasks under the Job resumes. The Batch service does not allow a Task to remain in the active state for more than 180 days. Therefore, if you enable a Job containing active Tasks which were added more than 180 days ago, those Tasks will not run.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job to enable."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/terminate": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_Terminate",
+ "x-ms-examples": {
+ "Job terminate": {
+ "$ref": "./examples/JobTerminate.json"
+ }
+ },
+ "summary": "Terminates the specified Job, marking it as completed.",
+ "description": "When a Terminate Job request is received, the Batch service sets the Job to the terminating state. The Batch service then terminates any running Tasks associated with the Job and runs any required Job release Tasks. Then the Job moves into the completed state. If there are any Tasks in the Job in the active state, they will remain in the active state. Once a Job is terminated, new Tasks cannot be added and any remaining active Tasks will not be scheduled.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job to terminate."
+ },
+ {
+ "name": "jobTerminateParameter",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/JobTerminateParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_Add",
+ "x-ms-examples": {
+ "Add a basic job": {
+ "$ref": "./examples/JobAdd_Basic.json"
+ },
+ "Add a complex job": {
+ "$ref": "./examples/JobAdd_Complex.json"
+ }
+ },
+ "summary": "Adds a Job to the specified Account.",
+ "description": "The Batch service supports two ways to control the work done as part of a Job. In the first approach, the user specifies a Job Manager Task. The Batch service launches this Task when it is ready to start the Job. The Job Manager Task controls all other Tasks that run under this Job, by using the Task APIs. In the second approach, the user directly controls the execution of Tasks under an active Job, by using the Task APIs. Also note: when naming Jobs, avoid including sensitive information such as user names or secret project names. This information may appear in telemetry logs accessible to Microsoft Support engineers.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "job",
+ "in": "body",
+ "description": "The Job to be added.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobAddParameter"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "Job_List",
+ "x-ms-examples": {
+ "Job list": {
+ "$ref": "./examples/JobList.json"
+ }
+ },
+ "summary": "Lists all of the Jobs in the specified Account.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 Jobs can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of Jobs.",
+ "schema": {
+ "$ref": "#/definitions/CloudJobListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobschedules/{jobScheduleId}/jobs": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "x-ms-examples": {
+ "List Job Under Job Schedule": {
+ "$ref": "./examples/JobListFromJobSchedule.json"
+ }
+ },
+ "operationId": "Job_ListFromJobSchedule",
+ "summary": "Lists the Jobs that have been created under the specified Job Schedule.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobScheduleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job Schedule from which you want to get a list of Jobs."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs-in-a-job-schedule.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 Jobs can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of Jobs.",
+ "schema": {
+ "$ref": "#/definitions/CloudJobListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/jobpreparationandreleasetaskstatus": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "Job_ListPreparationAndReleaseTaskStatus",
+ "x-ms-examples": {
+ "Job list preparation and release task status": {
+ "$ref": "./examples/JobListPreparationAndReleaseTaskStatus.json"
+ }
+ },
+ "summary": "Lists the execution status of the Job Preparation and Job Release Task for the specified Job across the Compute Nodes where the Job has run.",
+ "description": "This API returns the Job Preparation and Job Release Task status on all Compute Nodes that have run the Job Preparation or Job Release Task. This includes Compute Nodes which have since been removed from the Pool. If this API is invoked on a Job which has no Job Preparation or Job Release Task, the Batch service returns HTTP status code 409 (Conflict) with an error code of JobPreparationTaskNotSpecified.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-preparation-and-release-status.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 Tasks can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing a list of Job Preparation and Job Release Task statuses.",
+ "schema": {
+ "$ref": "#/definitions/CloudJobListPreparationAndReleaseTaskStatusResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service. If this API is invoked on a Job which has no Job Preparation or Job Release Task, the Batch service returns HTTP status code 409.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/taskcounts": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "operationId": "Job_GetTaskCounts",
+ "x-ms-examples": {
+ "Job get task counts": {
+ "$ref": "./examples/JobGetTaskCounts.json"
+ }
+ },
+ "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. 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": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ "description": "A response containing the Task counts for the specified Job.",
+ "schema": {
+ "$ref": "#/definitions/TaskCountsResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools": {
+ "post": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_Add",
+ "x-ms-examples": {
+ "Add a CloudServiceConfiguration pool": {
+ "$ref": "./examples/PoolAdd_CloudServiceConfiguration.json"
+ },
+ "Add a VirtualMachineConfiguration pool": {
+ "$ref": "./examples/PoolAdd_VirtualMachineConfiguration.json"
+ },
+ "Add a VirtualMachineConfiguration pool with containers": {
+ "$ref": "./examples/PoolAdd_VirtualMachineConfigurationWithContainers.json"
+ },
+ "Add a VirtualMachineConfiguration pool with extensions": {
+ "$ref": "./examples/PoolAdd_VirtualMachineConfigurationWithExtensions.json"
+ },
+ "Add a pool with mount drive specified": {
+ "$ref": "./examples/PoolAdd_MountConfiguration.json"
+ }
+ },
+ "summary": "Adds a Pool to the specified Account.",
+ "description": "When naming Pools, avoid including sensitive information such as user names or secret project names. This information may appear in telemetry logs accessible to Microsoft Support engineers.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "pool",
+ "in": "body",
+ "description": "The Pool to be added.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PoolAddParameter"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Pools"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "Pool_List",
+ "x-ms-examples": {
+ "Pool list": {
+ "$ref": "./examples/PoolList_Basic.json"
+ }
+ },
+ "summary": "Lists all of the Pools in the specified Account.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-pools.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 Pools can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of Pools.",
+ "schema": {
+ "$ref": "#/definitions/CloudPoolListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}": {
+ "delete": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_Delete",
+ "x-ms-examples": {
+ "Pool delete": {
+ "$ref": "./examples/PoolDelete.json"
+ }
+ },
+ "summary": "Deletes a Pool from the specified Account.",
+ "description": "When you request that a Pool be deleted, the following actions occur: the Pool state is set to deleting; any ongoing resize operation on the Pool are stopped; the Batch service starts resizing the Pool to zero Compute Nodes; any Tasks running on existing Compute Nodes are terminated and requeued (as if a resize Pool operation had been requested with the default requeue option); finally, the Pool is removed from the system. Because running Tasks are requeued, the user can rerun these Tasks by updating their Job to target a different Pool. The Tasks can then run on the new Pool. If you want to override the requeue behavior, then you should call resize Pool explicitly to shrink the Pool to zero size before deleting the Pool. If you call an Update, Patch or Delete API on a Pool in the deleting state, it will fail with HTTP status code 409 with error code PoolBeingDeleted.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool to delete."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "head": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_Exists",
+ "x-ms-examples": {
+ "Check Pool Exists": {
+ "$ref": "./examples/PoolExists.json"
+ }
+ },
+ "description": "Gets basic properties of a Pool.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool to get."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing headers related to the Pool, if it exists."
+ },
+ "404": {
+ "description": "The Pool does not exist."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_Get",
+ "x-ms-examples": {
+ "Pool get": {
+ "$ref": "./examples/PoolGet_Basic.json"
+ },
+ "Get a VirtualMachineConfiguration pool with extensions": {
+ "$ref": "./examples/PoolGet_VirtualMachineConfigurationWithExtensions.json"
+ }
+ },
+ "description": "Gets information about the specified Pool.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool to get."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the Pool.",
+ "schema": {
+ "$ref": "#/definitions/CloudPool"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_Patch",
+ "x-ms-examples": {
+ "Patch the Pool": {
+ "$ref": "./examples/PoolPatch.json"
+ }
+ },
+ "summary": "Updates the properties of the specified Pool.",
+ "description": "This only replaces the Pool properties specified in the request. For example, if the Pool has a StartTask associated with it, and a request does not specify a StartTask element, then the Pool keeps the existing StartTask.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool to update."
+ },
+ {
+ "name": "poolPatchParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PoolPatchParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/disableautoscale": {
+ "post": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_DisableAutoScale",
+ "x-ms-examples": {
+ "Disable pool autoscale": {
+ "$ref": "./examples/PoolDisableAutoScale.json"
+ }
+ },
+ "summary": "Disables automatic scaling for a Pool.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool on which to disable automatic scaling."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/enableautoscale": {
+ "post": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_EnableAutoScale",
+ "x-ms-examples": {
+ "Pool enable autoscale": {
+ "$ref": "./examples/PoolEnableAutoscale.json"
+ }
+ },
+ "summary": "Enables automatic scaling for a Pool.",
+ "description": "You cannot enable automatic scaling on a Pool if a resize operation is in progress on the Pool. If automatic scaling of the Pool is currently disabled, you must specify a valid autoscale formula as part of the request. If automatic scaling of the Pool is already enabled, you may specify a new autoscale formula and/or a new evaluation interval. You cannot call this API for the same Pool more than once every 30 seconds.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool on which to enable automatic scaling."
+ },
+ {
+ "name": "poolEnableAutoScaleParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PoolEnableAutoScaleParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/evaluateautoscale": {
+ "post": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_EvaluateAutoScale",
+ "x-ms-examples": {
+ "Pool evaluate autoscale": {
+ "$ref": "./examples/PoolEvaluateAutoscale.json"
+ }
+ },
+ "summary": "Gets the result of evaluating an automatic scaling formula on the Pool.",
+ "description": "This API is primarily for validating an autoscale formula, as it simply returns the result without applying the formula to the Pool. The Pool must have auto scaling enabled in order to evaluate a formula.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool on which to evaluate the automatic scaling formula."
+ },
+ {
+ "name": "poolEvaluateAutoScaleParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PoolEvaluateAutoScaleParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "A response containing the results of the autoscale evaluation.",
+ "schema": {
+ "$ref": "#/definitions/AutoScaleRun"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/resize": {
+ "post": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_Resize",
+ "x-ms-examples": {
+ "Pool resize": {
+ "$ref": "./examples/PoolResize.json"
+ }
+ },
+ "summary": "Changes the number of Compute Nodes that are assigned to a Pool.",
+ "description": "You can only resize a Pool when its allocation state is steady. If the Pool is already resizing, the request fails with status code 409. When you resize a Pool, the Pool's allocation state changes from steady to resizing. You cannot resize Pools which are configured for automatic scaling. If you try to do this, the Batch service returns an error 409. If you resize a Pool downwards, the Batch service chooses which Compute Nodes to remove. To remove specific Compute Nodes, use the Pool remove Compute Nodes API instead.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool to resize."
+ },
+ {
+ "name": "poolResizeParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PoolResizeParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/stopresize": {
+ "post": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_StopResize",
+ "x-ms-examples": {
+ "Pool stop resize": {
+ "$ref": "./examples/PoolStopResize.json"
+ }
+ },
+ "summary": "Stops an ongoing resize operation on the Pool.",
+ "description": "This does not restore the Pool to its previous state before the resize operation: it only stops any further changes being made, and the Pool maintains its current state. After stopping, the Pool stabilizes at the number of Compute Nodes it was at when the stop operation was done. During the stop operation, the Pool allocation state changes first to stopping and then to steady. A resize operation need not be an explicit resize Pool request; this API can also be used to halt the initial sizing of the Pool when it is created.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool whose resizing you want to stop."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service. If you call this API on a Pool which is not in the resizing state, the request fails with HTTP status code 409.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/updateproperties": {
+ "post": {
+ "tags": [
+ "Pools"
+ ],
+ "operationId": "Pool_UpdateProperties",
+ "x-ms-examples": {
+ "Pool update": {
+ "$ref": "./examples/PoolUpdate.json"
+ }
+ },
+ "summary": "Updates the properties of the specified Pool.",
+ "description": "This fully replaces all the updatable properties of the Pool. For example, if the Pool has a StartTask associated with it and if StartTask is not specified with this request, then the Batch service will remove the existing StartTask.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool to update."
+ },
+ {
+ "name": "poolUpdatePropertiesParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PoolUpdatePropertiesParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/removenodes": {
+ "post": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "Pool_RemoveNodes",
+ "x-ms-examples": {
+ "Pool remove nodes": {
+ "$ref": "./examples/PoolRemoveNodes.json"
+ }
+ },
+ "summary": "Removes Compute Nodes from the specified Pool.",
+ "description": "This operation can only run when the allocation state of the Pool is steady. When this operation runs, the allocation state changes from steady to resizing. Each request may remove up to 100 nodes.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool from which you want to remove Compute Nodes."
+ },
+ {
+ "name": "nodeRemoveParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NodeRemoveParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/tasks": {
+ "post": {
+ "tags": [
+ "Tasks"
+ ],
+ "operationId": "Task_Add",
+ "x-ms-examples": {
+ "Add a basic task": {
+ "$ref": "./examples/TaskAdd_Basic.json"
+ },
+ "Add a task with exit conditions": {
+ "$ref": "./examples/TaskAdd_ExitConditions.json"
+ },
+ "Add a task with container settings": {
+ "$ref": "./examples/TaskAdd_ContainerSettings.json"
+ },
+ "Add a task with extra slot requirement": {
+ "$ref": "./examples/TaskAdd_RequiredSlots.json"
+ }
+ },
+ "summary": "Adds a Task to the specified Job.",
+ "description": "The maximum lifetime of a Task from addition to completion is 180 days. If a Task has not completed within 180 days of being added it will be terminated by the Batch service and left in whatever state it was in at that time.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job to which the Task is to be added."
+ },
+ {
+ "name": "task",
+ "in": "body",
+ "description": "The Task to be added.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TaskAddParameter"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Tasks"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "Task_List",
+ "x-ms-examples": {
+ "Task list": {
+ "$ref": "./examples/TaskList.json"
+ }
+ },
+ "summary": "Lists all of the Tasks that are associated with the specified Job.",
+ "description": "For multi-instance Tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary Task. Use the list subtasks API to retrieve information about subtasks.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-tasks.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 Tasks can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of Tasks.",
+ "schema": {
+ "$ref": "#/definitions/CloudTaskListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/addtaskcollection": {
+ "post": {
+ "tags": [
+ "Tasks"
+ ],
+ "operationId": "Task_AddCollection",
+ "x-ms-examples": {
+ "Add a basic collection of tasks": {
+ "$ref": "./examples/TaskAddCollection_Basic.json"
+ },
+ "Add a complex collection of tasks": {
+ "$ref": "./examples/TaskAddCollection_Complex.json"
+ }
+ },
+ "summary": "Adds a collection of Tasks to the specified Job.",
+ "description": "Note that each Task must have a unique ID. The Batch service may not return the results for each Task in the same order the Tasks were submitted in this request. If the server times out or the connection is closed during the request, the request may have been partially or fully processed, or not at all. In such cases, the user should re-issue the request. Note that it is up to the user to correctly handle failures when re-issuing a request. For example, you should use the same Task IDs during a retry so that if the prior operation succeeded, the retry will not create extra Tasks unexpectedly. If the response contains any Tasks which failed to add, a client can retry the request. In a retry, it is most efficient to resubmit only Tasks that failed to add, and to omit Tasks that were successfully added on the first attempt. The maximum lifetime of a Task from addition to completion is 180 days. If a Task has not completed within 180 days of being added it will be terminated by the Batch service and left in whatever state it was in at that time.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job to which the Task collection is to be added."
+ },
+ {
+ "name": "taskCollection",
+ "in": "body",
+ "description": "The Tasks to be added.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TaskAddCollectionParameter"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/TaskAddCollectionResult"
+ },
+ "description": "A response containing the results of the add Task collection operation."
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/tasks/{taskId}": {
+ "delete": {
+ "tags": [
+ "Tasks"
+ ],
+ "operationId": "Task_Delete",
+ "x-ms-examples": {
+ "Task delete": {
+ "$ref": "./examples/TaskDelete.json"
+ }
+ },
+ "summary": "Deletes a Task from the specified Job.",
+ "description": "When a Task is deleted, all of the files in its directory on the Compute Node where it ran are also deleted (regardless of the retention time). For multi-instance Tasks, the delete Task operation applies synchronously to the primary task; subtasks and their files are then deleted asynchronously in the background.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job from which to delete the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task to delete."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Tasks"
+ ],
+ "operationId": "Task_Get",
+ "x-ms-examples": {
+ "Task get": {
+ "$ref": "./examples/TaskGet.json"
+ }
+ },
+ "summary": "Gets information about the specified Task.",
+ "description": "For multi-instance Tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary Task. Use the list subtasks API to retrieve information about subtasks.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job that contains the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task to get information about."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $expand clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "A response containing the Task.",
+ "schema": {
+ "$ref": "#/definitions/CloudTask"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Tasks"
+ ],
+ "operationId": "Task_Update",
+ "x-ms-examples": {
+ "Task update": {
+ "$ref": "./examples/TaskUpdate.json"
+ }
+ },
+ "description": "Updates the properties of the specified Task.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job containing the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task to update."
+ },
+ {
+ "name": "taskUpdateParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TaskUpdateParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/tasks/{taskId}/subtasksinfo": {
+ "get": {
+ "tags": [
+ "Tasks"
+ ],
+ "operationId": "Task_ListSubtasks",
+ "x-ms-examples": {
+ "Task list subtasks": {
+ "$ref": "./examples/TaskListSubtasks.json"
+ }
+ },
+ "summary": "Lists all of the subtasks that are associated with the specified multi-instance Task.",
+ "description": "If the Task is not a multi-instance Task then this returns an empty collection.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of subtasks.",
+ "schema": {
+ "$ref": "#/definitions/CloudTaskListSubtasksResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/tasks/{taskId}/terminate": {
+ "post": {
+ "tags": [
+ "Tasks"
+ ],
+ "operationId": "Task_Terminate",
+ "x-ms-examples": {
+ "Task terminate": {
+ "$ref": "./examples/TaskTerminate.json"
+ }
+ },
+ "summary": "Terminates the specified Task.",
+ "description": "When the Task has been terminated, it moves to the completed state. For multi-instance Tasks, the terminate Task operation applies synchronously to the primary task; subtasks are then terminated asynchronously in the background.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job containing the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task to terminate."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/tasks/{taskId}/reactivate": {
+ "post": {
+ "tags": [
+ "Tasks"
+ ],
+ "operationId": "Task_Reactivate",
+ "x-ms-examples": {
+ "Task reactivate": {
+ "$ref": "./examples/TaskReactivate.json"
+ }
+ },
+ "summary": "Reactivates a Task, allowing it to run again even if its retry count has been exhausted.",
+ "description": "Reactivation makes a Task eligible to be retried again up to its maximum retry count. The Task's state is changed to active. As the Task is no longer in the completed state, any previous exit code or failure information is no longer available after reactivation. Each time a Task is reactivated, its retry count is reset to 0. Reactivation will fail for Tasks that are not completed or that previously completed successfully (with an exit code of 0). Additionally, it will fail if the Job has completed (or is terminating or deleting).",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "jobId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Job containing the Task."
+ },
+ {
+ "name": "taskId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Task to reactivate."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service exactly matches the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "An ETag value associated with the version of the resource known to the client. The operation will be performed only if the resource's current ETag on the service does not match the value specified by the client.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Modified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "If-Unmodified-Since",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "A timestamp indicating the last modified time of the resource known to the client. The operation will be performed only if the resource on the service has not been modified since the specified time.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/users": {
+ "post": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_AddUser",
+ "x-ms-examples": {
+ "Node add user": {
+ "$ref": "./examples/NodeAddUser.json"
+ }
+ },
+ "summary": "Adds a user Account to the specified Compute Node.",
+ "description": "You can add a user Account to a Compute Node only when it is in the idle or running state.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the machine on which you want to create a user Account."
+ },
+ {
+ "name": "user",
+ "in": "body",
+ "description": "The user Account to be created.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ComputeNodeUser"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/users/{userName}": {
+ "delete": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_DeleteUser",
+ "x-ms-examples": {
+ "Node delete user": {
+ "$ref": "./examples/NodeDeleteUser.json"
+ }
+ },
+ "summary": "Deletes a user Account from the specified Compute Node.",
+ "description": "You can delete a user Account to a Compute Node only when it is in the idle or running state.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the machine on which you want to delete a user Account."
+ },
+ {
+ "name": "userName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the user Account to delete."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_UpdateUser",
+ "x-ms-examples": {
+ "Node update user": {
+ "$ref": "./examples/NodeUpdateUser.json"
+ }
+ },
+ "summary": "Updates the password and expiration time of a user Account on the specified Compute Node.",
+ "description": "This operation replaces of all the updatable properties of the Account. For example, if the expiryTime element is not specified, the current value is replaced with the default value, not left unmodified. You can update a user Account on a Compute Node only when it is in the idle or running state.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the machine on which you want to update a user Account."
+ },
+ {
+ "name": "userName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the user Account to update."
+ },
+ {
+ "name": "nodeUpdateUserParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NodeUpdateUserParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}": {
+ "get": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_Get",
+ "x-ms-examples": {
+ "Node get": {
+ "$ref": "./examples/NodeGet_Basic.json"
+ }
+ },
+ "summary": "Gets information about the specified Compute Node.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node that you want to get information about."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the Compute Node.",
+ "schema": {
+ "$ref": "#/definitions/ComputeNode"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/reboot": {
+ "post": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_Reboot",
+ "x-ms-examples": {
+ "Node reboot": {
+ "$ref": "./examples/NodeReboot.json"
+ }
+ },
+ "summary": "Restarts the specified Compute Node.",
+ "description": "You can restart a Compute Node only if it is in an idle or running state.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node that you want to restart."
+ },
+ {
+ "name": "nodeRebootParameter",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/NodeRebootParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/reimage": {
+ "post": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_Reimage",
+ "x-ms-examples": {
+ "Node reimage": {
+ "$ref": "./examples/NodeReimage.json"
+ }
+ },
+ "summary": "Reinstalls the operating system on the specified Compute Node.",
+ "description": "You can reinstall the operating system on a Compute Node only if it is in an idle or running state. This API can be invoked only on Pools created with the cloud service configuration property.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node that you want to restart."
+ },
+ {
+ "name": "nodeReimageParameter",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/NodeReimageParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/disablescheduling": {
+ "post": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_DisableScheduling",
+ "x-ms-examples": {
+ "Node disable scheduling": {
+ "$ref": "./examples/NodeDisableScheduling.json"
+ }
+ },
+ "summary": "Disables Task scheduling on the specified Compute Node.",
+ "description": "You can disable Task scheduling on a Compute Node only if its current scheduling state is enabled.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node on which you want to disable Task scheduling."
+ },
+ {
+ "name": "nodeDisableSchedulingParameter",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/NodeDisableSchedulingParameter"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/enablescheduling": {
+ "post": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_EnableScheduling",
+ "x-ms-examples": {
+ "Node enable scheduling": {
+ "$ref": "./examples/NodeEnableScheduling.json"
+ }
+ },
+ "summary": "Enables Task scheduling on the specified Compute Node.",
+ "description": "You can enable Task scheduling on a Compute Node only if its current scheduling state is disabled",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node on which you want to enable Task scheduling."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "DataServiceId": {
+ "description": "The OData ID of the resource to which the request applied.",
+ "type": "string"
+ }
+ },
+ "description": "The request to the Batch service was successful."
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/remoteloginsettings": {
+ "get": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_GetRemoteLoginSettings",
+ "x-ms-examples": {
+ "Node get remote login settings": {
+ "$ref": "./examples/NodeGetRemoteLoginSettings.json"
+ }
+ },
+ "summary": "Gets the settings required for remote login to a Compute Node.",
+ "description": "Before you can remotely login to a Compute Node using the remote login settings, you must create a user Account on the Compute Node. This API can be invoked only on Pools created with the virtual machine configuration property. For Pools created with a cloud service configuration, see the GetRemoteDesktop API.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node for which to obtain the remote login settings."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the login settings.",
+ "schema": {
+ "$ref": "#/definitions/ComputeNodeGetRemoteLoginSettingsResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/rdp": {
+ "get": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_GetRemoteDesktop",
+ "x-ms-examples": {
+ "Get RDP file of the compute node": {
+ "$ref": "./examples/NodeGetRemoteDesktop.json"
+ }
+ },
+ "summary": "Gets the Remote Desktop Protocol file for the specified Compute Node.",
+ "description": "Before you can access a Compute Node by using the RDP file, you must create a user Account on the Compute Node. This API can only be invoked on Pools created with a cloud service configuration. For Pools created with a virtual machine configuration, see the GetRemoteLoginSettings API.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node for which you want to get the Remote Desktop Protocol file."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "produces": [
+ "application/json",
+ "application/octet-stream"
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the RDP information.",
+ "schema": {
+ "type": "object",
+ "format": "file"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs": {
+ "post": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNode_UploadBatchServiceLogs",
+ "summary": "Upload Azure Batch service log files from the specified Compute Node to Azure Blob Storage.",
+ "description": "This is for gathering Azure Batch service log files in an automated fashion from Compute Nodes if you are experiencing an error and wish to escalate to Azure support. The Azure Batch service log files should be shared with Azure support to aid in debugging issues with the Batch service.",
+ "x-ms-examples": {
+ "Upload BatchService Logs": {
+ "$ref": "./examples/NodeUploadBatchServiceLogs.json"
+ }
+ },
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node from which you want to upload the Azure Batch service log files."
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "uploadBatchServiceLogsConfiguration",
+ "in": "body",
+ "description": "The Azure Batch service log files upload configuration.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UploadBatchServiceLogsConfiguration"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ "description": "The request to the Batch service was successful.",
+ "schema": {
+ "$ref": "#/definitions/UploadBatchServiceLogsResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes": {
+ "get": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "ComputeNode_List",
+ "x-ms-examples": {
+ "Node list": {
+ "$ref": "./examples/NodeList.json"
+ }
+ },
+ "summary": "Lists the Compute Nodes in the specified Pool.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool from which you want to list Compute Nodes."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-nodes-in-a-pool.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 Compute Nodes can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of Compute Nodes.",
+ "schema": {
+ "$ref": "#/definitions/ComputeNodeListResult"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/extensions/{extensionName}": {
+ "get": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "operationId": "ComputeNodeExtension_Get",
+ "x-ms-examples": {
+ "Get compute node extension": {
+ "$ref": "./examples/ComputeNodeExtensionGet.json"
+ }
+ },
+ "summary": "Gets information about the specified Compute Node Extension.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains the Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node that contains the extensions."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the of the Compute Node Extension that you want to get information about."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the Compute Node Extension.",
+ "schema": {
+ "$ref": "#/definitions/NodeVMExtension"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ },
+ "/pools/{poolId}/nodes/{nodeId}/extensions": {
+ "get": {
+ "tags": [
+ "ComputeNodes"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink"
+ },
+ "operationId": "ComputeNodeExtension_List",
+ "x-ms-examples": {
+ "List compute node extensions": {
+ "$ref": "./examples/ComputeNodeExtensionList.json"
+ }
+ },
+ "summary": "Lists the Compute Nodes Extensions in the specified Pool.",
+ "x-ms-request-id": "request-id",
+ "parameters": [
+ {
+ "name": "poolId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Pool that contains Compute Node."
+ },
+ {
+ "name": "nodeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Compute Node that you want to list extensions."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "An OData $select clause.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "maxresults",
+ "x-ms-client-name": "maxResults",
+ "default": 1000,
+ "minimum": 1,
+ "maximum": 1000,
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response. A maximum of 1000 Compute Nodes can be returned.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "timeout",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "default": 30,
+ "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "client-request-id",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "uuid",
+ "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ },
+ "x-ms-client-request-id": true
+ },
+ {
+ "name": "return-client-request-id",
+ "default": false,
+ "in": "header",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether the server should return the client-request-id in the response.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "name": "ocp-date",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.",
+ "x-ms-parameter-grouping": {
+ "postfix": "Options"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "client-request-id": {
+ "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "request-id": {
+ "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.",
+ "type": "string"
+ },
+ "Last-Modified": {
+ "description": "The time at which the resource was last modified.",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ },
+ "description": "A response containing the list of Compute Nodes.",
+ "schema": {
+ "$ref": "#/definitions/NodeVMExtensionList"
+ }
+ },
+ "default": {
+ "description": "The error from the Batch service.",
+ "schema": {
+ "$ref": "#/definitions/BatchError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PoolUsageMetrics": {
+ "type": "object",
+ "properties": {
+ "poolId": {
+ "type": "string",
+ "title": "The ID of the Pool whose metrics are aggregated in this entry."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start time of the aggregation interval covered by this entry."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The end time of the aggregation interval covered by this entry."
+ },
+ "vmSize": {
+ "type": "string",
+ "title": "The size of virtual machines in the Pool. All VMs in a Pool are the same size.",
+ "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)."
+ },
+ "totalCoreHours": {
+ "type": "number",
+ "format": "double",
+ "title": "The total core hours used in the Pool during this aggregation interval."
+ }
+ },
+ "required": [
+ "poolId",
+ "startTime",
+ "endTime",
+ "vmSize",
+ "totalCoreHours"
+ ],
+ "title": "Usage metrics for a Pool across an aggregation interval."
+ },
+ "PoolListUsageMetricsResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PoolUsageMetrics"
+ },
+ "title": "The Pool usage metrics data."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of a listing the usage metrics for an Account."
+ },
+ "ImageInformation": {
+ "type": "object",
+ "properties": {
+ "nodeAgentSKUId": {
+ "type": "string",
+ "title": "The ID of the Compute Node agent SKU which the Image supports."
+ },
+ "imageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "title": "The reference to the Azure Virtual Machine's Marketplace Image."
+ },
+ "osType": {
+ "type": "string",
+ "title": "The type of operating system (e.g. Windows or Linux) of the Image.",
+ "enum": [
+ "linux",
+ "windows"
+ ],
+ "x-ms-enum": {
+ "name": "OSType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "linux",
+ "description": "The Linux operating system."
+ },
+ {
+ "value": "windows",
+ "description": "The Windows operating system."
+ }
+ ]
+ }
+ },
+ "capabilities": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The capabilities or features which the Image supports.",
+ "description": "Not every capability of the Image is listed. Capabilities in this list are considered of special interest and are generally related to integration with other features in the Azure Batch service."
+ },
+ "batchSupportEndOfLife": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time when the Azure Batch service will stop accepting create Pool requests for the Image."
+ },
+ "verificationType": {
+ "type": "string",
+ "title": "Whether the Azure Batch service actively verifies that the Image is compatible with the associated Compute Node agent SKU.",
+ "enum": [
+ "verified",
+ "unverified"
+ ],
+ "x-ms-enum": {
+ "name": "VerificationType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "verified",
+ "description": "The Image is guaranteed to be compatible with the associated Compute Node agent SKU and all Batch features have been confirmed to work as expected."
+ },
+ {
+ "value": "unverified",
+ "description": "The associated Compute Node agent SKU should have binary compatibility with the Image, but specific functionality has not been verified."
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "imageReference",
+ "verificationType",
+ "osType",
+ "nodeAgentSKUId"
+ ],
+ "title": "A reference to the Azure Virtual Machines Marketplace Image and additional information about the Image."
+ },
+ "AuthenticationTokenSettings": {
+ "type": "object",
+ "properties": {
+ "access": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "x-nullable": false,
+ "enum": [
+ "job"
+ ],
+ "x-ms-enum": {
+ "name": "AccessScope",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "job",
+ "description": "Grants access to perform all operations on the Job containing the Task."
+ }
+ ]
+ }
+ },
+ "title": "The Batch resources to which the token grants access.",
+ "description": "The authentication token grants access to a limited set of Batch service operations. Currently the only supported value for the access property is 'job', which grants access to all operations related to the Job which contains the Task."
+ }
+ },
+ "title": "The settings for an authentication token that the Task can use to perform Batch service operations."
+ },
+ "AccountListSupportedImagesResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageInformation"
+ },
+ "title": "The list of supported Virtual Machine Images."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the supported Virtual Machine Images."
+ },
+ "UsageStatistics": {
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start time of the time range covered by the statistics."
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime."
+ },
+ "dedicatedCoreTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The aggregated wall-clock time of the dedicated Compute Node cores being part of the Pool."
+ }
+ },
+ "required": [
+ "startTime",
+ "lastUpdateTime",
+ "dedicatedCoreTime"
+ ],
+ "title": "Statistics related to Pool usage information."
+ },
+ "ResourceStatistics": {
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start time of the time range covered by the statistics."
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime."
+ },
+ "avgCPUPercentage": {
+ "type": "number",
+ "format": "double",
+ "title": "The average CPU usage across all Compute Nodes in the Pool (percentage per node)."
+ },
+ "avgMemoryGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The average memory usage in GiB across all Compute Nodes in the Pool."
+ },
+ "peakMemoryGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The peak memory usage in GiB across all Compute Nodes in the Pool."
+ },
+ "avgDiskGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The average used disk space in GiB across all Compute Nodes in the Pool."
+ },
+ "peakDiskGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The peak used disk space in GiB across all Compute Nodes in the Pool."
+ },
+ "diskReadIOps": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of disk read operations across all Compute Nodes in the Pool."
+ },
+ "diskWriteIOps": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of disk write operations across all Compute Nodes in the Pool."
+ },
+ "diskReadGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total amount of data in GiB of disk reads across all Compute Nodes in the Pool."
+ },
+ "diskWriteGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total amount of data in GiB of disk writes across all Compute Nodes in the Pool."
+ },
+ "networkReadGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total amount of data in GiB of network reads across all Compute Nodes in the Pool."
+ },
+ "networkWriteGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total amount of data in GiB of network writes across all Compute Nodes in the Pool."
+ }
+ },
+ "required": [
+ "startTime",
+ "lastUpdateTime",
+ "avgCPUPercentage",
+ "avgMemoryGiB",
+ "peakMemoryGiB",
+ "avgDiskGiB",
+ "peakDiskGiB",
+ "diskReadIOps",
+ "diskWriteIOps",
+ "diskReadGiB",
+ "diskWriteGiB",
+ "networkReadGiB",
+ "networkWriteGiB"
+ ],
+ "title": "Statistics related to resource consumption by Compute Nodes in a Pool."
+ },
+ "PoolStatistics": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "title": "The URL for the statistics."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start time of the time range covered by the statistics."
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime."
+ },
+ "usageStats": {
+ "$ref": "#/definitions/UsageStatistics",
+ "title": "Statistics related to Pool usage, such as the amount of core-time used."
+ },
+ "resourceStats": {
+ "$ref": "#/definitions/ResourceStatistics",
+ "title": "Statistics related to resource consumption by Compute Nodes in the Pool."
+ }
+ },
+ "required": [
+ "url",
+ "startTime",
+ "lastUpdateTime"
+ ],
+ "title": "Contains utilization and resource usage statistics for the lifetime of a Pool."
+ },
+ "JobStatistics": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "title": "The URL of the statistics."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start time of the time range covered by the statistics."
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime."
+ },
+ "userCPUTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total user mode CPU time (summed across all cores and all Compute Nodes) consumed by all Tasks in the Job."
+ },
+ "kernelCPUTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total kernel mode CPU time (summed across all cores and all Compute Nodes) consumed by all Tasks in the Job."
+ },
+ "wallClockTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total wall clock time of all Tasks in the Job.",
+ "description": " The wall clock time is the elapsed time from when the Task started running on a Compute Node to when it finished (or to the last time the statistics were updated, if the Task had not finished by then). If a Task was retried, this includes the wall clock time of all the Task retries."
+ },
+ "readIOps": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of disk read operations made by all Tasks in the Job."
+ },
+ "writeIOps": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of disk write operations made by all Tasks in the Job."
+ },
+ "readIOGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total amount of data in GiB read from disk by all Tasks in the Job."
+ },
+ "writeIOGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total amount of data in GiB written to disk by all Tasks in the Job."
+ },
+ "numSucceededTasks": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of Tasks successfully completed in the Job during the given time range.",
+ "description": "A Task completes successfully if it returns exit code 0."
+ },
+ "numFailedTasks": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of Tasks in the Job that failed during the given time range.",
+ "description": "A Task fails if it exhausts its maximum retry count without returning exit code 0."
+ },
+ "numTaskRetries": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of retries on all the Tasks in the Job during the given time range."
+ },
+ "waitTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total wait time of all Tasks in the Job.",
+ "description": "The wait time for a Task is defined as the elapsed time between the creation of the Task and the start of Task execution. (If the Task is retried due to failures, the wait time is the time to the most recent Task execution.) This value is only reported in the Account lifetime statistics; it is not included in the Job statistics."
+ }
+ },
+ "required": [
+ "url",
+ "startTime",
+ "lastUpdateTime",
+ "userCPUTime",
+ "kernelCPUTime",
+ "wallClockTime",
+ "readIOps",
+ "writeIOps",
+ "readIOGiB",
+ "writeIOGiB",
+ "numSucceededTasks",
+ "numFailedTasks",
+ "numTaskRetries",
+ "waitTime"
+ ],
+ "title": "Resource usage statistics for a Job."
+ },
+ "NameValuePair": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name in the name-value pair."
+ },
+ "value": {
+ "type": "string",
+ "title": "The value in the name-value pair."
+ }
+ },
+ "title": "Represents a name-value pair."
+ },
+ "DeleteCertificateError": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "title": "An identifier for the Certificate deletion error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "title": "A message describing the Certificate deletion error, intended to be suitable for display in a user interface."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NameValuePair"
+ },
+ "title": "A list of additional error details related to the Certificate deletion error.",
+ "description": "This list includes details such as the active Pools and Compute Nodes referencing this Certificate. However, if a large number of resources reference the Certificate, the list contains only about the first hundred."
+ }
+ },
+ "title": "An error encountered by the Batch service when deleting a Certificate."
+ },
+ "Certificate": {
+ "type": "object",
+ "properties": {
+ "thumbprint": {
+ "type": "string",
+ "title": "The X.509 thumbprint of the Certificate. This is a sequence of up to 40 hex digits."
+ },
+ "thumbprintAlgorithm": {
+ "type": "string",
+ "title": "The algorithm used to derive the thumbprint."
+ },
+ "url": {
+ "type": "string",
+ "title": "The URL of the Certificate."
+ },
+ "state": {
+ "title": "The current state of the Certificate.",
+ "$ref": "#/definitions/CertificateState"
+ },
+ "stateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Certificate entered its current state."
+ },
+ "previousState": {
+ "title": "The previous state of the Certificate.",
+ "description": "This property is not set if the Certificate is in its initial active state.",
+ "$ref": "#/definitions/CertificateState"
+ },
+ "previousStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Certificate entered its previous state.",
+ "description": "This property is not set if the Certificate is in its initial Active state."
+ },
+ "publicData": {
+ "type": "string",
+ "title": "The public part of the Certificate as a base-64 encoded .cer file."
+ },
+ "deleteCertificateError": {
+ "$ref": "#/definitions/DeleteCertificateError",
+ "title": "The error that occurred on the last attempt to delete this Certificate.",
+ "description": "This property is set only if the Certificate is in the DeleteFailed state."
+ }
+ },
+ "description": "A Certificate that can be installed on Compute Nodes and can be used to authenticate operations on the machine."
+ },
+ "ApplicationPackageReference": {
+ "type": "object",
+ "properties": {
+ "applicationId": {
+ "type": "string",
+ "title": "The ID of the application to deploy."
+ },
+ "version": {
+ "type": "string",
+ "title": "The version of the application to deploy. If omitted, the default version is deployed.",
+ "description": "If this is omitted on a Pool, and no default version is specified for this application, the request fails with the error code InvalidApplicationPackageReferences and HTTP status code 409. If this is omitted on a Task, and no default version is specified for this application, the Task fails with a pre-processing error."
+ }
+ },
+ "required": [
+ "applicationId"
+ ],
+ "title": "A reference to an Package to be deployed to Compute Nodes."
+ },
+ "ApplicationSummary": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the application within the Account."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the application."
+ },
+ "versions": {
+ "type": "array",
+ "title": "The list of available versions of the application.",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "id",
+ "displayName",
+ "versions"
+ ],
+ "title": "Contains information about an application in an Azure Batch Account."
+ },
+ "CertificateAddParameter": {
+ "type": "object",
+ "properties": {
+ "thumbprint": {
+ "type": "string",
+ "title": "The X.509 thumbprint of the Certificate. This is a sequence of up to 40 hex digits (it may include spaces but these are removed)."
+ },
+ "thumbprintAlgorithm": {
+ "type": "string",
+ "title": "The algorithm used to derive the thumbprint. This must be sha1."
+ },
+ "data": {
+ "type": "string",
+ "title": "The base64-encoded contents of the Certificate. The maximum size is 10KB."
+ },
+ "certificateFormat": {
+ "type": "string",
+ "title": "The format of the Certificate data.",
+ "enum": [
+ "pfx",
+ "cer"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateFormat",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "pfx",
+ "description": "The Certificate is a PFX (PKCS#12) formatted Certificate or Certificate chain."
+ },
+ {
+ "value": "cer",
+ "description": "The Certificate is a base64-encoded X.509 Certificate."
+ }
+ ]
+ }
+ },
+ "password": {
+ "type": "string",
+ "title": "The password to access the Certificate's private key.",
+ "description": "This must be omitted if the Certificate format is cer."
+ }
+ },
+ "required": [
+ "thumbprint",
+ "thumbprintAlgorithm",
+ "data"
+ ],
+ "title": "A Certificate that can be installed on Compute Nodes and can be used to authenticate operations on the machine."
+ },
+ "CertificateListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Certificate"
+ },
+ "title": "The list of Certificates."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the Certificates in the Account."
+ },
+ "FileProperties": {
+ "type": "object",
+ "properties": {
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The file creation time.",
+ "description": "The creation time is not returned for files on Linux Compute Nodes."
+ },
+ "lastModified": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the file was last modified."
+ },
+ "contentLength": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The length of the file."
+ },
+ "contentType": {
+ "type": "string",
+ "title": "The content type of the file."
+ },
+ "fileMode": {
+ "type": "string",
+ "title": "The file mode attribute in octal format.",
+ "description": "The file mode is returned only for files on Linux Compute Nodes."
+ }
+ },
+ "required": [
+ "lastModified",
+ "contentLength"
+ ],
+ "title": "The properties of a file on a Compute Node."
+ },
+ "NodeFile": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The file path."
+ },
+ "url": {
+ "type": "string",
+ "title": "The URL of the file."
+ },
+ "isDirectory": {
+ "type": "boolean",
+ "title": "Whether the object represents a directory."
+ },
+ "properties": {
+ "$ref": "#/definitions/FileProperties",
+ "title": "The file properties."
+ }
+ },
+ "title": "Information about a file or directory on a Compute Node."
+ },
+ "NodeFileListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeFile"
+ },
+ "title": "The list of files."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the files on a Compute Node, or the files associated with a Task on a Compute Node."
+ },
+ "Schedule": {
+ "type": "object",
+ "properties": {
+ "doNotRunUntil": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The earliest time at which any Job may be created under this Job Schedule.",
+ "description": "If you do not specify a doNotRunUntil time, the schedule becomes ready to create Jobs immediately."
+ },
+ "doNotRunAfter": {
+ "type": "string",
+ "format": "date-time",
+ "title": "A time after which no Job will be created under this Job Schedule. The schedule will move to the completed state as soon as this deadline is past and there is no active Job under this Job Schedule.",
+ "description": "If you do not specify a doNotRunAfter time, and you are creating a recurring Job Schedule, the Job Schedule will remain active until you explicitly terminate it."
+ },
+ "startWindow": {
+ "type": "string",
+ "format": "duration",
+ "title": "The time interval, starting from the time at which the schedule indicates a Job should be created, within which a Job must be created.",
+ "description": "If a Job is not created within the startWindow interval, then the 'opportunity' is lost; no Job will be created until the next recurrence of the schedule. If the schedule is recurring, and the startWindow is longer than the recurrence interval, then this is equivalent to an infinite startWindow, because the Job that is 'due' in one recurrenceInterval is not carried forward into the next recurrence interval. The default is infinite. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "recurrenceInterval": {
+ "type": "string",
+ "format": "duration",
+ "title": "The time interval between the start times of two successive Jobs under the Job Schedule. A Job Schedule can have at most one active Job under it at any given time.",
+ "description": "Because a Job Schedule can have at most one active Job under it at any given time, if it is time to create a new Job under a Job Schedule, but the previous Job is still running, the Batch service will not create the new Job until the previous Job finishes. If the previous Job does not finish within the startWindow period of the new recurrenceInterval, then no new Job will be scheduled for that interval. For recurring Jobs, you should normally specify a jobManagerTask in the jobSpecification. If you do not use jobManagerTask, you will need an external process to monitor when Jobs are created, add Tasks to the Jobs and terminate the Jobs ready for the next recurrence. The default is that the schedule does not recur: one Job is created, within the startWindow after the doNotRunUntil time, and the schedule is complete as soon as that Job finishes. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ }
+ },
+ "title": "The schedule according to which Jobs will be created"
+ },
+ "JobConstraints": {
+ "type": "object",
+ "properties": {
+ "maxWallClockTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The maximum elapsed time that the Job may run, measured from the time the Job is created.",
+ "description": "If the Job does not complete within the time limit, the Batch service terminates it and any Tasks that are still running. In this case, the termination reason will be MaxWallClockTimeExpiry. If this property is not specified, there is no time limit on how long the Job may run."
+ },
+ "maxTaskRetryCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The maximum number of times each Task may be retried. The Batch service retries a Task if its exit code is nonzero.",
+ "description": "Note that this value specifically controls the number of retries. The Batch service will try each Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries a Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry Tasks. If the maximum retry count is -1, the Batch service retries Tasks without limit. The default value is 0 (no retries)."
+ }
+ },
+ "title": "The execution constraints for a Job."
+ },
+ "JobNetworkConfiguration": {
+ "type": "object",
+ "properties": {
+ "subnetId": {
+ "type": "string",
+ "title": "The ARM resource identifier of the virtual network subnet which Compute Nodes running Tasks from the Job will join for the duration of the Task. This will only work with a VirtualMachineConfiguration Pool.",
+ "description": "The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes which will run Tasks from the Job. This can be up to the number of Compute Nodes in the Pool. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet so that Azure Batch service can schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication from the Azure Batch service. For Pools created with a Virtual Machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Port 443 is also required to be open for outbound connections for communications to Azure Storage. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration",
+ "externalDocs": {
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor",
+ "description": "Setting up RBAC for Azure Batch VNETs"
+ }
+ }
+ },
+ "required": [
+ "subnetId"
+ ],
+ "title": "The network configuration for the Job."
+ },
+ "TaskContainerSettings": {
+ "type": "object",
+ "properties": {
+ "containerRunOptions": {
+ "type": "string",
+ "title": "Additional options to the container create command.",
+ "description": "These additional options are supplied as arguments to the \"docker create\" command, in addition to those controlled by the Batch Service."
+ },
+ "imageName": {
+ "type": "string",
+ "title": "The Image to use to create the container in which the Task will run.",
+ "description": "This is the full Image reference, as would be specified to \"docker pull\". If no tag is provided as part of the Image name, the tag \":latest\" is used as a default."
+ },
+ "registry": {
+ "$ref": "#/definitions/ContainerRegistry",
+ "title": "The private registry which contains the container Image.",
+ "description": "This setting can be omitted if was already provided at Pool creation."
+ },
+ "workingDirectory": {
+ "type": "string",
+ "title": "The location of the container Task working directory.",
+ "description": "The default is 'taskWorkingDirectory'.",
+ "enum": [
+ "taskWorkingDirectory",
+ "containerImageDefault"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerWorkingDirectory",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "taskWorkingDirectory",
+ "description": "Use the standard Batch service Task working directory, which will contain the Task Resource Files populated by Batch."
+ },
+ {
+ "value": "containerImageDefault",
+ "description": "Use the working directory defined in the container Image. Beware that this directory will not contain the Resource Files downloaded by Batch."
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "imageName"
+ ],
+ "title": "The container settings for a Task."
+ },
+ "ResourceFile": {
+ "type": "object",
+ "properties": {
+ "autoStorageContainerName": {
+ "type": "string",
+ "title": "The storage container name in the auto storage Account.",
+ "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified."
+ },
+ "storageContainerUrl": {
+ "type": "string",
+ "title": "The URL of the blob container within Azure Blob Storage.",
+ "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable from compute nodes. There are three ways to get such a URL for a container in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the container, use a managed identity with read and list permissions, or set the ACL for the container to allow public access."
+ },
+ "httpUrl": {
+ "type": "string",
+ "title": "The URL of the file to download.",
+ "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. If the URL points to Azure Blob Storage, it must be readable from compute nodes. There are three ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, use a managed identity with read permission, or set the ACL for the blob or its container to allow public access."
+ },
+ "blobPrefix": {
+ "type": "string",
+ "title": "The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded.",
+ "description": "The property is valid only when autoStorageContainerName or storageContainerUrl is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded."
+ },
+ "filePath": {
+ "type": "string",
+ "title": "The location on the Compute Node to which to download the file(s), relative to the Task's working directory.",
+ "description": "If the httpUrl property is specified, the filePath is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the autoStorageContainerName or storageContainerUrl property is specified, filePath is optional and is the directory to download the files to. In the case where filePath is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the Task's working directory (for example by using '..')."
+ },
+ "fileMode": {
+ "type": "string",
+ "title": "The file permission mode attribute in octal format.",
+ "description": "This property applies only to files being downloaded to Linux Compute Nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows Compute Node. If this property is not specified for a Linux Compute Node, then a default value of 0770 is applied to the file."
+ },
+ "identityReference": {
+ "title": "The reference to the user assigned identity to use to access Azure Blob Storage specified by storageContainerUrl or httpUrl",
+ "$ref": "#/definitions/ComputeNodeIdentityReference"
+ }
+ },
+ "title": "A single file or multiple files to be downloaded to a Compute Node."
+ },
+ "EnvironmentSetting": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the environment variable."
+ },
+ "value": {
+ "type": "string",
+ "title": "The value of the environment variable."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "title": "An environment variable to be set on a Task process."
+ },
+ "ExitConditions": {
+ "type": "object",
+ "properties": {
+ "exitCodes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExitCodeMapping"
+ },
+ "title": "A list of individual Task exit codes and how the Batch service should respond to them."
+ },
+ "exitCodeRanges": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExitCodeRangeMapping"
+ },
+ "title": "A list of Task exit code ranges and how the Batch service should respond to them."
+ },
+ "preProcessingError": {
+ "$ref": "#/definitions/ExitOptions",
+ "title": "How the Batch service should respond if the Task fails to start due to an error."
+ },
+ "fileUploadError": {
+ "$ref": "#/definitions/ExitOptions",
+ "title": "How the Batch service should respond if a file upload error occurs.",
+ "description": "If the Task exited with an exit code that was specified via exitCodes or exitCodeRanges, and then encountered a file upload error, then the action specified by the exit code takes precedence."
+ },
+ "default": {
+ "$ref": "#/definitions/ExitOptions",
+ "title": "How the Batch service should respond if the Task fails with an exit condition not covered by any of the other properties.",
+ "description": "This value is used if the Task exits with any nonzero exit code not listed in the exitCodes or exitCodeRanges collection, with a pre-processing error if the preProcessingError property is not present, or with a file upload error if the fileUploadError property is not present. If you want non-default behavior on exit code 0, you must list it explicitly using the exitCodes or exitCodeRanges collection."
+ }
+ },
+ "title": "Specifies how the Batch service should respond when the Task completes."
+ },
+ "ExitCodeMapping": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "integer",
+ "format": "int32",
+ "title": "A process exit code."
+ },
+ "exitOptions": {
+ "$ref": "#/definitions/ExitOptions",
+ "title": "How the Batch service should respond if the Task exits with this exit code."
+ }
+ },
+ "title": "How the Batch service should respond if a Task exits with a particular exit code.",
+ "required": [
+ "code",
+ "exitOptions"
+ ]
+ },
+ "ExitCodeRangeMapping": {
+ "type": "object",
+ "properties": {
+ "start": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The first exit code in the range."
+ },
+ "end": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The last exit code in the range."
+ },
+ "exitOptions": {
+ "$ref": "#/definitions/ExitOptions",
+ "title": "How the Batch service should respond if the Task exits with an exit code in the range start to end (inclusive)."
+ }
+ },
+ "title": "A range of exit codes and how the Batch service should respond to exit codes within that range.",
+ "required": [
+ "start",
+ "end",
+ "exitOptions"
+ ]
+ },
+ "ExitOptions": {
+ "type": "object",
+ "properties": {
+ "jobAction": {
+ "type": "string",
+ "title": "An action to take on the Job containing the Task, if the Task completes with the given exit condition and the Job's onTaskFailed property is 'performExitOptionsJobAction'.",
+ "description": "The default is none for exit code 0 and terminate for all other exit conditions. If the Job's onTaskFailed property is noaction, then specifying this property returns an error and the add Task request fails with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).",
+ "enum": [
+ "none",
+ "disable",
+ "terminate"
+ ],
+ "x-ms-enum": {
+ "name": "JobAction",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "none",
+ "description": "Take no action."
+ },
+ {
+ "value": "disable",
+ "description": "Disable the Job. This is equivalent to calling the disable Job API, with a disableTasks value of requeue."
+ },
+ {
+ "value": "terminate",
+ "description": "Terminate the Job. The terminateReason in the Job's executionInfo is set to \"TaskFailed\"."
+ }
+ ]
+ }
+ },
+ "dependencyAction": {
+ "type": "string",
+ "title": "An action that the Batch service performs on Tasks that depend on this Task.",
+ "description": "Possible values are 'satisfy' (allowing dependent tasks to progress) and 'block' (dependent tasks continue to wait). Batch does not yet support cancellation of dependent tasks.",
+ "enum": [
+ "satisfy",
+ "block"
+ ],
+ "x-ms-enum": {
+ "name": "DependencyAction",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "satisfy",
+ "description": "Satisfy tasks waiting on this task; once all dependencies are satisfied, the task will be scheduled to run."
+ },
+ {
+ "value": "block",
+ "description": "Blocks tasks waiting on this task, preventing them from being scheduled."
+ }
+ ]
+ }
+ }
+ },
+ "title": "Specifies how the Batch service responds to a particular exit condition."
+ },
+ "AutoUserSpecification": {
+ "type": "object",
+ "properties": {
+ "scope": {
+ "type": "string",
+ "title": "The scope for the auto user",
+ "description": "The default value is pool. If the pool is running Windows a value of Task should be specified if stricter isolation between tasks is required. For example, if the task mutates the registry in a way which could impact other tasks, or if certificates have been specified on the pool which should not be accessible by normal tasks but should be accessible by StartTasks.",
+ "enum": [
+ "task",
+ "pool"
+ ],
+ "x-ms-enum": {
+ "name": "AutoUserScope",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "task",
+ "description": "Specifies that the service should create a new user for the Task."
+ },
+ {
+ "value": "pool",
+ "description": "Specifies that the Task runs as the common auto user Account which is created on every Compute Node in a Pool."
+ }
+ ]
+ }
+ },
+ "elevationLevel": {
+ "title": "The elevation level of the auto user.",
+ "description": "The default value is nonAdmin.",
+ "$ref": "#/definitions/ElevationLevel"
+ }
+ },
+ "title": "Specifies the parameters for the auto user that runs a Task on the Batch service."
+ },
+ "UserIdentity": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string",
+ "x-ms-client-name": "userName",
+ "title": "The name of the user identity under which the Task is run.",
+ "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both."
+ },
+ "autoUser": {
+ "$ref": "#/definitions/AutoUserSpecification",
+ "title": "The auto user under which the Task is run.",
+ "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both."
+ }
+ },
+ "title": "The definition of the user identity under which the Task is run.",
+ "description": "Specify either the userName or autoUser property, but not both."
+ },
+ "LinuxUserConfiguration": {
+ "type": "object",
+ "properties": {
+ "uid": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The user ID of the user Account.",
+ "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid."
+ },
+ "gid": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The group ID for the user Account.",
+ "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid."
+ },
+ "sshPrivateKey": {
+ "type": "string",
+ "title": "The SSH private key for the user Account.",
+ "description": "The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between Compute Nodes in a Linux Pool when the Pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between Compute Nodes (no modification of the user's .ssh directory is done)."
+ }
+ },
+ "title": "Properties used to create a user Account on a Linux Compute Node."
+ },
+ "WindowsUserConfiguration": {
+ "type": "object",
+ "properties": {
+ "loginMode": {
+ "type": "string",
+ "title": "The login mode for the user",
+ "description": "The default value for VirtualMachineConfiguration Pools is 'batch' and for CloudServiceConfiguration Pools is 'interactive'.",
+ "enum": [
+ "batch",
+ "interactive"
+ ],
+ "x-ms-enum": {
+ "name": "LoginMode",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "batch",
+ "description": "The LOGON32_LOGON_BATCH Win32 login mode. The batch login mode is recommended for long running parallel processes."
+ },
+ {
+ "value": "interactive",
+ "description": "The LOGON32_LOGON_INTERACTIVE Win32 login mode. UAC is enabled on Windows VirtualMachineConfiguration Pools. If this option is used with an elevated user identity in a Windows VirtualMachineConfiguration Pool, the user session will not be elevated unless the application executed by the Task command line is configured to always require administrative privilege or to always require maximum privilege."
+ }
+ ]
+ }
+ }
+ },
+ "title": "Properties used to create a user Account on a Windows Compute Node."
+ },
+ "UserAccount": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the user Account."
+ },
+ "password": {
+ "type": "string",
+ "title": "The password for the user Account."
+ },
+ "elevationLevel": {
+ "title": "The elevation level of the user Account.",
+ "description": "The default value is nonAdmin.",
+ "$ref": "#/definitions/ElevationLevel"
+ },
+ "linuxUserConfiguration": {
+ "title": "The Linux-specific user configuration for the user Account.",
+ "description": "This property is ignored if specified on a Windows Pool. If not specified, the user is created with the default options.",
+ "$ref": "#/definitions/LinuxUserConfiguration"
+ },
+ "windowsUserConfiguration": {
+ "title": "The Windows-specific user configuration for the user Account.",
+ "description": "This property can only be specified if the user is on a Windows Pool. If not specified and on a Windows Pool, the user is created with the default options.",
+ "$ref": "#/definitions/WindowsUserConfiguration"
+ }
+ },
+ "required": [
+ "name",
+ "password"
+ ],
+ "title": "Properties used to create a user used to execute Tasks on an Azure Batch Compute Node."
+ },
+ "TaskConstraints": {
+ "type": "object",
+ "properties": {
+ "maxWallClockTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The maximum elapsed time that the Task may run, measured from the time the Task starts. If the Task does not complete within the time limit, the Batch service terminates it.",
+ "description": "If this is not specified, there is no time limit on how long the Task may run."
+ },
+ "retentionTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The minimum time to retain the Task directory on the Compute Node where it ran, from the time it completes execution. After this time, the Batch service may delete the Task directory and all its contents.",
+ "description": "The default is 7 days, i.e. the Task directory will be retained for 7 days unless the Compute Node is removed or the Job is deleted."
+ },
+ "maxTaskRetryCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The maximum number of times the Task may be retried. The Batch service retries a Task if its exit code is nonzero.",
+ "description": "Note that this value specifically controls the number of retries for the Task executable due to a nonzero exit code. The Batch service will try the Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the Task after the first attempt. If the maximum retry count is -1, the Batch service retries the Task without limit."
+ }
+ },
+ "title": "Execution constraints to apply to a Task."
+ },
+ "JobManagerTask": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Job Manager Task within the Job.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name of the Job Manager Task.",
+ "description": "It need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "commandLine": {
+ "type": "string",
+ "title": "The command line of the Job Manager Task.",
+ "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)."
+ },
+ "containerSettings": {
+ "$ref": "#/definitions/TaskContainerSettings",
+ "title": "The settings for the container under which the Job Manager Task runs.",
+ "description": "If the Pool that will run this Task has containerConfiguration set, this must be set as well. If the Pool that will run this Task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files."
+ },
+ "resourceFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceFile"
+ },
+ "title": "A list of files that the Batch service will download to the Compute Node before running the command line.",
+ "description": "Files listed under this element are located in the Task's working directory. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers."
+ },
+ "outputFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutputFile"
+ },
+ "title": "A list of files that the Batch service will upload from the Compute Node after running the command line.",
+ "description": "For multi-instance Tasks, the files will only be uploaded from the Compute Node on which the primary Task is executed."
+ },
+ "environmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "A list of environment variable settings for the Job Manager Task."
+ },
+ "constraints": {
+ "$ref": "#/definitions/TaskConstraints",
+ "title": "Constraints that apply to the Job Manager Task."
+ },
+ "requiredSlots": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of scheduling slots that the Task requires to run.",
+ "description": "The default is 1. A Task can only be scheduled to run on a compute node if the node has enough free scheduling slots available. For multi-instance Tasks, this property is not supported and must not be specified."
+ },
+ "killJobOnCompletion": {
+ "type": "boolean",
+ "title": "Whether completion of the Job Manager Task signifies completion of the entire Job.",
+ "description": "If true, when the Job Manager Task completes, the Batch service marks the Job as complete. If any Tasks are still running at this time (other than Job Release), those Tasks are terminated. If false, the completion of the Job Manager Task does not affect the Job status. In this case, you should either use the onAllTasksComplete attribute to terminate the Job, or have a client or user terminate the Job explicitly. An example of this is if the Job Manager creates a set of Tasks but then takes no further role in their execution. The default value is true. If you are using the onAllTasksComplete and onTaskFailure attributes to control Job lifetime, and using the Job Manager Task only to create the Tasks for the Job (not to monitor progress), then it is important to set killJobOnCompletion to false."
+ },
+ "userIdentity": {
+ "$ref": "#/definitions/UserIdentity",
+ "title": "The user identity under which the Job Manager Task runs.",
+ "description": "If omitted, the Task runs as a non-administrative user unique to the Task."
+ },
+ "runExclusive": {
+ "type": "boolean",
+ "title": "Whether the Job Manager Task requires exclusive use of the Compute Node where it runs.",
+ "description": "If true, no other Tasks will run on the same Node for as long as the Job Manager is running. If false, other Tasks can run simultaneously with the Job Manager on a Compute Node. The Job Manager Task counts normally against the Compute Node's concurrent Task limit, so this is only relevant if the Compute Node allows multiple concurrent Tasks. The default value is true."
+ },
+ "applicationPackageReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "A list of Application Packages that the Batch service will deploy to the Compute Node before running the command line.",
+ "description": "Application Packages are downloaded and deployed to a shared directory, not the Task working directory. Therefore, if a referenced Application Package is already on the Compute Node, and is up to date, then it is not re-downloaded; the existing copy on the Compute Node is used. If a referenced Application Package cannot be installed, for example because the package has been deleted or because download failed, the Task fails."
+ },
+ "authenticationTokenSettings": {
+ "title": "The settings for an authentication token that the Task can use to perform Batch service operations.",
+ "description": "If this property is set, the Batch service provides the Task with an authentication token which can be used to authenticate Batch service operations without requiring an Account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the Task can carry out using the token depend on the settings. For example, a Task can request Job permissions in order to add other Tasks to the Job, or check the status of the Job or of other Tasks under the Job.",
+ "$ref": "#/definitions/AuthenticationTokenSettings"
+ },
+ "allowLowPriorityNode": {
+ "type": "boolean",
+ "title": "Whether the Job Manager Task may run on a low-priority Compute Node.",
+ "description": "The default value is true."
+ }
+ },
+ "required": [
+ "id",
+ "commandLine"
+ ],
+ "title": "Specifies details of a Job Manager Task.",
+ "description": "The Job Manager Task is automatically started when the Job is created. The Batch service tries to schedule the Job Manager Task before any other Tasks in the Job. When shrinking a Pool, the Batch service tries to preserve Nodes where Job Manager Tasks are running for as long as possible (that is, Compute Nodes running 'normal' Tasks are removed before Compute Nodes running Job Manager Tasks). When a Job Manager Task fails and needs to be restarted, the system tries to schedule it at the highest priority. If there are no idle Compute Nodes available, the system may terminate one of the running Tasks in the Pool and return it to the queue in order to make room for the Job Manager Task to restart. Note that a Job Manager Task in one Job does not have priority over Tasks in other Jobs. Across Jobs, only Job level priorities are observed. For example, if a Job Manager in a priority 0 Job needs to be restarted, it will not displace Tasks of a priority 1 Job. Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing."
+ },
+ "JobPreparationTask": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Job Preparation Task within the Job.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobpreparation'. No other Task in the Job can have the same ID as the Job Preparation Task. If you try to submit a Task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobPreparationTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict)."
+ },
+ "commandLine": {
+ "type": "string",
+ "title": "The command line of the Job Preparation Task.",
+ "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)."
+ },
+ "containerSettings": {
+ "$ref": "#/definitions/TaskContainerSettings",
+ "title": "The settings for the container under which the Job Preparation Task runs.",
+ "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files."
+ },
+ "resourceFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceFile"
+ },
+ "title": "A list of files that the Batch service will download to the Compute Node before running the command line.",
+ "description": "Files listed under this element are located in the Task's working directory. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers."
+ },
+ "environmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "A list of environment variable settings for the Job Preparation Task."
+ },
+ "constraints": {
+ "$ref": "#/definitions/TaskConstraints",
+ "title": "Constraints that apply to the Job Preparation Task."
+ },
+ "waitForSuccess": {
+ "type": "boolean",
+ "title": "Whether the Batch service should wait for the Job Preparation Task to complete successfully before scheduling any other Tasks of the Job on the Compute Node. A Job Preparation Task has completed successfully if it exits with exit code 0.",
+ "description": "If true and the Job Preparation Task fails on a Node, the Batch service retries the Job Preparation Task up to its maximum retry count (as specified in the constraints element). If the Task has still not completed successfully after all retries, then the Batch service will not schedule Tasks of the Job to the Node. The Node remains active and eligible to run Tasks of other Jobs. If false, the Batch service will not wait for the Job Preparation Task to complete. In this case, other Tasks of the Job can start executing on the Compute Node while the Job Preparation Task is still running; and even if the Job Preparation Task fails, new Tasks will continue to be scheduled on the Compute Node. The default value is true."
+ },
+ "userIdentity": {
+ "$ref": "#/definitions/UserIdentity",
+ "title": "The user identity under which the Job Preparation Task runs.",
+ "description": "If omitted, the Task runs as a non-administrative user unique to the Task on Windows Compute Nodes, or a non-administrative user unique to the Pool on Linux Compute Nodes."
+ },
+ "rerunOnNodeRebootAfterSuccess": {
+ "type": "boolean",
+ "title": "Whether the Batch service should rerun the Job Preparation Task after a Compute Node reboots.",
+ "description": "The Job Preparation Task is always rerun if a Compute Node is reimaged, or if the Job Preparation Task did not complete (e.g. because the reboot occurred while the Task was running). Therefore, you should always write a Job Preparation Task to be idempotent and to behave correctly if run multiple times. The default value is true."
+ }
+ },
+ "required": [
+ "commandLine"
+ ],
+ "title": "A Job Preparation Task to run before any Tasks of the Job on any given Compute Node.",
+ "description": "You can use Job Preparation to prepare a Node to run Tasks for the Job. Activities commonly performed in Job Preparation include: Downloading common resource files used by all the Tasks in the Job. The Job Preparation Task can download these common resource files to the shared location on the Node. (AZ_BATCH_NODE_ROOT_DIR\\shared), or starting a local service on the Node so that all Tasks of that Job can communicate with it. If the Job Preparation Task fails (that is, exhausts its retry count before exiting with exit code 0), Batch will not run Tasks of this Job on the Node. The Compute Node remains ineligible to run Tasks of this Job until it is reimaged. The Compute Node remains active and can be used for other Jobs. The Job Preparation Task can run multiple times on the same Node. Therefore, you should write the Job Preparation Task to handle re-execution. If the Node is rebooted, the Job Preparation Task is run again on the Compute Node before scheduling any other Task of the Job, if rerunOnNodeRebootAfterSuccess is true or if the Job Preparation Task did not previously complete. If the Node is reimaged, the Job Preparation Task is run again before scheduling any Task of the Job. Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing."
+ },
+ "JobReleaseTask": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Job Release Task within the Job.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobrelease'. No other Task in the Job can have the same ID as the Job Release Task. If you try to submit a Task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobReleaseTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict)."
+ },
+ "commandLine": {
+ "type": "string",
+ "title": "The command line of the Job Release Task.",
+ "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)."
+ },
+ "containerSettings": {
+ "$ref": "#/definitions/TaskContainerSettings",
+ "title": "The settings for the container under which the Job Release Task runs.",
+ "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files."
+ },
+ "resourceFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceFile"
+ },
+ "title": "A list of files that the Batch service will download to the Compute Node before running the command line. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers.",
+ "description": "Files listed under this element are located in the Task's working directory."
+ },
+ "environmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "A list of environment variable settings for the Job Release Task."
+ },
+ "maxWallClockTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The maximum elapsed time that the Job Release Task may run on a given Compute Node, measured from the time the Task starts. If the Task does not complete within the time limit, the Batch service terminates it. The default value is 15 minutes. You may not specify a timeout longer than 15 minutes. If you do, the Batch service rejects it with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "retentionTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The minimum time to retain the Task directory for the Job Release Task on the Compute Node. After this time, the Batch service may delete the Task directory and all its contents.",
+ "description": "The default is 7 days, i.e. the Task directory will be retained for 7 days unless the Compute Node is removed or the Job is deleted."
+ },
+ "userIdentity": {
+ "$ref": "#/definitions/UserIdentity",
+ "title": "The user identity under which the Job Release Task runs.",
+ "description": "If omitted, the Task runs as a non-administrative user unique to the Task."
+ }
+ },
+ "required": [
+ "commandLine"
+ ],
+ "title": "A Job Release Task to run on Job completion on any Compute Node where the Job has run.",
+ "description": "The Job Release Task runs when the Job ends, because of one of the following: The user calls the Terminate Job API, or the Delete Job API while the Job is still active, the Job's maximum wall clock time constraint is reached, and the Job is still active, or the Job's Job Manager Task completed, and the Job is configured to terminate when the Job Manager completes. The Job Release Task runs on each Node where Tasks of the Job have run and the Job Preparation Task ran and completed. If you reimage a Node after it has run the Job Preparation Task, and the Job ends without any further Tasks of the Job running on that Node (and hence the Job Preparation Task does not re-run), then the Job Release Task does not run on that Compute Node. If a Node reboots while the Job Release Task is still running, the Job Release Task runs again when the Compute Node starts up. The Job is not marked as complete until all Job Release Tasks have completed. The Job Release Task runs in the background. It does not occupy a scheduling slot; that is, it does not count towards the taskSlotsPerNode limit specified on the Pool."
+ },
+ "TaskSchedulingPolicy": {
+ "type": "object",
+ "properties": {
+ "nodeFillType": {
+ "type": "string",
+ "title": "How Tasks are distributed across Compute Nodes in a Pool.",
+ "description": "If not specified, the default is spread.",
+ "enum": [
+ "spread",
+ "pack"
+ ],
+ "x-ms-enum": {
+ "name": "ComputeNodeFillType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "spread",
+ "description": "Tasks should be assigned evenly across all Compute Nodes in the Pool."
+ },
+ {
+ "value": "pack",
+ "description": "As many Tasks as possible (taskSlotsPerNode) should be assigned to each Compute Node in the Pool before any Tasks are assigned to the next Compute Node in the Pool."
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "nodeFillType"
+ ],
+ "title": "Specifies how Tasks should be distributed across Compute Nodes."
+ },
+ "StartTask": {
+ "type": "object",
+ "properties": {
+ "commandLine": {
+ "type": "string",
+ "title": "The command line of the StartTask.",
+ "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)."
+ },
+ "containerSettings": {
+ "$ref": "#/definitions/TaskContainerSettings",
+ "title": "The settings for the container under which the StartTask runs.",
+ "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files."
+ },
+ "resourceFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceFile"
+ },
+ "title": "A list of files that the Batch service will download to the Compute Node before running the command line. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers.",
+ "description": "Files listed under this element are located in the Task's working directory."
+ },
+ "environmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "A list of environment variable settings for the StartTask."
+ },
+ "userIdentity": {
+ "$ref": "#/definitions/UserIdentity",
+ "title": "The user identity under which the StartTask runs.",
+ "description": "If omitted, the Task runs as a non-administrative user unique to the Task."
+ },
+ "maxTaskRetryCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The maximum number of times the Task may be retried.",
+ "description": "The Batch service retries a Task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the Task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the Task. If the maximum retry count is -1, the Batch service retries the Task without limit."
+ },
+ "waitForSuccess": {
+ "type": "boolean",
+ "title": "Whether the Batch service should wait for the StartTask to complete successfully (that is, to exit with exit code 0) before scheduling any Tasks on the Compute Node.",
+ "description": "If true and the StartTask fails on a Node, the Batch service retries the StartTask up to its maximum retry count (maxTaskRetryCount). If the Task has still not completed successfully after all retries, then the Batch service marks the Node unusable, and will not schedule Tasks to it. This condition can be detected via the Compute Node state and failure info details. If false, the Batch service will not wait for the StartTask to complete. In this case, other Tasks can start executing on the Compute Node while the StartTask is still running; and even if the StartTask fails, new Tasks will continue to be scheduled on the Compute Node. The default is true."
+ }
+ },
+ "required": [
+ "commandLine"
+ ],
+ "title": "A Task which is run when a Node joins a Pool in the Azure Batch service, or when the Compute Node is rebooted or reimaged.",
+ "description": "Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing. In some cases the StartTask may be re-run even though the Compute Node was not rebooted. Special care should be taken to avoid StartTasks which create breakaway process or install/launch services from the StartTask working directory, as this will block Batch from being able to re-run the StartTask."
+ },
+ "CertificateReference": {
+ "type": "object",
+ "properties": {
+ "thumbprint": {
+ "type": "string",
+ "title": "The thumbprint of the Certificate."
+ },
+ "thumbprintAlgorithm": {
+ "type": "string",
+ "title": "The algorithm with which the thumbprint is associated. This must be sha1."
+ },
+ "storeLocation": {
+ "type": "string",
+ "title": "The location of the Certificate store on the Compute Node into which to install the Certificate.",
+ "description": "The default value is currentuser. This property is applicable only for Pools configured with Windows Compute Nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows Image reference). For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory.",
+ "enum": [
+ "currentuser",
+ "localmachine"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateStoreLocation",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "currentuser",
+ "description": "Certificates should be installed to the CurrentUser Certificate store.",
+ "name": "currentUser"
+ },
+ {
+ "value": "localmachine",
+ "description": "Certificates should be installed to the LocalMachine Certificate store.",
+ "name": "localMachine"
+ }
+ ]
+ }
+ },
+ "storeName": {
+ "type": "string",
+ "title": "The name of the Certificate store on the Compute Node into which to install the Certificate.",
+ "description": "This property is applicable only for Pools configured with Windows Compute Nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows Image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My."
+ },
+ "visibility": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "x-nullable": false,
+ "enum": [
+ "starttask",
+ "task",
+ "remoteuser"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateVisibility",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "starttask",
+ "description": "The Certificate should be visible to the user account under which the StartTask is run. Note that if AutoUser Scope is Pool for both the StartTask and a Task, this certificate will be visible to the Task as well.",
+ "name": "startTask"
+ },
+ {
+ "value": "task",
+ "description": "The Certificate should be visible to the user accounts under which Job Tasks are run."
+ },
+ {
+ "value": "remoteuser",
+ "description": "The Certificate should be visible to the user accounts under which users remotely access the Compute Node.",
+ "name": "remoteUser"
+ }
+ ]
+ }
+ },
+ "title": "Which user Accounts on the Compute Node should have access to the private data of the Certificate.",
+ "description": "You can specify more than one visibility in this collection. The default is all Accounts."
+ }
+ },
+ "required": [
+ "thumbprint",
+ "thumbprintAlgorithm"
+ ],
+ "title": "A reference to a Certificate to be installed on Compute Nodes in a Pool."
+ },
+ "MetadataItem": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the metadata item."
+ },
+ "value": {
+ "type": "string",
+ "title": "The value of the metadata item."
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "title": "A name-value pair associated with a Batch service resource.",
+ "description": "The Batch service does not assign any meaning to this metadata; it is solely for the use of user code."
+ },
+ "PoolSpecification": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the Pool.",
+ "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "vmSize": {
+ "type": "string",
+ "title": "The size of the virtual machines in the Pool. All virtual machines in a Pool are the same size.",
+ "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)."
+ },
+ "cloudServiceConfiguration": {
+ "$ref": "#/definitions/CloudServiceConfiguration",
+ "title": "The cloud service configuration for the Pool.",
+ "description": "This property must be specified if the Pool needs to be created with Azure PaaS VMs. This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). This property cannot be specified if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'."
+ },
+ "virtualMachineConfiguration": {
+ "$ref": "#/definitions/VirtualMachineConfiguration",
+ "title": "The virtual machine configuration for the Pool.",
+ "description": "This property must be specified if the Pool needs to be created with Azure IaaS VMs. This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "taskSlotsPerNode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of task slots that can be used to run concurrent tasks on a single compute node in the pool.",
+ "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256."
+ },
+ "taskSchedulingPolicy": {
+ "$ref": "#/definitions/TaskSchedulingPolicy",
+ "title": "How Tasks are distributed across Compute Nodes in a Pool.",
+ "description": "If not specified, the default is spread."
+ },
+ "resizeTimeout": {
+ "type": "string",
+ "format": "duration",
+ "title": "The timeout for allocation of Compute Nodes to the Pool.",
+ "description": "This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the request with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "targetDedicatedNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of dedicated Compute Nodes in the Pool.",
+ "description": "This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both."
+ },
+ "targetLowPriorityNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of low-priority Compute Nodes in the Pool.",
+ "description": "This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both."
+ },
+ "enableAutoScale": {
+ "type": "boolean",
+ "title": "Whether the Pool size should automatically adjust over time.",
+ "description": "If false, at least one of targetDedicatedNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula element is required. The Pool automatically resizes according to the formula. The default value is false."
+ },
+ "autoScaleFormula": {
+ "type": "string",
+ "title": "The formula for the desired number of Compute Nodes in the Pool.",
+ "description": "This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the Pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information."
+ },
+ "autoScaleEvaluationInterval": {
+ "type": "string",
+ "format": "duration",
+ "title": "The time interval at which to automatically adjust the Pool size according to the autoscale formula.",
+ "description": "The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "enableInterNodeCommunication": {
+ "type": "boolean",
+ "title": "Whether the Pool permits direct communication between Compute Nodes.",
+ "description": "Enabling inter-node communication limits the maximum size of the Pool due to deployment restrictions on the Compute Nodes of the Pool. This may result in the Pool not reaching its desired size. The default value is false."
+ },
+ "networkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration",
+ "title": "The network configuration for the Pool."
+ },
+ "startTask": {
+ "$ref": "#/definitions/StartTask",
+ "title": "A Task to run on each Compute Node as it joins the Pool. The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted."
+ },
+ "certificateReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateReference"
+ },
+ "title": "A list of Certificates to be installed on each Compute Node in the Pool.",
+ "description": "For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory."
+ },
+ "applicationPackageReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "The list of Packages to be installed on each Compute Node in the Pool.",
+ "description": "Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool."
+ },
+ "applicationLicenses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The list of application licenses the Batch service will make available on each Compute Node in the Pool.",
+ "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, Pool creation will fail. The permitted licenses available on the Pool are 'maya', 'vray', '3dsmax', 'arnold'. An additional charge applies for each application license added to the Pool."
+ },
+ "userAccounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserAccount"
+ },
+ "title": "The list of user Accounts to be created on each Compute Node in the Pool."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Pool as metadata.",
+ "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code."
+ },
+ "mountConfiguration": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountConfiguration"
+ },
+ "title": "A list of file systems to mount on each node in the pool.",
+ "description": "This supports Azure Files, NFS, CIFS/SMB, and Blobfuse."
+ }
+ },
+ "required": [
+ "vmSize"
+ ],
+ "title": "Specification for creating a new Pool."
+ },
+ "AutoPoolSpecification": {
+ "type": "object",
+ "properties": {
+ "autoPoolIdPrefix": {
+ "type": "string",
+ "title": "A prefix to be added to the unique identifier when a Pool is automatically created.",
+ "description": "The Batch service assigns each auto Pool a unique identifier on creation. To distinguish between Pools created for different purposes, you can specify this element to add a prefix to the ID that is assigned. The prefix can be up to 20 characters long."
+ },
+ "poolLifetimeOption": {
+ "type": "string",
+ "title": "The minimum lifetime of created auto Pools, and how multiple Jobs on a schedule are assigned to Pools.",
+ "enum": [
+ "jobschedule",
+ "job"
+ ],
+ "x-ms-enum": {
+ "name": "PoolLifetimeOption",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "jobschedule",
+ "description": "The Pool exists for the lifetime of the Job Schedule. The Batch Service creates the Pool when it creates the first Job on the schedule. You may apply this option only to Job Schedules, not to Jobs.",
+ "name": "jobSchedule"
+ },
+ {
+ "value": "job",
+ "description": "The Pool exists for the lifetime of the Job to which it is dedicated. The Batch service creates the Pool when it creates the Job. If the 'job' option is applied to a Job Schedule, the Batch service creates a new auto Pool for every Job created on the schedule."
+ }
+ ]
+ }
+ },
+ "keepAlive": {
+ "type": "boolean",
+ "title": "Whether to keep an auto Pool alive after its lifetime expires.",
+ "description": "If false, the Batch service deletes the Pool once its lifetime (as determined by the poolLifetimeOption setting) expires; that is, when the Job or Job Schedule completes. If true, the Batch service does not delete the Pool automatically. It is up to the user to delete auto Pools created with this option."
+ },
+ "pool": {
+ "$ref": "#/definitions/PoolSpecification",
+ "title": "The Pool specification for the auto Pool."
+ }
+ },
+ "required": [
+ "poolLifetimeOption"
+ ],
+ "title": "Specifies characteristics for a temporary 'auto pool'. The Batch service will create this auto Pool when the Job is submitted."
+ },
+ "PoolInformation": {
+ "type": "object",
+ "properties": {
+ "poolId": {
+ "type": "string",
+ "title": "The ID of an existing Pool. All the Tasks of the Job will run on the specified Pool.",
+ "description": "You must ensure that the Pool referenced by this property exists. If the Pool does not exist at the time the Batch service tries to schedule a Job, no Tasks for the Job will run until you create a Pool with that id. Note that the Batch service will not reject the Job request; it will simply not run Tasks until the Pool exists. You must specify either the Pool ID or the auto Pool specification, but not both."
+ },
+ "autoPoolSpecification": {
+ "$ref": "#/definitions/AutoPoolSpecification",
+ "title": "Characteristics for a temporary 'auto pool'. The Batch service will create this auto Pool when the Job is submitted.",
+ "description": "If auto Pool creation fails, the Batch service moves the Job to a completed state, and the Pool creation error is set in the Job's scheduling error property. The Batch service manages the lifetime (both creation and, unless keepAlive is specified, deletion) of the auto Pool. Any user actions that affect the lifetime of the auto Pool while the Job is active will result in unexpected behavior. You must specify either the Pool ID or the auto Pool specification, but not both."
+ }
+ },
+ "title": "Specifies how a Job should be assigned to a Pool."
+ },
+ "JobSpecification": {
+ "type": "object",
+ "properties": {
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The priority of Jobs created under this schedule.",
+ "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. This priority is used as the default for all Jobs under the Job Schedule. You can update a Job's priority after it has been created using by using the update Job API."
+ },
+ "maxParallelTasks": {
+ "type": "integer",
+ "format": "int32",
+ "default": -1,
+ "title": "The maximum number of tasks that can be executed in parallel for the job.",
+ "description": "The value of maxParallelTasks must be -1 or greater than 0 if specified. If not specified, the default value is -1, which means there's no limit to the number of tasks that can be run at once. You can update a job's maxParallelTasks after it has been created using the update job API."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name for Jobs created under this schedule.",
+ "description": "The name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "usesTaskDependencies": {
+ "type": "boolean",
+ "title": "Whether Tasks in the Job can define dependencies on each other. The default is false."
+ },
+ "onAllTasksComplete": {
+ "title": "The action the Batch service should take when all Tasks in a Job created under this schedule are in the completed state.",
+ "description": "Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction.",
+ "$ref": "#/definitions/OnAllTasksComplete"
+ },
+ "onTaskFailure": {
+ "title": "The action the Batch service should take when any Task fails in a Job created under this schedule. A Task is considered to have failed if it have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error.",
+ "description": "The default is noaction.",
+ "$ref": "#/definitions/OnTaskFailure"
+ },
+ "networkConfiguration": {
+ "$ref": "#/definitions/JobNetworkConfiguration",
+ "title": "The network configuration for the Job."
+ },
+ "constraints": {
+ "$ref": "#/definitions/JobConstraints",
+ "title": "The execution constraints for Jobs created under this schedule."
+ },
+ "jobManagerTask": {
+ "$ref": "#/definitions/JobManagerTask",
+ "title": "The details of a Job Manager Task to be launched when a Job is started under this schedule.",
+ "description": "If the Job does not specify a Job Manager Task, the user must explicitly add Tasks to the Job using the Task API. If the Job does specify a Job Manager Task, the Batch service creates the Job Manager Task when the Job is created, and will try to schedule the Job Manager Task before scheduling other Tasks in the Job."
+ },
+ "jobPreparationTask": {
+ "$ref": "#/definitions/JobPreparationTask",
+ "title": "The Job Preparation Task for Jobs created under this schedule.",
+ "description": "If a Job has a Job Preparation Task, the Batch service will run the Job Preparation Task on a Node before starting any Tasks of that Job on that Compute Node."
+ },
+ "jobReleaseTask": {
+ "$ref": "#/definitions/JobReleaseTask",
+ "title": "The Job Release Task for Jobs created under this schedule.",
+ "description": "The primary purpose of the Job Release Task is to undo changes to Nodes made by the Job Preparation Task. Example activities include deleting local files, or shutting down services that were started as part of Job preparation. A Job Release Task cannot be specified without also specifying a Job Preparation Task for the Job. The Batch service runs the Job Release Task on the Compute Nodes that have run the Job Preparation Task."
+ },
+ "commonEnvironmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "A list of common environment variable settings. These environment variables are set for all Tasks in Jobs created under this schedule (including the Job Manager, Job Preparation and Job Release Tasks).",
+ "description": "Individual Tasks can override an environment setting specified here by specifying the same setting name with a different value."
+ },
+ "poolInfo": {
+ "$ref": "#/definitions/PoolInformation",
+ "title": "The Pool on which the Batch service runs the Tasks of Jobs created under this schedule."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with each Job created under this schedule as metadata.",
+ "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code."
+ }
+ },
+ "required": [
+ "poolInfo"
+ ],
+ "title": "Specifies details of the Jobs to be created on a schedule."
+ },
+ "RecentJob": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "The ID of the Job."
+ },
+ "url": {
+ "type": "string",
+ "title": "The URL of the Job."
+ }
+ },
+ "title": "Information about the most recent Job to run under the Job Schedule."
+ },
+ "JobScheduleExecutionInformation": {
+ "type": "object",
+ "properties": {
+ "nextRunTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The next time at which a Job will be created under this schedule.",
+ "description": "This property is meaningful only if the schedule is in the active state when the time comes around. For example, if the schedule is disabled, no Job will be created at nextRunTime unless the Job is enabled before then."
+ },
+ "recentJob": {
+ "$ref": "#/definitions/RecentJob",
+ "title": "Information about the most recent Job under the Job Schedule.",
+ "description": "This property is present only if the at least one Job has run under the schedule."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the schedule ended.",
+ "description": "This property is set only if the Job Schedule is in the completed state."
+ }
+ },
+ "title": "Contains information about Jobs that have been and will be run under a Job Schedule."
+ },
+ "JobScheduleStatistics": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "title": "The URL of the statistics."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start time of the time range covered by the statistics."
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime."
+ },
+ "userCPUTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total user mode CPU time (summed across all cores and all Compute Nodes) consumed by all Tasks in all Jobs created under the schedule."
+ },
+ "kernelCPUTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total kernel mode CPU time (summed across all cores and all Compute Nodes) consumed by all Tasks in all Jobs created under the schedule."
+ },
+ "wallClockTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total wall clock time of all the Tasks in all the Jobs created under the schedule.",
+ "description": "The wall clock time is the elapsed time from when the Task started running on a Compute Node to when it finished (or to the last time the statistics were updated, if the Task had not finished by then). If a Task was retried, this includes the wall clock time of all the Task retries."
+ },
+ "readIOps": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of disk read operations made by all Tasks in all Jobs created under the schedule."
+ },
+ "writeIOps": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of disk write operations made by all Tasks in all Jobs created under the schedule."
+ },
+ "readIOGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total gibibytes read from disk by all Tasks in all Jobs created under the schedule."
+ },
+ "writeIOGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total gibibytes written to disk by all Tasks in all Jobs created under the schedule."
+ },
+ "numSucceededTasks": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of Tasks successfully completed during the given time range in Jobs created under the schedule. A Task completes successfully if it returns exit code 0."
+ },
+ "numFailedTasks": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of Tasks that failed during the given time range in Jobs created under the schedule. A Task fails if it exhausts its maximum retry count without returning exit code 0."
+ },
+ "numTaskRetries": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of retries during the given time range on all Tasks in all Jobs created under the schedule."
+ },
+ "waitTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total wait time of all Tasks in all Jobs created under the schedule. The wait time for a Task is defined as the elapsed time between the creation of the Task and the start of Task execution. (If the Task is retried due to failures, the wait time is the time to the most recent Task execution.)",
+ "description": "This value is only reported in the Account lifetime statistics; it is not included in the Job statistics."
+ }
+ },
+ "required": [
+ "url",
+ "startTime",
+ "lastUpdateTime",
+ "userCPUTime",
+ "kernelCPUTime",
+ "wallClockTime",
+ "readIOps",
+ "writeIOps",
+ "readIOGiB",
+ "writeIOGiB",
+ "numSucceededTasks",
+ "numFailedTasks",
+ "numTaskRetries",
+ "waitTime"
+ ],
+ "title": "Resource usage statistics for a Job Schedule."
+ },
+ "CloudJobSchedule": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the schedule within the Account."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the schedule."
+ },
+ "url": {
+ "type": "string",
+ "title": "The URL of the Job Schedule."
+ },
+ "eTag": {
+ "type": "string",
+ "title": "The ETag of the Job Schedule.",
+ "description": "This is an opaque string. You can use it to detect whether the Job Schedule has changed between requests. In particular, you can be pass the ETag with an Update Job Schedule request to specify that your changes should take effect only if nobody else has modified the schedule in the meantime."
+ },
+ "lastModified": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The last modified time of the Job Schedule.",
+ "description": "This is the last time at which the schedule level data, such as the Job specification or recurrence information, changed. It does not factor in job-level changes such as new Jobs being created or Jobs changing state."
+ },
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The creation time of the Job Schedule."
+ },
+ "state": {
+ "title": "The current state of the Job Schedule.",
+ "$ref": "#/definitions/JobScheduleState"
+ },
+ "stateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Job Schedule entered the current state."
+ },
+ "previousState": {
+ "title": "The previous state of the Job Schedule.",
+ "description": "This property is not present if the Job Schedule is in its initial active state.",
+ "$ref": "#/definitions/JobScheduleState"
+ },
+ "previousStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Job Schedule entered its previous state.",
+ "description": "This property is not present if the Job Schedule is in its initial active state."
+ },
+ "schedule": {
+ "$ref": "#/definitions/Schedule",
+ "title": "The schedule according to which Jobs will be created."
+ },
+ "jobSpecification": {
+ "$ref": "#/definitions/JobSpecification",
+ "title": "The details of the Jobs to be created on this schedule."
+ },
+ "executionInfo": {
+ "$ref": "#/definitions/JobScheduleExecutionInformation",
+ "title": "Information about Jobs that have been and will be run under this schedule."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the schedule as metadata.",
+ "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code."
+ },
+ "stats": {
+ "$ref": "#/definitions/JobScheduleStatistics",
+ "title": "The lifetime resource usage statistics for the Job Schedule. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes."
+ }
+ },
+ "title": "A Job Schedule that allows recurring Jobs by specifying when to run Jobs and a specification used to create each Job."
+ },
+ "JobScheduleAddParameter": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the schedule within the Account.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the schedule.",
+ "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "schedule": {
+ "$ref": "#/definitions/Schedule",
+ "title": "The schedule according to which Jobs will be created."
+ },
+ "jobSpecification": {
+ "$ref": "#/definitions/JobSpecification",
+ "title": "The details of the Jobs to be created on this schedule."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the schedule as metadata.",
+ "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code."
+ }
+ },
+ "required": [
+ "id",
+ "schedule",
+ "jobSpecification"
+ ],
+ "title": "A Job Schedule that allows recurring Jobs by specifying when to run Jobs and a specification used to create each Job."
+ },
+ "CloudJobScheduleListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudJobSchedule"
+ },
+ "title": "The list of Job Schedules."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the Job Schedules in an Account."
+ },
+ "JobSchedulingError": {
+ "type": "object",
+ "properties": {
+ "category": {
+ "title": "The category of the Job scheduling error.",
+ "$ref": "#/definitions/ErrorCategory"
+ },
+ "code": {
+ "type": "string",
+ "title": "An identifier for the Job scheduling error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "title": "A message describing the Job scheduling error, intended to be suitable for display in a user interface."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NameValuePair"
+ },
+ "title": "A list of additional error details related to the scheduling error."
+ }
+ },
+ "required": [
+ "category"
+ ],
+ "title": "An error encountered by the Batch service when scheduling a Job."
+ },
+ "JobExecutionInformation": {
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start time of the Job.",
+ "description": "This is the time at which the Job was created."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The completion time of the Job.",
+ "description": "This property is set only if the Job is in the completed state."
+ },
+ "poolId": {
+ "type": "string",
+ "title": "The ID of the Pool to which this Job is assigned.",
+ "description": "This element contains the actual Pool where the Job is assigned. When you get Job details from the service, they also contain a poolInfo element, which contains the Pool configuration data from when the Job was added or updated. That poolInfo element may also contain a poolId element. If it does, the two IDs are the same. If it does not, it means the Job ran on an auto Pool, and this property contains the ID of that auto Pool."
+ },
+ "schedulingError": {
+ "$ref": "#/definitions/JobSchedulingError",
+ "title": "Details of any error encountered by the service in starting the Job.",
+ "description": "This property is not set if there was no error starting the Job."
+ },
+ "terminateReason": {
+ "type": "string",
+ "title": "A string describing the reason the Job ended.",
+ "description": "This property is set only if the Job is in the completed state. If the Batch service terminates the Job, it sets the reason as follows: JMComplete - the Job Manager Task completed, and killJobOnCompletion was set to true. MaxWallClockTimeExpiry - the Job reached its maxWallClockTime constraint. TerminateJobSchedule - the Job ran as part of a schedule, and the schedule terminated. AllTasksComplete - the Job's onAllTasksComplete attribute is set to terminatejob, and all Tasks in the Job are complete. TaskFailed - the Job's onTaskFailure attribute is set to performExitOptionsJobAction, and a Task in the Job failed with an exit condition that specified a jobAction of terminatejob. Any other string is a user-defined reason specified in a call to the 'Terminate a Job' operation."
+ }
+ },
+ "required": [
+ "startTime"
+ ],
+ "title": "Contains information about the execution of a Job in the Azure Batch service."
+ },
+ "CloudJob": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Job within the Account.",
+ "description": "The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the Job."
+ },
+ "usesTaskDependencies": {
+ "type": "boolean",
+ "title": "Whether Tasks in the Job can define dependencies on each other. The default is false."
+ },
+ "url": {
+ "type": "string",
+ "title": "The URL of the Job."
+ },
+ "eTag": {
+ "type": "string",
+ "title": "The ETag of the Job.",
+ "description": "This is an opaque string. You can use it to detect whether the Job has changed between requests. In particular, you can be pass the ETag when updating a Job to specify that your changes should take effect only if nobody else has modified the Job in the meantime."
+ },
+ "lastModified": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The last modified time of the Job.",
+ "description": "This is the last time at which the Job level data, such as the Job state or priority, changed. It does not factor in task-level changes such as adding new Tasks or Tasks changing state."
+ },
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The creation time of the Job."
+ },
+ "state": {
+ "title": "The current state of the Job.",
+ "$ref": "#/definitions/JobState"
+ },
+ "stateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Job entered its current state."
+ },
+ "previousState": {
+ "title": "The previous state of the Job.",
+ "description": "This property is not set if the Job is in its initial Active state.",
+ "$ref": "#/definitions/JobState"
+ },
+ "previousStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Job entered its previous state.",
+ "description": "This property is not set if the Job is in its initial Active state."
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The priority of the Job.",
+ "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0."
+ },
+ "maxParallelTasks": {
+ "type": "integer",
+ "format": "int32",
+ "default": -1,
+ "title": "The maximum number of tasks that can be executed in parallel for the job.",
+ "description": "The value of maxParallelTasks must be -1 or greater than 0 if specified. If not specified, the default value is -1, which means there's no limit to the number of tasks that can be run at once. You can update a job's maxParallelTasks after it has been created using the update job API."
+ },
+ "constraints": {
+ "$ref": "#/definitions/JobConstraints",
+ "title": "The execution constraints for the Job."
+ },
+ "jobManagerTask": {
+ "$ref": "#/definitions/JobManagerTask",
+ "title": "Details of a Job Manager Task to be launched when the Job is started."
+ },
+ "jobPreparationTask": {
+ "$ref": "#/definitions/JobPreparationTask",
+ "title": "The Job Preparation Task.",
+ "description": "The Job Preparation Task is a special Task run on each Compute Node before any other Task of the Job."
+ },
+ "jobReleaseTask": {
+ "$ref": "#/definitions/JobReleaseTask",
+ "title": "The Job Release Task.",
+ "description": "The Job Release Task is a special Task run at the end of the Job on each Compute Node that has run any other Task of the Job."
+ },
+ "commonEnvironmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "The list of common environment variable settings. These environment variables are set for all Tasks in the Job (including the Job Manager, Job Preparation and Job Release Tasks).",
+ "description": "Individual Tasks can override an environment setting specified here by specifying the same setting name with a different value."
+ },
+ "poolInfo": {
+ "$ref": "#/definitions/PoolInformation",
+ "title": "The Pool settings associated with the Job."
+ },
+ "onAllTasksComplete": {
+ "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.",
+ "description": "The default is noaction.",
+ "$ref": "#/definitions/OnAllTasksComplete"
+ },
+ "onTaskFailure": {
+ "title": "The action the Batch service should take when any Task in the Job fails.",
+ "description": "A Task is considered to have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction.",
+ "$ref": "#/definitions/OnTaskFailure"
+ },
+ "networkConfiguration": {
+ "$ref": "#/definitions/JobNetworkConfiguration",
+ "title": "The network configuration for the Job."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Job as metadata.",
+ "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code."
+ },
+ "executionInfo": {
+ "$ref": "#/definitions/JobExecutionInformation",
+ "title": "The execution information for the Job."
+ },
+ "stats": {
+ "$ref": "#/definitions/JobStatistics",
+ "title": "Resource usage statistics for the entire lifetime of the Job.",
+ "description": "This property is populated only if the CloudJob was retrieved with an expand clause including the 'stats' attribute; otherwise it is null. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes."
+ }
+ },
+ "title": "An Azure Batch Job."
+ },
+ "JobAddParameter": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Job within the Account.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the Job.",
+ "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The priority of the Job.",
+ "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0."
+ },
+ "maxParallelTasks": {
+ "type": "integer",
+ "format": "int32",
+ "default": -1,
+ "title": "The maximum number of tasks that can be executed in parallel for the job.",
+ "description": "The value of maxParallelTasks must be -1 or greater than 0 if specified. If not specified, the default value is -1, which means there's no limit to the number of tasks that can be run at once. You can update a job's maxParallelTasks after it has been created using the update job API."
+ },
+ "constraints": {
+ "$ref": "#/definitions/JobConstraints",
+ "description": "The execution constraints for the Job."
+ },
+ "jobManagerTask": {
+ "$ref": "#/definitions/JobManagerTask",
+ "title": "Details of a Job Manager Task to be launched when the Job is started.",
+ "description": "If the Job does not specify a Job Manager Task, the user must explicitly add Tasks to the Job. If the Job does specify a Job Manager Task, the Batch service creates the Job Manager Task when the Job is created, and will try to schedule the Job Manager Task before scheduling other Tasks in the Job. The Job Manager Task's typical purpose is to control and/or monitor Job execution, for example by deciding what additional Tasks to run, determining when the work is complete, etc. (However, a Job Manager Task is not restricted to these activities - it is a fully-fledged Task in the system and perform whatever actions are required for the Job.) For example, a Job Manager Task might download a file specified as a parameter, analyze the contents of that file and submit additional Tasks based on those contents."
+ },
+ "jobPreparationTask": {
+ "$ref": "#/definitions/JobPreparationTask",
+ "title": "The Job Preparation Task.",
+ "description": "If a Job has a Job Preparation Task, the Batch service will run the Job Preparation Task on a Node before starting any Tasks of that Job on that Compute Node."
+ },
+ "jobReleaseTask": {
+ "$ref": "#/definitions/JobReleaseTask",
+ "title": "The Job Release Task.",
+ "description": "A Job Release Task cannot be specified without also specifying a Job Preparation Task for the Job. The Batch service runs the Job Release Task on the Nodes that have run the Job Preparation Task. The primary purpose of the Job Release Task is to undo changes to Compute Nodes made by the Job Preparation Task. Example activities include deleting local files, or shutting down services that were started as part of Job preparation."
+ },
+ "commonEnvironmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "The list of common environment variable settings. These environment variables are set for all Tasks in the Job (including the Job Manager, Job Preparation and Job Release Tasks).",
+ "description": "Individual Tasks can override an environment setting specified here by specifying the same setting name with a different value."
+ },
+ "poolInfo": {
+ "$ref": "#/definitions/PoolInformation",
+ "title": "The Pool on which the Batch service runs the Job's Tasks."
+ },
+ "onAllTasksComplete": {
+ "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.",
+ "description": "Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction.",
+ "$ref": "#/definitions/OnAllTasksComplete"
+ },
+ "onTaskFailure": {
+ "title": "The action the Batch service should take when any Task in the Job fails.",
+ "description": "A Task is considered to have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction.",
+ "$ref": "#/definitions/OnTaskFailure"
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Job as metadata.",
+ "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code."
+ },
+ "usesTaskDependencies": {
+ "type": "boolean",
+ "title": "Whether Tasks in the Job can define dependencies on each other. The default is false."
+ },
+ "networkConfiguration": {
+ "$ref": "#/definitions/JobNetworkConfiguration",
+ "title": "The network configuration for the Job."
+ }
+ },
+ "required": [
+ "id",
+ "poolInfo"
+ ],
+ "title": "An Azure Batch Job to add."
+ },
+ "CloudJobListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudJob"
+ },
+ "title": "The list of Jobs."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the Jobs in an Account."
+ },
+ "TaskContainerExecutionInformation": {
+ "type": "object",
+ "properties": {
+ "containerId": {
+ "type": "string",
+ "title": "The ID of the container."
+ },
+ "state": {
+ "type": "string",
+ "title": "The state of the container.",
+ "description": "This is the state of the container according to the Docker service. It is equivalent to the status field returned by \"docker inspect\"."
+ },
+ "error": {
+ "type": "string",
+ "title": "Detailed error information about the container.",
+ "description": "This is the detailed error string from the Docker service, if available. It is equivalent to the error field returned by \"docker inspect\"."
+ }
+ },
+ "title": "Contains information about the container which a Task is executing."
+ },
+ "TaskFailureInformation": {
+ "type": "object",
+ "properties": {
+ "category": {
+ "title": "The category of the Task error.",
+ "$ref": "#/definitions/ErrorCategory"
+ },
+ "code": {
+ "type": "string",
+ "title": "An identifier for the Task error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "title": "A message describing the Task error, intended to be suitable for display in a user interface."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NameValuePair"
+ },
+ "title": "A list of additional details related to the error."
+ }
+ },
+ "required": [
+ "category"
+ ],
+ "title": "Information about a Task failure."
+ },
+ "JobPreparationTaskExecutionInformation": {
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Task started running.",
+ "description": "If the Task has been restarted or retried, this is the most recent time at which the Task started running."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Job Preparation Task completed.",
+ "description": "This property is set only if the Task is in the Completed state."
+ },
+ "state": {
+ "type": "string",
+ "title": "The current state of the Job Preparation Task on the Compute Node.",
+ "enum": [
+ "running",
+ "completed"
+ ],
+ "x-ms-enum": {
+ "name": "JobPreparationTaskState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "running",
+ "description": "The Task is currently running (including retrying)."
+ },
+ {
+ "value": "completed",
+ "description": "The Task has exited with exit code 0, or the Task has exhausted its retry limit, or the Batch service was unable to start the Task due to Task preparation errors (such as resource file download failures)."
+ }
+ ]
+ }
+ },
+ "taskRootDirectory": {
+ "type": "string",
+ "title": "The root directory of the Job Preparation Task on the Compute Node. You can use this path to retrieve files created by the Task, such as log files."
+ },
+ "taskRootDirectoryUrl": {
+ "type": "string",
+ "title": "The URL to the root directory of the Job Preparation Task on the Compute Node."
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The exit code of the program specified on the Task command line.",
+ "description": "This parameter is returned only if the Task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the Compute Node operating system, such as when a process is forcibly terminated."
+ },
+ "containerInfo": {
+ "$ref": "#/definitions/TaskContainerExecutionInformation",
+ "title": "Information about the container under which the Task is executing.",
+ "description": "This property is set only if the Task runs in a container context."
+ },
+ "failureInfo": {
+ "$ref": "#/definitions/TaskFailureInformation",
+ "title": "Information describing the Task failure, if any.",
+ "description": "This property is set only if the Task is in the completed state and encountered a failure."
+ },
+ "retryCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of times the Task has been retried by the Batch service. Task application failures (non-zero exit code) are retried, pre-processing errors (the Task could not be run) and file upload errors are not retried. The Batch service will retry the Task up to the limit specified by the constraints.",
+ "description": "Task application failures (non-zero exit code) are retried, pre-processing errors (the Task could not be run) and file upload errors are not retried. The Batch service will retry the Task up to the limit specified by the constraints."
+ },
+ "lastRetryTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The most recent time at which a retry of the Job Preparation Task started running.",
+ "description": "This property is set only if the Task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the Task has been restarted for reasons other than retry; for example, if the Compute Node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not."
+ },
+ "result": {
+ "$ref": "#/definitions/TaskExecutionResult",
+ "title": "The result of the Task execution.",
+ "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property."
+ }
+ },
+ "required": [
+ "startTime",
+ "retryCount",
+ "state"
+ ],
+ "title": "Contains information about the execution of a Job Preparation Task on a Compute Node."
+ },
+ "JobReleaseTaskExecutionInformation": {
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Task started running.",
+ "description": "If the Task has been restarted or retried, this is the most recent time at which the Task started running."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Job Release Task completed.",
+ "description": "This property is set only if the Task is in the Completed state."
+ },
+ "state": {
+ "type": "string",
+ "title": "The current state of the Job Release Task on the Compute Node.",
+ "enum": [
+ "running",
+ "completed"
+ ],
+ "x-ms-enum": {
+ "name": "JobReleaseTaskState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "running",
+ "description": "The Task is currently running (including retrying)."
+ },
+ {
+ "value": "completed",
+ "description": "The Task has exited with exit code 0, or the Task has exhausted its retry limit, or the Batch service was unable to start the Task due to Task preparation errors (such as resource file download failures)."
+ }
+ ]
+ }
+ },
+ "taskRootDirectory": {
+ "type": "string",
+ "title": "The root directory of the Job Release Task on the Compute Node. You can use this path to retrieve files created by the Task, such as log files."
+ },
+ "taskRootDirectoryUrl": {
+ "type": "string",
+ "title": "The URL to the root directory of the Job Release Task on the Compute Node."
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The exit code of the program specified on the Task command line.",
+ "description": "This parameter is returned only if the Task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the Compute Node operating system, such as when a process is forcibly terminated."
+ },
+ "containerInfo": {
+ "$ref": "#/definitions/TaskContainerExecutionInformation",
+ "title": "Information about the container under which the Task is executing.",
+ "description": "This property is set only if the Task runs in a container context."
+ },
+ "failureInfo": {
+ "$ref": "#/definitions/TaskFailureInformation",
+ "title": "Information describing the Task failure, if any.",
+ "description": "This property is set only if the Task is in the completed state and encountered a failure."
+ },
+ "result": {
+ "$ref": "#/definitions/TaskExecutionResult",
+ "title": "The result of the Task execution.",
+ "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property."
+ }
+ },
+ "required": [
+ "startTime",
+ "state"
+ ],
+ "title": "Contains information about the execution of a Job Release Task on a Compute Node."
+ },
+ "JobPreparationAndReleaseTaskExecutionInformation": {
+ "type": "object",
+ "properties": {
+ "poolId": {
+ "type": "string",
+ "title": "The ID of the Pool containing the Compute Node to which this entry refers."
+ },
+ "nodeId": {
+ "type": "string",
+ "title": "The ID of the Compute Node to which this entry refers."
+ },
+ "nodeUrl": {
+ "type": "string",
+ "title": "The URL of the Compute Node to which this entry refers."
+ },
+ "jobPreparationTaskExecutionInfo": {
+ "$ref": "#/definitions/JobPreparationTaskExecutionInformation",
+ "title": "Information about the execution status of the Job Preparation Task on this Compute Node."
+ },
+ "jobReleaseTaskExecutionInfo": {
+ "$ref": "#/definitions/JobReleaseTaskExecutionInformation",
+ "title": "Information about the execution status of the Job Release Task on this Compute Node.",
+ "description": "This property is set only if the Job Release Task has run on the Compute Node."
+ }
+ },
+ "title": "The status of the Job Preparation and Job Release Tasks on a Compute Node."
+ },
+ "CloudJobListPreparationAndReleaseTaskStatusResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobPreparationAndReleaseTaskExecutionInformation"
+ },
+ "title": "A list of Job Preparation and Job Release Task execution information."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the status of the Job Preparation and Job Release Tasks for a Job."
+ },
+ "TaskCountsResult": {
+ "type": "object",
+ "properties": {
+ "taskCounts": {
+ "$ref": "#/definitions/TaskCounts",
+ "title": "The number of Tasks per state."
+ },
+ "taskSlotCounts": {
+ "$ref": "#/definitions/TaskSlotCounts",
+ "title": "The number of TaskSlots required by Tasks per state."
+ }
+ },
+ "required": [
+ "taskCounts",
+ "taskSlotCounts"
+ ],
+ "title": "The Task and TaskSlot counts for a Job."
+ },
+ "TaskCounts": {
+ "type": "object",
+ "properties": {
+ "active": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Tasks in the active state."
+ },
+ "running": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Tasks in the running or preparing state."
+ },
+ "completed": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Tasks in the completed state."
+ },
+ "succeeded": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Tasks which succeeded. A Task succeeds if its result (found in the executionInfo property) is 'success'."
+ },
+ "failed": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Tasks which failed. A Task fails if its result (found in the executionInfo property) is 'failure'."
+ }
+ },
+ "required": [
+ "active",
+ "running",
+ "completed",
+ "succeeded",
+ "failed"
+ ],
+ "title": "The Task counts for a Job."
+ },
+ "TaskSlotCounts": {
+ "type": "object",
+ "properties": {
+ "active": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of TaskSlots for active Tasks."
+ },
+ "running": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of TaskSlots for running Tasks."
+ },
+ "completed": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of TaskSlots for completed Tasks."
+ },
+ "succeeded": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of TaskSlots for succeeded Tasks."
+ },
+ "failed": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of TaskSlots for failed Tasks."
+ }
+ },
+ "required": [
+ "active",
+ "running",
+ "completed",
+ "succeeded",
+ "failed"
+ ],
+ "title": "The TaskSlot counts for a Job."
+ },
+ "AutoScaleRunError": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "title": "An identifier for the autoscale error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "title": "A message describing the autoscale error, intended to be suitable for display in a user interface."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NameValuePair"
+ },
+ "title": "A list of additional error details related to the autoscale error."
+ }
+ },
+ "title": "An error that occurred when executing or evaluating a Pool autoscale formula."
+ },
+ "AutoScaleRun": {
+ "type": "object",
+ "properties": {
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the autoscale formula was last evaluated."
+ },
+ "results": {
+ "type": "string",
+ "title": "The final values of all variables used in the evaluation of the autoscale formula.",
+ "description": "Each variable value is returned in the form $variable=value, and variables are separated by semicolons."
+ },
+ "error": {
+ "$ref": "#/definitions/AutoScaleRunError",
+ "title": "Details of the error encountered evaluating the autoscale formula on the Pool, if the evaluation was unsuccessful."
+ }
+ },
+ "required": [
+ "timestamp"
+ ],
+ "title": "The results and errors from an execution of a Pool autoscale formula."
+ },
+ "ResizeError": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "title": "An identifier for the Pool resize error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "title": "A message describing the Pool resize error, intended to be suitable for display in a user interface."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NameValuePair"
+ },
+ "title": "A list of additional error details related to the Pool resize error."
+ }
+ },
+ "title": "An error that occurred when resizing a Pool."
+ },
+ "CloudServiceConfiguration": {
+ "type": "object",
+ "properties": {
+ "osFamily": {
+ "type": "string",
+ "title": "The Azure Guest OS family to be installed on the virtual machines in the Pool.",
+ "description": "Possible values are:\n2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1.\n3 - OS Family 3, equivalent to Windows Server 2012.\n4 - OS Family 4, equivalent to Windows Server 2012 R2.\n5 - OS Family 5, equivalent to Windows Server 2016.\n6 - OS Family 6, equivalent to Windows Server 2019. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)."
+ },
+ "osVersion": {
+ "type": "string",
+ "title": "The Azure Guest OS version to be installed on the virtual machines in the Pool.",
+ "description": "The default value is * which specifies the latest operating system version for the specified OS family."
+ }
+ },
+ "required": [
+ "osFamily"
+ ],
+ "title": "The configuration for Compute Nodes in a Pool based on the Azure Cloud Services platform."
+ },
+ "ImageReference": {
+ "type": "object",
+ "properties": {
+ "publisher": {
+ "type": "string",
+ "title": "The publisher of the Azure Virtual Machines Marketplace Image.",
+ "description": "For example, Canonical or MicrosoftWindowsServer."
+ },
+ "offer": {
+ "type": "string",
+ "title": "The offer type of the Azure Virtual Machines Marketplace Image.",
+ "description": "For example, UbuntuServer or WindowsServer."
+ },
+ "sku": {
+ "type": "string",
+ "title": "The SKU of the Azure Virtual Machines Marketplace Image.",
+ "description": "For example, 18.04-LTS or 2019-Datacenter."
+ },
+ "version": {
+ "type": "string",
+ "title": "The version of the Azure Virtual Machines Marketplace Image.",
+ "description": "A value of 'latest' can be specified to select the latest version of an Image. If omitted, the default is 'latest'."
+ },
+ "virtualMachineImageId": {
+ "type": "string",
+ "title": "The ARM resource identifier of the Shared Image Gallery Image. Compute Nodes in the Pool will be created using this Image Id. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{VersionId} or /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName} for always defaulting to the latest image version.",
+ "description": "This property is mutually exclusive with other ImageReference properties. The Shared Image Gallery Image must have replicas in the same region and must be in the same subscription as the Azure Batch account. If the image version is not specified in the imageId, the latest version will be used. For information about the firewall settings for the Batch Compute Node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration."
+ },
+ "exactVersion": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The specific version of the platform image or marketplace image used to create the node. This read-only field differs from 'version' only if the value specified for 'version' when the pool was created was 'latest'."
+ }
+ },
+ "title": "A reference to an Azure Virtual Machines Marketplace Image or a Shared Image Gallery Image. To get the list of all Azure Marketplace Image references verified by Azure Batch, see the 'List Supported Images' operation."
+ },
+ "WindowsConfiguration": {
+ "type": "object",
+ "properties": {
+ "enableAutomaticUpdates": {
+ "type": "boolean",
+ "title": "Whether automatic updates are enabled on the virtual machine.",
+ "description": "If omitted, the default value is true."
+ }
+ },
+ "title": "Windows operating system settings to apply to the virtual machine."
+ },
+ "DataDisk": {
+ "type": "object",
+ "properties": {
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The logical unit number.",
+ "description": "The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive."
+ },
+ "caching": {
+ "$ref": "#/definitions/CachingType",
+ "title": "The type of caching to be enabled for the data disks.",
+ "description": "The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The initial disk size in gigabytes."
+ },
+ "storageAccountType": {
+ "title": "The storage Account type to be used for the data disk.",
+ "description": "If omitted, the default is \"standard_lrs\".",
+ "$ref": "#/definitions/StorageAccountType"
+ }
+ },
+ "required": [
+ "lun",
+ "diskSizeGB"
+ ],
+ "title": "Settings which will be used by the data disks associated to Compute Nodes in the Pool. When using attached data disks, you need to mount and format the disks from within a VM to use them."
+ },
+ "StorageAccountType": {
+ "type": "string",
+ "title": "The storage Account type for use in creating data disks.",
+ "enum": [
+ "standard_lrs",
+ "premium_lrs"
+ ],
+ "x-ms-enum": {
+ "name": "StorageAccountType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "standard_lrs",
+ "description": "The data disk should use standard locally redundant storage.",
+ "name": "StandardLRS"
+ },
+ {
+ "value": "premium_lrs",
+ "description": "The data disk should use premium locally redundant storage.",
+ "name": "PremiumLRS"
+ }
+ ]
+ }
+ },
+ "CachingType": {
+ "type": "string",
+ "title": "The type of caching to enable for the disk.",
+ "description": "The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.",
+ "enum": [
+ "none",
+ "readonly",
+ "readwrite"
+ ],
+ "x-ms-enum": {
+ "name": "CachingType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "none",
+ "description": "The caching mode for the disk is not enabled."
+ },
+ {
+ "value": "readonly",
+ "description": "The caching mode for the disk is read only.",
+ "name": "readOnly"
+ },
+ {
+ "value": "readwrite",
+ "description": "The caching mode for the disk is read and write.",
+ "name": "readWrite"
+ }
+ ]
+ }
+ },
+ "VirtualMachineConfiguration": {
+ "type": "object",
+ "properties": {
+ "imageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "title": "A reference to the Azure Virtual Machines Marketplace Image or the custom Virtual Machine Image to use."
+ },
+ "nodeAgentSKUId": {
+ "type": "string",
+ "title": "The SKU of the Batch Compute Node agent to be provisioned on Compute Nodes in the Pool.",
+ "description": "The Batch Compute Node agent is a program that runs on each Compute Node in the Pool, and provides the command-and-control interface between the Compute Node and the Batch service. There are different implementations of the Compute Node agent, known as SKUs, for different operating systems. You must specify a Compute Node agent SKU which matches the selected Image reference. To get the list of supported Compute Node agent SKUs along with their list of verified Image references, see the 'List supported Compute Node agent SKUs' operation."
+ },
+ "windowsConfiguration": {
+ "$ref": "#/definitions/WindowsConfiguration",
+ "title": "Windows operating system settings on the virtual machine.",
+ "description": "This property must not be specified if the imageReference property specifies a Linux OS Image."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataDisk"
+ },
+ "title": "The configuration for data disks attached to the Compute Nodes in the Pool.",
+ "description": "This property must be specified if the Compute Nodes in the Pool need to have empty data disks attached to them. This cannot be updated. Each Compute Node gets its own disk (the disk is not a file share). Existing disks cannot be attached, each attached disk is empty. When the Compute Node is removed from the Pool, the disk and all data associated with it is also deleted. The disk is not formatted after being attached, it must be formatted before use - for more information see https://docs.microsoft.com/en-us/azure/virtual-machines/linux/classic/attach-disk#initialize-a-new-data-disk-in-linux and https://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-disk-ps#add-an-empty-data-disk-to-a-virtual-machine."
+ },
+ "licenseType": {
+ "type": "string",
+ "title": "The type of on-premises license to be used when deploying the operating system.",
+ "description": "This only applies to Images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the Compute Nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are:\n\n Windows_Server - The on-premises license is for Windows Server.\n Windows_Client - The on-premises license is for Windows Client.\n"
+ },
+ "containerConfiguration": {
+ "$ref": "#/definitions/ContainerConfiguration",
+ "title": "The container configuration for the Pool.",
+ "description": "If specified, setup is performed on each Compute Node in the Pool to allow Tasks to run in containers. All regular Tasks and Job manager Tasks run on this Pool must specify the containerSettings property, and all other Tasks may specify it."
+ },
+ "diskEncryptionConfiguration": {
+ "$ref": "#/definitions/DiskEncryptionConfiguration",
+ "title": "The disk encryption configuration for the pool.",
+ "description": "If specified, encryption is performed on each node in the pool during node provisioning."
+ },
+ "nodePlacementConfiguration": {
+ "$ref": "#/definitions/NodePlacementConfiguration",
+ "title": "The node placement configuration for the pool.",
+ "description": "This configuration will specify rules on how nodes in the pool will be physically allocated."
+ },
+ "extensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMExtension"
+ },
+ "title": "The virtual machine extension for the pool.",
+ "description": "If specified, the extensions mentioned in this configuration will be installed on each node."
+ },
+ "osDisk": {
+ "$ref": "#/definitions/OSDisk",
+ "title": "Settings for the operating system disk of the Virtual Machine."
+ }
+ },
+ "required": [
+ "nodeAgentSKUId",
+ "imageReference"
+ ],
+ "title": "The configuration for Compute Nodes in a Pool based on the Azure Virtual Machines infrastructure."
+ },
+ "ContainerRegistry": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string",
+ "x-ms-client-name": "userName",
+ "title": "The user name to log into the registry server."
+ },
+ "password": {
+ "type": "string",
+ "title": "The password to log into the registry server."
+ },
+ "registryServer": {
+ "type": "string",
+ "title": "The registry URL.",
+ "description": "If omitted, the default is \"docker.io\"."
+ },
+ "identityReference": {
+ "title": "The reference to the user assigned identity to use to access an Azure Container Registry instead of username and password.",
+ "$ref": "#/definitions/ComputeNodeIdentityReference"
+ }
+ },
+ "title": "A private container registry."
+ },
+ "ContainerConfiguration": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "title": "The container technology to be used.",
+ "enum": [
+ "dockerCompatible"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "dockerCompatible",
+ "description": "A Docker compatible container technology will be used to launch the containers."
+ }
+ ]
+ }
+ },
+ "containerImageNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The collection of container Image names.",
+ "description": "This is the full Image reference, as would be specified to \"docker pull\". An Image will be sourced from the default Docker registry unless the Image is fully qualified with an alternative registry."
+ },
+ "containerRegistries": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerRegistry"
+ },
+ "title": "Additional private registries from which containers can be pulled.",
+ "description": "If any Images must be downloaded from a private registry which requires credentials, then those credentials must be provided here."
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "The configuration for container-enabled Pools."
+ },
+ "DiskEncryptionConfiguration": {
+ "type": "object",
+ "properties": {
+ "targets": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "x-nullable": false,
+ "title": "A disk to encrypt.",
+ "enum": [
+ "osdisk",
+ "temporarydisk"
+ ],
+ "x-ms-enum": {
+ "name": "DiskEncryptionTarget",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "osdisk",
+ "description": "The OS Disk on the compute node is encrypted.",
+ "name": "OsDisk"
+ },
+ {
+ "value": "temporarydisk",
+ "description": "The temporary disk on the compute node is encrypted. On Linux this encryption applies to other partitions (such as those on mounted data disks) when encryption occurs at boot time.",
+ "name": "TemporaryDisk"
+ }
+ ]
+ }
+ },
+ "title": "The list of disk targets Batch Service will encrypt on the compute node.",
+ "description": "If omitted, no disks on the compute nodes in the pool will be encrypted. On Linux pool, only \"TemporaryDisk\" is supported; on Windows pool, \"OsDisk\" and \"TemporaryDisk\" must be specified."
+ }
+ },
+ "description": "The disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Shared Image Gallery Image."
+ },
+ "NodePlacementPolicyType": {
+ "type": "string",
+ "title": "The placement policy for allocating nodes in the pool.",
+ "description": "The default value is regional.",
+ "enum": [
+ "regional",
+ "zonal"
+ ],
+ "x-ms-enum": {
+ "name": "NodePlacementPolicyType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "regional",
+ "description": "All nodes in the pool will be allocated in the same region.",
+ "name": "regional"
+ },
+ {
+ "value": "zonal",
+ "description": "Nodes in the pool will be spread across different availability zones with best effort balancing.",
+ "name": "zonal"
+ }
+ ]
+ }
+ },
+ "NodePlacementConfiguration": {
+ "type": "object",
+ "title": "Node placement configuration for a pool.",
+ "description": "For regional placement, nodes in the pool will be allocated in the same region. For zonal placement, nodes in the pool will be spread across different zones with best effort balancing.",
+ "properties": {
+ "policy": {
+ "$ref": "#/definitions/NodePlacementPolicyType",
+ "title": "Node placement Policy type on Batch Pools.",
+ "description": "Allocation policy used by Batch Service to provision the nodes. If not specified, Batch will use the regional policy."
+ }
+ }
+ },
+ "VMExtension": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the virtual machine extension."
+ },
+ "publisher": {
+ "type": "string",
+ "title": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "title": "The type of the extension."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "title": "The version of script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "settings": {
+ "type": "object",
+ "title": "JSON formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "x-ms-secret": true,
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. "
+ },
+ "provisionAfterExtensions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The collection of extension names.",
+ "description": "Collection of extension names after which this extension needs to be provisioned."
+ }
+ },
+ "required": [
+ "name",
+ "publisher",
+ "type"
+ ],
+ "title": "The configuration for virtual machine extensions."
+ },
+ "InstanceViewStatus": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "title": "The status code."
+ },
+ "displayStatus": {
+ "type": "string",
+ "title": "The localized label for the status."
+ },
+ "level": {
+ "type": "string",
+ "title": "Level code.",
+ "enum": [
+ "Error",
+ "Info",
+ "Warning"
+ ],
+ "x-ms-enum": {
+ "name": "StatusLevelTypes",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Error"
+ },
+ {
+ "value": "Info"
+ },
+ {
+ "value": "Warning"
+ }
+ ]
+ }
+ },
+ "message": {
+ "type": "string",
+ "title": "The detailed status message."
+ },
+ "time": {
+ "type": "string",
+ "description": "The time of the status."
+ }
+ },
+ "title": "The instance view status."
+ },
+ "VMExtensionInstanceView": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the vm extension instance view."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ },
+ "subStatuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "title": "The vm extension instance view."
+ },
+ "NodeVMExtension": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "title": "The provisioning state of the virtual machine extension."
+ },
+ "vmExtension": {
+ "$ref": "#/definitions/VMExtension",
+ "title": "The virtual machine extension"
+ },
+ "instanceView": {
+ "$ref": "#/definitions/VMExtensionInstanceView",
+ "title": "The vm extension instance view."
+ }
+ },
+ "title": "The configuration for virtual machine extension instance view."
+ },
+ "NodeVMExtensionList": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeVMExtension"
+ },
+ "title": "The list of Compute Node extensions."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the Compute Node extensions in a Node."
+ },
+ "DiffDiskPlacement": {
+ "type": "string",
+ "title": "Specifies the ephemeral disk placement for operating system disk for all compute nodes (VMs) in the pool.",
+ "description": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements",
+ "enum": [
+ "CacheDisk"
+ ],
+ "x-ms-enum": {
+ "name": "DiffDiskPlacement",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "CacheDisk",
+ "description": "The Ephemeral OS Disk is stored on the VM cache.",
+ "name": "CacheDisk"
+ }
+ ]
+ }
+ },
+ "DiffDiskSettings": {
+ "type": "object",
+ "properties": {
+ "placement": {
+ "$ref": "#/definitions/DiffDiskPlacement",
+ "title": "Specifies the ephemeral disk placement for operating system disk for all VMs in the pool.",
+ "description": "This property can be used by user in the request to choose the location e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements."
+ }
+ },
+ "title": "Specifies the ephemeral Disk Settings for the operating system disk used by the compute node (VM)."
+ },
+ "OSDisk": {
+ "type": "object",
+ "properties": {
+ "ephemeralOSDiskSettings": {
+ "$ref": "#/definitions/DiffDiskSettings",
+ "title": "Specifies the ephemeral Disk Settings for the operating system disk used by the compute node (VM)."
+ }
+ },
+ "title": "Settings for the operating system disk of the compute node (VM)."
+ },
+ "IPAddressProvisioningType": {
+ "type": "string",
+ "title": "The provisioning type for Public IP Addresses for the Pool.",
+ "enum": [
+ "batchmanaged",
+ "usermanaged",
+ "nopublicipaddresses"
+ ],
+ "x-ms-enum": {
+ "name": "IPAddressProvisioningType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "batchmanaged",
+ "description": "A public IP will be created and managed by Batch. There may be multiple public IPs depending on the size of the Pool.",
+ "name": "batchManaged"
+ },
+ {
+ "value": "usermanaged",
+ "description": "Public IPs are provided by the user and will be used to provision the Compute Nodes.",
+ "name": "userManaged"
+ },
+ {
+ "value": "nopublicipaddresses",
+ "description": "No public IP Address will be created.",
+ "name": "noPublicIPAddresses"
+ }
+ ]
+ }
+ },
+ "PublicIPAddressConfiguration": {
+ "type": "object",
+ "properties": {
+ "provision": {
+ "$ref": "#/definitions/IPAddressProvisioningType",
+ "title": "The provisioning type for Public IP Addresses for the Pool.",
+ "description": "The default value is BatchManaged."
+ },
+ "ipAddressIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The list of public IPs which the Batch service will use when provisioning Compute Nodes.",
+ "description": "The number of IPs specified here limits the maximum size of the Pool - 100 dedicated nodes or 100 low-priority nodes can be allocated for each public IP. For example, a pool needing 250 dedicated VMs would need at least 3 public IPs specified. Each element of this collection is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}."
+ }
+ },
+ "description": "The public IP Address configuration of the networking configuration of a Pool."
+ },
+ "NetworkConfiguration": {
+ "type": "object",
+ "properties": {
+ "subnetId": {
+ "type": "string",
+ "title": "The ARM resource identifier of the virtual network subnet which the Compute Nodes of the Pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}.",
+ "description": "The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes in the Pool. If the subnet doesn't have enough free IP addresses, the Pool will partially allocate Nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. For Pools created with virtualMachineConfiguration only ARM virtual networks ('Microsoft.Network/virtualNetworks') are supported, but for Pools created with cloudServiceConfiguration both ARM and classic virtual networks are supported. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For Pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For Pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration",
+ "externalDocs": {
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor",
+ "description": "Setting up RBAC for Azure Batch VNETs"
+ }
+ },
+ "dynamicVNetAssignmentScope": {
+ "type": "string",
+ "title": "The scope of dynamic vnet assignment.",
+ "enum": [
+ "none",
+ "job"
+ ],
+ "x-ms-enum": {
+ "name": "DynamicVNetAssignmentScope",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "none",
+ "description": "No dynamic VNet assignment is enabled."
+ },
+ {
+ "value": "job",
+ "description": "Dynamic VNet assignment is done per-job."
+ }
+ ]
+ }
+ },
+ "endpointConfiguration": {
+ "$ref": "#/definitions/PoolEndpointConfiguration",
+ "title": "The configuration for endpoints on Compute Nodes in the Batch Pool.",
+ "description": "Pool endpoint configuration is only supported on Pools with the virtualMachineConfiguration property."
+ },
+ "publicIPAddressConfiguration": {
+ "$ref": "#/definitions/PublicIPAddressConfiguration",
+ "title": "The Public IPAddress configuration for Compute Nodes in the Batch Pool.",
+ "description": "Public IP configuration property is only supported on Pools with the virtualMachineConfiguration property."
+ }
+ },
+ "description": "The network configuration for a Pool."
+ },
+ "CloudPool": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Pool within the Account.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case)."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the Pool.",
+ "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "url": {
+ "type": "string",
+ "title": "The URL of the Pool."
+ },
+ "eTag": {
+ "type": "string",
+ "title": "The ETag of the Pool.",
+ "description": "This is an opaque string. You can use it to detect whether the Pool has changed between requests. In particular, you can be pass the ETag when updating a Pool to specify that your changes should take effect only if nobody else has modified the Pool in the meantime."
+ },
+ "lastModified": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The last modified time of the Pool.",
+ "description": "This is the last time at which the Pool level data, such as the targetDedicatedNodes or enableAutoscale settings, changed. It does not factor in node-level changes such as a Compute Node changing state."
+ },
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The creation time of the Pool."
+ },
+ "state": {
+ "type": "string",
+ "title": "The current state of the Pool.",
+ "enum": [
+ "active",
+ "deleting"
+ ],
+ "x-ms-enum": {
+ "name": "PoolState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "active",
+ "description": "The Pool is available to run Tasks subject to the availability of Compute Nodes."
+ },
+ {
+ "value": "deleting",
+ "description": "The user has requested that the Pool be deleted, but the delete operation has not yet completed."
+ }
+ ]
+ }
+ },
+ "stateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Pool entered its current state."
+ },
+ "allocationState": {
+ "type": "string",
+ "title": "Whether the Pool is resizing.",
+ "enum": [
+ "steady",
+ "resizing",
+ "stopping"
+ ],
+ "x-ms-enum": {
+ "name": "AllocationState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "steady",
+ "description": "The Pool is not resizing. There are no changes to the number of Compute Nodes in the Pool in progress. A Pool enters this state when it is created and when no operations are being performed on the Pool to change the number of Compute Nodes."
+ },
+ {
+ "value": "resizing",
+ "description": "The Pool is resizing; that is, Compute Nodes are being added to or removed from the Pool."
+ },
+ {
+ "value": "stopping",
+ "description": "The Pool was resizing, but the user has requested that the resize be stopped, but the stop request has not yet been completed."
+ }
+ ]
+ }
+ },
+ "allocationStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Pool entered its current allocation state."
+ },
+ "vmSize": {
+ "type": "string",
+ "title": "The size of virtual machines in the Pool. All virtual machines in a Pool are the same size.",
+ "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)."
+ },
+ "cloudServiceConfiguration": {
+ "$ref": "#/definitions/CloudServiceConfiguration",
+ "title": "The cloud service configuration for the Pool.",
+ "description": "This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'."
+ },
+ "virtualMachineConfiguration": {
+ "$ref": "#/definitions/VirtualMachineConfiguration",
+ "title": "The virtual machine configuration for the Pool.",
+ "description": "This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified."
+ },
+ "resizeTimeout": {
+ "type": "string",
+ "format": "duration",
+ "title": "The timeout for allocation of Compute Nodes to the Pool.",
+ "description": "This is the timeout for the most recent resize operation. (The initial sizing when the Pool is created counts as a resize.) The default value is 15 minutes."
+ },
+ "resizeErrors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResizeError"
+ },
+ "title": "A list of errors encountered while performing the last resize on the Pool.",
+ "description": "This property is set only if one or more errors occurred during the last Pool resize, and only when the Pool allocationState is Steady."
+ },
+ "currentDedicatedNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of dedicated Compute Nodes currently in the Pool."
+ },
+ "currentLowPriorityNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of low-priority Compute Nodes currently in the Pool.",
+ "description": "low-priority Compute Nodes which have been preempted are included in this count."
+ },
+ "targetDedicatedNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of dedicated Compute Nodes in the Pool."
+ },
+ "targetLowPriorityNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of low-priority Compute Nodes in the Pool."
+ },
+ "enableAutoScale": {
+ "type": "boolean",
+ "title": "Whether the Pool size should automatically adjust over time.",
+ "description": "If false, at least one of targetDedicatedNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the Pool automatically resizes according to the formula. The default value is false."
+ },
+ "autoScaleFormula": {
+ "type": "string",
+ "title": "A formula for the desired number of Compute Nodes in the Pool.",
+ "description": "This property is set only if the Pool automatically scales, i.e. enableAutoScale is true."
+ },
+ "autoScaleEvaluationInterval": {
+ "type": "string",
+ "format": "duration",
+ "title": "The time interval at which to automatically adjust the Pool size according to the autoscale formula.",
+ "description": "This property is set only if the Pool automatically scales, i.e. enableAutoScale is true."
+ },
+ "autoScaleRun": {
+ "$ref": "#/definitions/AutoScaleRun",
+ "title": "The results and errors from the last execution of the autoscale formula.",
+ "description": "This property is set only if the Pool automatically scales, i.e. enableAutoScale is true."
+ },
+ "enableInterNodeCommunication": {
+ "type": "boolean",
+ "title": "Whether the Pool permits direct communication between Compute Nodes.",
+ "description": "This imposes restrictions on which Compute Nodes can be assigned to the Pool. Specifying this value can reduce the chance of the requested number of Compute Nodes to be allocated in the Pool."
+ },
+ "networkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration",
+ "title": "The network configuration for the Pool."
+ },
+ "startTask": {
+ "$ref": "#/definitions/StartTask",
+ "title": "A Task specified to run on each Compute Node as it joins the Pool."
+ },
+ "certificateReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateReference"
+ },
+ "title": "The list of Certificates to be installed on each Compute Node in the Pool.",
+ "description": "For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory."
+ },
+ "applicationPackageReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "The list of Packages to be installed on each Compute Node in the Pool.",
+ "description": "Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool."
+ },
+ "applicationLicenses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The list of application licenses the Batch service will make available on each Compute Node in the Pool.",
+ "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, Pool creation will fail."
+ },
+ "taskSlotsPerNode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of task slots that can be used to run concurrent tasks on a single compute node in the pool.",
+ "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256."
+ },
+ "taskSchedulingPolicy": {
+ "$ref": "#/definitions/TaskSchedulingPolicy",
+ "title": "How Tasks are distributed across Compute Nodes in a Pool.",
+ "description": "If not specified, the default is spread."
+ },
+ "userAccounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserAccount"
+ },
+ "title": "The list of user Accounts to be created on each Compute Node in the Pool."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Pool as metadata."
+ },
+ "stats": {
+ "$ref": "#/definitions/PoolStatistics",
+ "title": "Utilization and resource usage statistics for the entire lifetime of the Pool.",
+ "description": "This property is populated only if the CloudPool was retrieved with an expand clause including the 'stats' attribute; otherwise it is null. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes."
+ },
+ "mountConfiguration": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountConfiguration"
+ },
+ "title": "A list of file systems to mount on each node in the pool.",
+ "description": "This supports Azure Files, NFS, CIFS/SMB, and Blobfuse."
+ },
+ "identity": {
+ "title": "The identity of the Batch pool, if configured.",
+ "description": "The list of user identities associated with the Batch pool. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.",
+ "$ref": "#/definitions/BatchPoolIdentity"
+ }
+ },
+ "title": "A Pool in the Azure Batch service."
+ },
+ "PoolAddParameter": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Pool within the Account.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two Pool IDs within an Account that differ only by case)."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the Pool.",
+ "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "vmSize": {
+ "type": "string",
+ "title": "The size of virtual machines in the Pool. All virtual machines in a Pool are the same size.",
+ "description": "For information about available sizes of virtual machines for Cloud Services Pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about available VM sizes for Pools using Images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
+ },
+ "cloudServiceConfiguration": {
+ "$ref": "#/definitions/CloudServiceConfiguration",
+ "title": "The cloud service configuration for the Pool.",
+ "description": "This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'."
+ },
+ "virtualMachineConfiguration": {
+ "$ref": "#/definitions/VirtualMachineConfiguration",
+ "title": "The virtual machine configuration for the Pool.",
+ "description": "This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified."
+ },
+ "resizeTimeout": {
+ "type": "string",
+ "format": "duration",
+ "title": "The timeout for allocation of Compute Nodes to the Pool.",
+ "description": "This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "targetDedicatedNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of dedicated Compute Nodes in the Pool.",
+ "description": "This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both."
+ },
+ "targetLowPriorityNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of low-priority Compute Nodes in the Pool.",
+ "description": "This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both."
+ },
+ "enableAutoScale": {
+ "type": "boolean",
+ "title": "Whether the Pool size should automatically adjust over time.",
+ "description": "If false, at least one of targetDedicatedNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the Pool automatically resizes according to the formula. The default value is false."
+ },
+ "autoScaleFormula": {
+ "type": "string",
+ "title": "A formula for the desired number of Compute Nodes in the Pool.",
+ "description": "This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the Pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see 'Automatically scale Compute Nodes in an Azure Batch Pool' (https://azure.microsoft.com/documentation/articles/batch-automatic-scaling/)."
+ },
+ "autoScaleEvaluationInterval": {
+ "type": "string",
+ "format": "duration",
+ "title": "The time interval at which to automatically adjust the Pool size according to the autoscale formula.",
+ "description": "The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "enableInterNodeCommunication": {
+ "type": "boolean",
+ "title": "Whether the Pool permits direct communication between Compute Nodes.",
+ "description": "Enabling inter-node communication limits the maximum size of the Pool due to deployment restrictions on the Compute Nodes of the Pool. This may result in the Pool not reaching its desired size. The default value is false."
+ },
+ "networkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration",
+ "title": "The network configuration for the Pool."
+ },
+ "startTask": {
+ "$ref": "#/definitions/StartTask",
+ "title": "A Task specified to run on each Compute Node as it joins the Pool.",
+ "description": "The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted."
+ },
+ "certificateReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateReference"
+ },
+ "title": "The list of Certificates to be installed on each Compute Node in the Pool.",
+ "description": "For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory."
+ },
+ "applicationPackageReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "The list of Packages to be installed on each Compute Node in the Pool.",
+ "description": "Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool."
+ },
+ "applicationLicenses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The list of application licenses the Batch service will make available on each Compute Node in the Pool.",
+ "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, Pool creation will fail."
+ },
+ "taskSlotsPerNode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of task slots that can be used to run concurrent tasks on a single compute node in the pool.",
+ "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256."
+ },
+ "taskSchedulingPolicy": {
+ "$ref": "#/definitions/TaskSchedulingPolicy",
+ "title": "How Tasks are distributed across Compute Nodes in a Pool.",
+ "description": "If not specified, the default is spread."
+ },
+ "userAccounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserAccount"
+ },
+ "title": "The list of user Accounts to be created on each Compute Node in the Pool."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Pool as metadata.",
+ "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code."
+ },
+ "mountConfiguration": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountConfiguration"
+ },
+ "title": "Mount storage using specified file system for the entire lifetime of the pool.",
+ "description": "Mount the storage using Azure fileshare, NFS, CIFS or Blobfuse based file system."
+ }
+ },
+ "required": [
+ "id",
+ "vmSize"
+ ],
+ "title": "A Pool in the Azure Batch service to add."
+ },
+ "ApplicationListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationSummary"
+ },
+ "title": "The list of applications available in the Account."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the applications available in an Account."
+ },
+ "CloudPoolListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudPool"
+ },
+ "title": "The list of Pools."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the Pools in an Account."
+ },
+ "AffinityInformation": {
+ "type": "object",
+ "properties": {
+ "affinityId": {
+ "type": "string",
+ "title": "An opaque string representing the location of a Compute Node or a Task that has run previously.",
+ "description": "You can pass the affinityId of a Node to indicate that this Task needs to run on that Compute Node. Note that this is just a soft affinity. If the target Compute Node is busy or unavailable at the time the Task is scheduled, then the Task will be scheduled elsewhere."
+ }
+ },
+ "required": [
+ "affinityId"
+ ],
+ "title": "A locality hint that can be used by the Batch service to select a Compute Node on which to start a Task."
+ },
+ "TaskExecutionInformation": {
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Task started running.",
+ "description": "'Running' corresponds to the running state, so if the Task specifies resource files or Packages, then the start time reflects the time at which the Task started downloading or deploying these. If the Task has been restarted or retried, this is the most recent time at which the Task started running. This property is present only for Tasks that are in the running or completed state."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Task completed.",
+ "description": "This property is set only if the Task is in the Completed state."
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The exit code of the program specified on the Task command line.",
+ "description": "This property is set only if the Task is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the Task (due to timeout, or user termination via the API) you may see an operating system-defined exit code."
+ },
+ "containerInfo": {
+ "$ref": "#/definitions/TaskContainerExecutionInformation",
+ "title": "Information about the container under which the Task is executing.",
+ "description": "This property is set only if the Task runs in a container context."
+ },
+ "failureInfo": {
+ "$ref": "#/definitions/TaskFailureInformation",
+ "title": "Information describing the Task failure, if any.",
+ "description": "This property is set only if the Task is in the completed state and encountered a failure."
+ },
+ "retryCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of times the Task has been retried by the Batch service.",
+ "description": "Task application failures (non-zero exit code) are retried, pre-processing errors (the Task could not be run) and file upload errors are not retried. The Batch service will retry the Task up to the limit specified by the constraints."
+ },
+ "lastRetryTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The most recent time at which a retry of the Task started running.",
+ "description": "This element is present only if the Task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the Task has been restarted for reasons other than retry; for example, if the Compute Node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not."
+ },
+ "requeueCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of times the Task has been requeued by the Batch service as the result of a user request.",
+ "description": "When the user removes Compute Nodes from a Pool (by resizing/shrinking the pool) or when the Job is being disabled, the user can specify that running Tasks on the Compute Nodes be requeued for execution. This count tracks how many times the Task has been requeued for these reasons."
+ },
+ "lastRequeueTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The most recent time at which the Task has been requeued by the Batch service as the result of a user request.",
+ "description": "This property is set only if the requeueCount is nonzero."
+ },
+ "result": {
+ "$ref": "#/definitions/TaskExecutionResult",
+ "title": "The result of the Task execution.",
+ "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property."
+ }
+ },
+ "required": [
+ "requeueCount",
+ "retryCount"
+ ],
+ "title": "Information about the execution of a Task."
+ },
+ "ComputeNodeInformation": {
+ "type": "object",
+ "properties": {
+ "affinityId": {
+ "type": "string",
+ "title": "An identifier for the Node on which the Task ran, which can be passed when adding a Task to request that the Task be scheduled on this Compute Node."
+ },
+ "nodeUrl": {
+ "type": "string",
+ "title": "The URL of the Compute Node on which the Task ran. "
+ },
+ "poolId": {
+ "type": "string",
+ "title": "The ID of the Pool on which the Task ran."
+ },
+ "nodeId": {
+ "type": "string",
+ "title": "The ID of the Compute Node on which the Task ran."
+ },
+ "taskRootDirectory": {
+ "type": "string",
+ "title": "The root directory of the Task on the Compute Node."
+ },
+ "taskRootDirectoryUrl": {
+ "type": "string",
+ "title": "The URL to the root directory of the Task on the Compute Node."
+ }
+ },
+ "title": "Information about the Compute Node on which a Task ran."
+ },
+ "NodeAgentInformation": {
+ "type": "object",
+ "properties": {
+ "version": {
+ "type": "string",
+ "title": "The version of the Batch Compute Node agent running on the Compute Node.",
+ "description": "This version number can be checked against the Compute Node agent release notes located at https://github.com/Azure/Batch/blob/master/changelogs/nodeagent/CHANGELOG.md."
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time when the Compute Node agent was updated on the Compute Node.",
+ "description": "This is the most recent time that the Compute Node agent was updated to a new version."
+ }
+ },
+ "required": [
+ "version",
+ "lastUpdateTime"
+ ],
+ "title": "Information about the Compute Node agent.",
+ "description": "The Batch Compute Node agent is a program that runs on each Compute Node in the Pool and provides Batch capability on the Compute Node."
+ },
+ "MultiInstanceSettings": {
+ "type": "object",
+ "properties": {
+ "numberOfInstances": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes required by the Task.",
+ "description": "If omitted, the default is 1."
+ },
+ "coordinationCommandLine": {
+ "type": "string",
+ "title": "The command line to run on all the Compute Nodes to enable them to coordinate when the primary runs the main Task command.",
+ "description": "A typical coordination command line launches a background service and verifies that the service is ready to process inter-node messages."
+ },
+ "commonResourceFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceFile"
+ },
+ "title": "A list of files that the Batch service will download before running the coordination command line.",
+ "description": "The difference between common resource files and Task resource files is that common resource files are downloaded for all subtasks including the primary, whereas Task resource files are downloaded only for the primary. Also note that these resource files are not downloaded to the Task working directory, but instead are downloaded to the Task root directory (one directory above the working directory). There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers."
+ }
+ },
+ "required": [
+ "coordinationCommandLine"
+ ],
+ "title": "Settings which specify how to run a multi-instance Task.",
+ "description": "Multi-instance Tasks are commonly used to support MPI Tasks. In the MPI case, if any of the subtasks fail (for example due to exiting with a non-zero exit code) the entire multi-instance Task fails. The multi-instance Task is then terminated and retried, up to its retry limit."
+ },
+ "TaskStatistics": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "title": "The URL of the statistics."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start time of the time range covered by the statistics."
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime."
+ },
+ "userCPUTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total user mode CPU time (summed across all cores and all Compute Nodes) consumed by the Task."
+ },
+ "kernelCPUTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total kernel mode CPU time (summed across all cores and all Compute Nodes) consumed by the Task."
+ },
+ "wallClockTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total wall clock time of the Task.",
+ "description": "The wall clock time is the elapsed time from when the Task started running on a Compute Node to when it finished (or to the last time the statistics were updated, if the Task had not finished by then). If the Task was retried, this includes the wall clock time of all the Task retries."
+ },
+ "readIOps": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of disk read operations made by the Task."
+ },
+ "writeIOps": {
+ "type": "integer",
+ "format": "int64",
+ "title": "The total number of disk write operations made by the Task."
+ },
+ "readIOGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total gibibytes read from disk by the Task."
+ },
+ "writeIOGiB": {
+ "type": "number",
+ "format": "double",
+ "title": "The total gibibytes written to disk by the Task."
+ },
+ "waitTime": {
+ "type": "string",
+ "format": "duration",
+ "title": "The total wait time of the Task. The wait time for a Task is defined as the elapsed time between the creation of the Task and the start of Task execution. (If the Task is retried due to failures, the wait time is the time to the most recent Task execution.)"
+ }
+ },
+ "required": [
+ "url",
+ "startTime",
+ "lastUpdateTime",
+ "userCPUTime",
+ "kernelCPUTime",
+ "wallClockTime",
+ "readIOps",
+ "writeIOps",
+ "readIOGiB",
+ "writeIOGiB",
+ "waitTime"
+ ],
+ "title": "Resource usage statistics for a Task."
+ },
+ "TaskDependencies": {
+ "type": "object",
+ "properties": {
+ "taskIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The list of Task IDs that this Task depends on. All Tasks in this list must complete successfully before the dependent Task can be scheduled.",
+ "description": "The taskIds collection is limited to 64000 characters total (i.e. the combined length of all Task IDs). If the taskIds collection exceeds the maximum length, the Add Task request fails with error code TaskDependencyListTooLong. In this case consider using Task ID ranges instead."
+ },
+ "taskIdRanges": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TaskIdRange"
+ },
+ "title": "The list of Task ID ranges that this Task depends on. All Tasks in all ranges must complete successfully before the dependent Task can be scheduled."
+ }
+ },
+ "title": "Specifies any dependencies of a Task. Any Task that is explicitly specified or within a dependency range must complete before the dependant Task will be scheduled."
+ },
+ "TaskIdRange": {
+ "type": "object",
+ "properties": {
+ "start": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The first Task ID in the range."
+ },
+ "end": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The last Task ID in the range."
+ }
+ },
+ "title": "A range of Task IDs that a Task can depend on. All Tasks with IDs in the range must complete successfully before the dependent Task can be scheduled.",
+ "description": "The start and end of the range are inclusive. For example, if a range has start 9 and end 12, then it represents Tasks '9', '10', '11' and '12'.",
+ "required": [
+ "start",
+ "end"
+ ]
+ },
+ "CloudTask": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Task within the Job.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "A display name for the Task.",
+ "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "url": {
+ "type": "string",
+ "title": "The URL of the Task."
+ },
+ "eTag": {
+ "type": "string",
+ "title": "The ETag of the Task.",
+ "description": "This is an opaque string. You can use it to detect whether the Task has changed between requests. In particular, you can be pass the ETag when updating a Task to specify that your changes should take effect only if nobody else has modified the Task in the meantime."
+ },
+ "lastModified": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The last modified time of the Task."
+ },
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The creation time of the Task."
+ },
+ "exitConditions": {
+ "$ref": "#/definitions/ExitConditions",
+ "description": "How the Batch service should respond when the Task completes."
+ },
+ "state": {
+ "title": "The current state of the Task.",
+ "$ref": "#/definitions/TaskState"
+ },
+ "stateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Task entered its current state."
+ },
+ "previousState": {
+ "title": "The previous state of the Task.",
+ "description": "This property is not set if the Task is in its initial Active state.",
+ "$ref": "#/definitions/TaskState"
+ },
+ "previousStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Task entered its previous state.",
+ "description": "This property is not set if the Task is in its initial Active state."
+ },
+ "commandLine": {
+ "type": "string",
+ "title": "The command line of the Task.",
+ "description": "For multi-instance Tasks, the command line is executed as the primary Task, after the primary Task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)."
+ },
+ "containerSettings": {
+ "$ref": "#/definitions/TaskContainerSettings",
+ "title": "The settings for the container under which the Task runs.",
+ "description": "If the Pool that will run this Task has containerConfiguration set, this must be set as well. If the Pool that will run this Task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files."
+ },
+ "resourceFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceFile"
+ },
+ "title": "A list of files that the Batch service will download to the Compute Node before running the command line.",
+ "description": "For multi-instance Tasks, the resource files will only be downloaded to the Compute Node on which the primary Task is executed. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers."
+ },
+ "outputFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutputFile"
+ },
+ "title": "A list of files that the Batch service will upload from the Compute Node after running the command line.",
+ "description": "For multi-instance Tasks, the files will only be uploaded from the Compute Node on which the primary Task is executed."
+ },
+ "environmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "A list of environment variable settings for the Task."
+ },
+ "affinityInfo": {
+ "$ref": "#/definitions/AffinityInformation",
+ "title": "A locality hint that can be used by the Batch service to select a Compute Node on which to start the new Task."
+ },
+ "constraints": {
+ "$ref": "#/definitions/TaskConstraints",
+ "title": "The execution constraints that apply to this Task."
+ },
+ "requiredSlots": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of scheduling slots that the Task requires to run.",
+ "description": "The default is 1. A Task can only be scheduled to run on a compute node if the node has enough free scheduling slots available. For multi-instance Tasks, this must be 1."
+ },
+ "userIdentity": {
+ "$ref": "#/definitions/UserIdentity",
+ "title": "The user identity under which the Task runs.",
+ "description": "If omitted, the Task runs as a non-administrative user unique to the Task."
+ },
+ "executionInfo": {
+ "$ref": "#/definitions/TaskExecutionInformation",
+ "title": "Information about the execution of the Task."
+ },
+ "nodeInfo": {
+ "$ref": "#/definitions/ComputeNodeInformation",
+ "title": "Information about the Compute Node on which the Task ran."
+ },
+ "multiInstanceSettings": {
+ "$ref": "#/definitions/MultiInstanceSettings",
+ "title": "An object that indicates that the Task is a multi-instance Task, and contains information about how to run the multi-instance Task."
+ },
+ "stats": {
+ "$ref": "#/definitions/TaskStatistics",
+ "title": "Resource usage statistics for the Task."
+ },
+ "dependsOn": {
+ "$ref": "#/definitions/TaskDependencies",
+ "title": "The Tasks that this Task depends on.",
+ "description": "This Task will not be scheduled until all Tasks that it depends on have completed successfully. If any of those Tasks fail and exhaust their retry counts, this Task will never be scheduled."
+ },
+ "applicationPackageReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "A list of Packages that the Batch service will deploy to the Compute Node before running the command line.",
+ "description": "Application packages are downloaded and deployed to a shared directory, not the Task working directory. Therefore, if a referenced package is already on the Node, and is up to date, then it is not re-downloaded; the existing copy on the Compute Node is used. If a referenced Package cannot be installed, for example because the package has been deleted or because download failed, the Task fails."
+ },
+ "authenticationTokenSettings": {
+ "title": "The settings for an authentication token that the Task can use to perform Batch service operations.",
+ "description": "If this property is set, the Batch service provides the Task with an authentication token which can be used to authenticate Batch service operations without requiring an Account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the Task can carry out using the token depend on the settings. For example, a Task can request Job permissions in order to add other Tasks to the Job, or check the status of the Job or of other Tasks under the Job.",
+ "$ref": "#/definitions/AuthenticationTokenSettings"
+ }
+ },
+ "title": "An Azure Batch Task.",
+ "description": "Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing."
+ },
+ "TaskAddParameter": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "A string that uniquely identifies the Task within the Job.",
+ "description": "The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within a Job that differ only by case)."
+ },
+ "displayName": {
+ "type": "string",
+ "title": "A display name for the Task.",
+ "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "commandLine": {
+ "type": "string",
+ "title": "The command line of the Task.",
+ "description": "For multi-instance Tasks, the command line is executed as the primary Task, after the primary Task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)."
+ },
+ "containerSettings": {
+ "$ref": "#/definitions/TaskContainerSettings",
+ "title": "The settings for the container under which the Task runs.",
+ "description": "If the Pool that will run this Task has containerConfiguration set, this must be set as well. If the Pool that will run this Task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files."
+ },
+ "exitConditions": {
+ "$ref": "#/definitions/ExitConditions",
+ "description": "How the Batch service should respond when the Task completes."
+ },
+ "resourceFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceFile"
+ },
+ "title": "A list of files that the Batch service will download to the Compute Node before running the command line.",
+ "description": "For multi-instance Tasks, the resource files will only be downloaded to the Compute Node on which the primary Task is executed. There is a maximum size for the list of resource files. When the max size is exceeded, the request will fail and the response error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in size. This can be achieved using .zip files, Application Packages, or Docker Containers."
+ },
+ "outputFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutputFile"
+ },
+ "title": "A list of files that the Batch service will upload from the Compute Node after running the command line.",
+ "description": "For multi-instance Tasks, the files will only be uploaded from the Compute Node on which the primary Task is executed."
+ },
+ "environmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "A list of environment variable settings for the Task."
+ },
+ "affinityInfo": {
+ "$ref": "#/definitions/AffinityInformation",
+ "title": "A locality hint that can be used by the Batch service to select a Compute Node on which to start the new Task."
+ },
+ "constraints": {
+ "$ref": "#/definitions/TaskConstraints",
+ "title": "The execution constraints that apply to this Task.",
+ "description": "If you do not specify constraints, the maxTaskRetryCount is the maxTaskRetryCount specified for the Job, the maxWallClockTime is infinite, and the retentionTime is 7 days."
+ },
+ "requiredSlots": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of scheduling slots that the Task required to run.",
+ "description": "The default is 1. A Task can only be scheduled to run on a compute node if the node has enough free scheduling slots available. For multi-instance Tasks, this must be 1."
+ },
+ "userIdentity": {
+ "$ref": "#/definitions/UserIdentity",
+ "title": "The user identity under which the Task runs.",
+ "description": "If omitted, the Task runs as a non-administrative user unique to the Task."
+ },
+ "multiInstanceSettings": {
+ "$ref": "#/definitions/MultiInstanceSettings",
+ "title": "An object that indicates that the Task is a multi-instance Task, and contains information about how to run the multi-instance Task."
+ },
+ "dependsOn": {
+ "$ref": "#/definitions/TaskDependencies",
+ "title": "The Tasks that this Task depends on.",
+ "description": "This Task will not be scheduled until all Tasks that it depends on have completed successfully. If any of those Tasks fail and exhaust their retry counts, this Task will never be scheduled. If the Job does not have usesTaskDependencies set to true, and this element is present, the request fails with error code TaskDependenciesNotSpecifiedOnJob."
+ },
+ "applicationPackageReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "A list of Packages that the Batch service will deploy to the Compute Node before running the command line.",
+ "description": "Application packages are downloaded and deployed to a shared directory, not the Task working directory. Therefore, if a referenced package is already on the Node, and is up to date, then it is not re-downloaded; the existing copy on the Compute Node is used. If a referenced Package cannot be installed, for example because the package has been deleted or because download failed, the Task fails."
+ },
+ "authenticationTokenSettings": {
+ "title": "The settings for an authentication token that the Task can use to perform Batch service operations.",
+ "description": "If this property is set, the Batch service provides the Task with an authentication token which can be used to authenticate Batch service operations without requiring an Account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the Task can carry out using the token depend on the settings. For example, a Task can request Job permissions in order to add other Tasks to the Job, or check the status of the Job or of other Tasks under the Job.",
+ "$ref": "#/definitions/AuthenticationTokenSettings"
+ }
+ },
+ "required": [
+ "id",
+ "commandLine"
+ ],
+ "title": "An Azure Batch Task to add.",
+ "description": "Batch will retry Tasks when a recovery operation is triggered on a Node. Examples of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data. The best practice for long running Tasks is to use some form of checkpointing."
+ },
+ "TaskAddCollectionParameter": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TaskAddParameter"
+ },
+ "maxItems": 100,
+ "title": "The collection of Tasks to add. The maximum count of Tasks is 100.",
+ "description": "The total serialized size of this collection must be less than 1MB. If it is greater than 1MB (for example if each Task has 100's of resource files or environment variables), the request will fail with code 'RequestBodyTooLarge' and should be retried again with fewer Tasks."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "title": "A collection of Azure Batch Tasks to add."
+ },
+ "TaskAddResult": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "title": "The status of the add Task request.",
+ "enum": [
+ "success",
+ "clienterror",
+ "servererror"
+ ],
+ "x-ms-enum": {
+ "name": "TaskAddStatus",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "success",
+ "description": "The Task was added successfully."
+ },
+ {
+ "value": "clienterror",
+ "description": "The Task failed to add due to a client error and should not be retried without modifying the request as appropriate.",
+ "name": "clientError"
+ },
+ {
+ "value": "servererror",
+ "description": "Task failed to add due to a server error and can be retried without modification.",
+ "name": "serverError"
+ }
+ ]
+ }
+ },
+ "taskId": {
+ "type": "string",
+ "title": "The ID of the Task for which this is the result."
+ },
+ "eTag": {
+ "type": "string",
+ "title": "The ETag of the Task, if the Task was successfully added.",
+ "description": "You can use this to detect whether the Task has changed between requests. In particular, you can be pass the ETag with an Update Task request to specify that your changes should take effect only if nobody else has modified the Job in the meantime."
+ },
+ "lastModified": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The last modified time of the Task."
+ },
+ "location": {
+ "type": "string",
+ "title": "The URL of the Task, if the Task was successfully added."
+ },
+ "error": {
+ "$ref": "#/definitions/BatchError",
+ "title": "The error encountered while attempting to add the Task."
+ }
+ },
+ "required": [
+ "status",
+ "taskId"
+ ],
+ "title": "Result for a single Task added as part of an add Task collection operation."
+ },
+ "TaskAddCollectionResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TaskAddResult"
+ },
+ "title": "The results of the add Task collection operation."
+ }
+ },
+ "title": "The result of adding a collection of Tasks to a Job."
+ },
+ "SubtaskInformation": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The ID of the subtask."
+ },
+ "nodeInfo": {
+ "$ref": "#/definitions/ComputeNodeInformation",
+ "title": "Information about the Compute Node on which the subtask ran."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the subtask started running. If the subtask has been restarted or retried, this is the most recent time at which the subtask started running."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the subtask completed.",
+ "description": "This property is set only if the subtask is in the Completed state."
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The exit code of the program specified on the subtask command line.",
+ "description": "This property is set only if the subtask is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the subtask (due to timeout, or user termination via the API) you may see an operating system-defined exit code."
+ },
+ "containerInfo": {
+ "$ref": "#/definitions/TaskContainerExecutionInformation",
+ "title": "Information about the container under which the Task is executing.",
+ "description": "This property is set only if the Task runs in a container context."
+ },
+ "failureInfo": {
+ "$ref": "#/definitions/TaskFailureInformation",
+ "title": "Information describing the Task failure, if any.",
+ "description": "This property is set only if the Task is in the completed state and encountered a failure."
+ },
+ "state": {
+ "title": "The current state of the subtask.",
+ "$ref": "#/definitions/SubtaskState"
+ },
+ "stateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the subtask entered its current state."
+ },
+ "previousState": {
+ "title": "The previous state of the subtask.",
+ "description": "This property is not set if the subtask is in its initial running state.",
+ "$ref": "#/definitions/SubtaskState"
+ },
+ "previousStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the subtask entered its previous state.",
+ "description": "This property is not set if the subtask is in its initial running state."
+ },
+ "result": {
+ "$ref": "#/definitions/TaskExecutionResult",
+ "title": "The result of the Task execution.",
+ "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property."
+ }
+ },
+ "title": "Information about an Azure Batch subtask."
+ },
+ "CloudTaskListSubtasksResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubtaskInformation"
+ },
+ "title": "The list of subtasks."
+ }
+ },
+ "title": "The result of listing the subtasks of a Task."
+ },
+ "CloudTaskListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudTask"
+ },
+ "title": "The list of Tasks."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the Tasks in a Job."
+ },
+ "TaskInformation": {
+ "type": "object",
+ "properties": {
+ "taskUrl": {
+ "type": "string",
+ "title": "The URL of the Task."
+ },
+ "jobId": {
+ "type": "string",
+ "title": "The ID of the Job to which the Task belongs."
+ },
+ "taskId": {
+ "type": "string",
+ "title": "The ID of the Task."
+ },
+ "subtaskId": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The ID of the subtask if the Task is a multi-instance Task."
+ },
+ "taskState": {
+ "title": "The current state of the Task.",
+ "$ref": "#/definitions/TaskState"
+ },
+ "executionInfo": {
+ "$ref": "#/definitions/TaskExecutionInformation",
+ "title": "Information about the execution of the Task."
+ }
+ },
+ "required": [
+ "taskState"
+ ],
+ "title": "Information about a Task running on a Compute Node."
+ },
+ "StartTaskInformation": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "type": "string",
+ "title": "The state of the StartTask on the Compute Node.",
+ "enum": [
+ "running",
+ "completed"
+ ],
+ "x-ms-enum": {
+ "name": "StartTaskState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "running",
+ "description": "The StartTask is currently running."
+ },
+ {
+ "value": "completed",
+ "description": "The StartTask has exited with exit code 0, or the StartTask has failed and the retry limit has reached, or the StartTask process did not run due to Task preparation errors (such as resource file download failures)."
+ }
+ ]
+ }
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the StartTask started running.",
+ "description": "This value is reset every time the Task is restarted or retried (that is, this is the most recent time at which the StartTask started running)."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the StartTask stopped running.",
+ "description": "This is the end time of the most recent run of the StartTask, if that run has completed (even if that run failed and a retry is pending). This element is not present if the StartTask is currently running."
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The exit code of the program specified on the StartTask command line.",
+ "description": "This property is set only if the StartTask is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the StartTask (due to timeout, or user termination via the API) you may see an operating system-defined exit code."
+ },
+ "containerInfo": {
+ "$ref": "#/definitions/TaskContainerExecutionInformation",
+ "title": "Information about the container under which the Task is executing.",
+ "description": "This property is set only if the Task runs in a container context."
+ },
+ "failureInfo": {
+ "$ref": "#/definitions/TaskFailureInformation",
+ "title": "Information describing the Task failure, if any.",
+ "description": "This property is set only if the Task is in the completed state and encountered a failure."
+ },
+ "retryCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of times the Task has been retried by the Batch service.",
+ "description": "Task application failures (non-zero exit code) are retried, pre-processing errors (the Task could not be run) and file upload errors are not retried. The Batch service will retry the Task up to the limit specified by the constraints."
+ },
+ "lastRetryTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The most recent time at which a retry of the Task started running.",
+ "description": "This element is present only if the Task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the Task has been restarted for reasons other than retry; for example, if the Compute Node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not."
+ },
+ "result": {
+ "$ref": "#/definitions/TaskExecutionResult",
+ "title": "The result of the Task execution.",
+ "description": "If the value is 'failed', then the details of the failure can be found in the failureInfo property."
+ }
+ },
+ "required": [
+ "state",
+ "startTime",
+ "retryCount"
+ ],
+ "title": "Information about a StartTask running on a Compute Node."
+ },
+ "ComputeNodeError": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "title": "An identifier for the Compute Node error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "title": "A message describing the Compute Node error, intended to be suitable for display in a user interface."
+ },
+ "errorDetails": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NameValuePair"
+ },
+ "title": "The list of additional error details related to the Compute Node error."
+ }
+ },
+ "title": "An error encountered by a Compute Node."
+ },
+ "ComputeNode": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "The ID of the Compute Node.",
+ "description": "Every Compute Node that is added to a Pool is assigned a unique ID. Whenever a Compute Node is removed from a Pool, all of its local files are deleted, and the ID is reclaimed and could be reused for new Compute Nodes."
+ },
+ "url": {
+ "type": "string",
+ "title": "The URL of the Compute Node."
+ },
+ "state": {
+ "type": "string",
+ "title": "The current state of the Compute Node.",
+ "description": "The low-priority Compute Node has been preempted. Tasks which were running on the Compute Node when it was preempted will be rescheduled when another Compute Node becomes available.",
+ "enum": [
+ "idle",
+ "rebooting",
+ "reimaging",
+ "running",
+ "unusable",
+ "creating",
+ "starting",
+ "waitingforstarttask",
+ "starttaskfailed",
+ "unknown",
+ "leavingpool",
+ "offline",
+ "preempted"
+ ],
+ "x-ms-enum": {
+ "name": "ComputeNodeState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "idle",
+ "description": "The Compute Node is not currently running a Task."
+ },
+ {
+ "value": "rebooting",
+ "description": "The Compute Node is rebooting."
+ },
+ {
+ "value": "reimaging",
+ "description": "The Compute Node is reimaging."
+ },
+ {
+ "value": "running",
+ "description": "The Compute Node is running one or more Tasks (other than a StartTask)."
+ },
+ {
+ "value": "unusable",
+ "description": "The Compute Node cannot be used for Task execution due to errors."
+ },
+ {
+ "value": "creating",
+ "description": "The Batch service has obtained the underlying virtual machine from Azure Compute, but it has not yet started to join the Pool."
+ },
+ {
+ "value": "starting",
+ "description": "The Batch service is starting on the underlying virtual machine."
+ },
+ {
+ "value": "waitingforstarttask",
+ "description": "The StartTask has started running on the Compute Node, but waitForSuccess is set and the StartTask has not yet completed.",
+ "name": "waitingForStartTask"
+ },
+ {
+ "value": "starttaskfailed",
+ "description": "The StartTask has failed on the Compute Node (and exhausted all retries), and waitForSuccess is set. The Compute Node is not usable for running Tasks.",
+ "name": "startTaskFailed"
+ },
+ {
+ "value": "unknown",
+ "description": "The Batch service has lost contact with the Compute Node, and does not know its true state."
+ },
+ {
+ "value": "leavingpool",
+ "description": "The Compute Node is leaving the Pool, either because the user explicitly removed it or because the Pool is resizing or autoscaling down.",
+ "name": "leavingPool"
+ },
+ {
+ "value": "offline",
+ "description": "The Compute Node is not currently running a Task, and scheduling of new Tasks to the Compute Node is disabled."
+ },
+ {
+ "value": "preempted",
+ "description": "The low-priority Compute Node has been preempted. Tasks which were running on the Compute Node when it was preempted will be rescheduled when another Compute Node becomes available."
+ }
+ ]
+ }
+ },
+ "schedulingState": {
+ "type": "string",
+ "title": "Whether the Compute Node is available for Task scheduling.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "x-ms-enum": {
+ "name": "SchedulingState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "enabled",
+ "description": "Tasks can be scheduled on the Compute Node."
+ },
+ {
+ "value": "disabled",
+ "description": "No new Tasks will be scheduled on the Compute Node. Tasks already running on the Compute Node may still run to completion. All Compute Nodes start with scheduling enabled."
+ }
+ ]
+ }
+ },
+ "stateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Compute Node entered its current state."
+ },
+ "lastBootTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The last time at which the Compute Node was started.",
+ "description": "This property may not be present if the Compute Node state is unusable."
+ },
+ "allocationTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which this Compute Node was allocated to the Pool.",
+ "description": "This is the time when the Compute Node was initially allocated and doesn't change once set. It is not updated when the Compute Node is service healed or preempted."
+ },
+ "ipAddress": {
+ "type": "string",
+ "title": "The IP address that other Nodes can use to communicate with this Compute Node.",
+ "description": "Every Compute Node that is added to a Pool is assigned a unique IP address. Whenever a Compute Node is removed from a Pool, all of its local files are deleted, and the IP address is reclaimed and could be reused for new Compute Nodes."
+ },
+ "affinityId": {
+ "type": "string",
+ "title": "An identifier which can be passed when adding a Task to request that the Task be scheduled on this Compute Node.",
+ "description": "Note that this is just a soft affinity. If the target Compute Node is busy or unavailable at the time the Task is scheduled, then the Task will be scheduled elsewhere."
+ },
+ "vmSize": {
+ "type": "string",
+ "title": "The size of the virtual machine hosting the Compute Node.",
+ "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)."
+ },
+ "totalTasksRun": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The total number of Job Tasks completed on the Compute Node. This includes Job Manager Tasks and normal Tasks, but not Job Preparation, Job Release or Start Tasks."
+ },
+ "runningTasksCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The total number of currently running Job Tasks on the Compute Node. This includes Job Manager Tasks and normal Tasks, but not Job Preparation, Job Release or Start Tasks."
+ },
+ "runningTaskSlotsCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The total number of scheduling slots used by currently running Job Tasks on the Compute Node. This includes Job Manager Tasks and normal Tasks, but not Job Preparation, Job Release or Start Tasks."
+ },
+ "totalTasksSucceeded": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The total number of Job Tasks which completed successfully (with exitCode 0) on the Compute Node. This includes Job Manager Tasks and normal Tasks, but not Job Preparation, Job Release or Start Tasks."
+ },
+ "recentTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TaskInformation"
+ },
+ "title": "A list of Tasks whose state has recently changed.",
+ "description": "This property is present only if at least one Task has run on this Compute Node since it was assigned to the Pool."
+ },
+ "startTask": {
+ "$ref": "#/definitions/StartTask",
+ "title": "The Task specified to run on the Compute Node as it joins the Pool."
+ },
+ "startTaskInfo": {
+ "$ref": "#/definitions/StartTaskInformation",
+ "title": "Runtime information about the execution of the StartTask on the Compute Node."
+ },
+ "certificateReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateReference"
+ },
+ "title": "The list of Certificates installed on the Compute Node.",
+ "description": "For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory."
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ComputeNodeError"
+ },
+ "title": "The list of errors that are currently being encountered by the Compute Node."
+ },
+ "isDedicated": {
+ "type": "boolean",
+ "title": "Whether this Compute Node is a dedicated Compute Node. If false, the Compute Node is a low-priority Compute Node."
+ },
+ "endpointConfiguration": {
+ "$ref": "#/definitions/ComputeNodeEndpointConfiguration",
+ "title": "The endpoint configuration for the Compute Node."
+ },
+ "nodeAgentInfo": {
+ "$ref": "#/definitions/NodeAgentInformation",
+ "title": "Information about the Compute Node agent version and the time the Compute Node upgraded to a new version."
+ },
+ "virtualMachineInfo": {
+ "$ref": "#/definitions/VirtualMachineInfo",
+ "title": "Info about the current state of the virtual machine."
+ }
+ },
+ "title": "A Compute Node in the Batch service."
+ },
+ "VirtualMachineInfo": {
+ "type": "object",
+ "title": "Info about the current state of the virtual machine.",
+ "properties": {
+ "imageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "title": "The reference to the Azure Virtual Machine's Marketplace Image."
+ }
+ }
+ },
+ "PoolEndpointConfiguration": {
+ "type": "object",
+ "properties": {
+ "inboundNATPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundNATPool"
+ },
+ "title": "A list of inbound NAT Pools that can be used to address specific ports on an individual Compute Node externally.",
+ "description": "The maximum number of inbound NAT Pools per Batch Pool is 5. If the maximum number of inbound NAT Pools is exceeded the request fails with HTTP status code 400. This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses."
+ }
+ },
+ "required": [
+ "inboundNATPools"
+ ],
+ "title": "The endpoint configuration for a Pool."
+ },
+ "InboundNATPool": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the endpoint.",
+ "description": "The name must be unique within a Batch Pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400."
+ },
+ "protocol": {
+ "$ref": "#/definitions/InboundEndpointProtocol",
+ "title": "The protocol of the endpoint."
+ },
+ "backendPort": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The port number on the Compute Node.",
+ "description": "This must be unique within a Batch Pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400."
+ },
+ "frontendPortRangeStart": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The first port number in the range of external ports that will be used to provide inbound access to the backendPort on individual Compute Nodes.",
+ "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a Pool must be distinct and cannot overlap. Each range must contain at least 40 ports. If any reserved or overlapping values are provided the request fails with HTTP status code 400."
+ },
+ "frontendPortRangeEnd": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The last port number in the range of external ports that will be used to provide inbound access to the backendPort on individual Compute Nodes.",
+ "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a Pool must be distinct and cannot overlap. Each range must contain at least 40 ports. If any reserved or overlapping values are provided the request fails with HTTP status code 400."
+ },
+ "networkSecurityGroupRules": {
+ "type": "array",
+ "title": "A list of network security group rules that will be applied to the endpoint.",
+ "description": "The maximum number of rules that can be specified across all the endpoints on a Batch Pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400.",
+ "items": {
+ "$ref": "#/definitions/NetworkSecurityGroupRule"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "protocol",
+ "backendPort",
+ "frontendPortRangeStart",
+ "frontendPortRangeEnd"
+ ],
+ "title": "A inbound NAT Pool that can be used to address specific ports on Compute Nodes in a Batch Pool externally."
+ },
+ "NetworkSecurityGroupRule": {
+ "type": "object",
+ "properties": {
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The priority for this rule.",
+ "description": "Priorities within a Pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any reserved or duplicate values are provided the request fails with HTTP status code 400."
+ },
+ "access": {
+ "type": "string",
+ "title": "The action that should be taken for a specified IP address, subnet range or tag.",
+ "enum": [
+ "allow",
+ "deny"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkSecurityGroupRuleAccess",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "allow",
+ "description": "Allow access."
+ },
+ {
+ "value": "deny",
+ "description": "Deny access."
+ }
+ ]
+ }
+ },
+ "sourceAddressPrefix": {
+ "type": "string",
+ "title": "The source address prefix or tag to match for the rule.",
+ "description": "Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400."
+ },
+ "sourcePortRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The source port ranges to match for the rule.",
+ "description": "Valid values are '*' (for all ports 0 - 65535), a specific port (i.e. 22), or a port range (i.e. 100-200). The ports must be in the range of 0 to 65535. Each entry in this collection must not overlap any other entry (either a range or an individual port). If any other values are provided the request fails with HTTP status code 400. The default value is '*'."
+ }
+ },
+ "required": [
+ "priority",
+ "access",
+ "sourceAddressPrefix"
+ ],
+ "title": "A network security group rule to apply to an inbound endpoint."
+ },
+ "ComputeNodeEndpointConfiguration": {
+ "type": "object",
+ "properties": {
+ "inboundEndpoints": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundEndpoint"
+ },
+ "title": "The list of inbound endpoints that are accessible on the Compute Node."
+ }
+ },
+ "required": [
+ "inboundEndpoints"
+ ],
+ "title": "The endpoint configuration for the Compute Node."
+ },
+ "InboundEndpoint": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the endpoint."
+ },
+ "protocol": {
+ "$ref": "#/definitions/InboundEndpointProtocol",
+ "title": "The protocol of the endpoint."
+ },
+ "publicIPAddress": {
+ "type": "string",
+ "title": "The public IP address of the Compute Node."
+ },
+ "publicFQDN": {
+ "type": "string",
+ "title": "The public fully qualified domain name for the Compute Node."
+ },
+ "frontendPort": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The public port number of the endpoint."
+ },
+ "backendPort": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The backend port number of the endpoint."
+ }
+ },
+ "required": [
+ "name",
+ "protocol",
+ "publicIPAddress",
+ "publicFQDN",
+ "frontendPort",
+ "backendPort"
+ ],
+ "title": "An inbound endpoint on a Compute Node."
+ },
+ "ComputeNodeListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ComputeNode"
+ },
+ "title": "The list of Compute Nodes."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the Compute Nodes in a Pool."
+ },
+ "ComputeNodeUser": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The user name of the Account."
+ },
+ "isAdmin": {
+ "type": "boolean",
+ "title": "Whether the Account should be an administrator on the Compute Node.",
+ "description": "The default value is false."
+ },
+ "expiryTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Account should expire.",
+ "description": "If omitted, the default is 1 day from the current time. For Linux Compute Nodes, the expiryTime has a precision up to a day."
+ },
+ "password": {
+ "type": "string",
+ "title": "The password of the Account.",
+ "description": "The password is required for Windows Compute Nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows Image reference). For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property."
+ },
+ "sshPublicKey": {
+ "type": "string",
+ "title": "The SSH public key that can be used for remote login to the Compute Node.",
+ "description": "The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux Compute Nodes. If this is specified for a Windows Compute Node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "title": "A user Account for RDP or SSH access on a Compute Node."
+ },
+ "ComputeNodeGetRemoteLoginSettingsResult": {
+ "type": "object",
+ "properties": {
+ "remoteLoginIPAddress": {
+ "type": "string",
+ "title": "The IP address used for remote login to the Compute Node."
+ },
+ "remoteLoginPort": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The port used for remote login to the Compute Node."
+ }
+ },
+ "required": [
+ "remoteLoginIPAddress",
+ "remoteLoginPort"
+ ],
+ "title": "The remote login settings for a Compute Node."
+ },
+ "JobSchedulePatchParameter": {
+ "type": "object",
+ "properties": {
+ "schedule": {
+ "$ref": "#/definitions/Schedule",
+ "title": "The schedule according to which Jobs will be created.",
+ "description": "If you do not specify this element, the existing schedule is left unchanged."
+ },
+ "jobSpecification": {
+ "$ref": "#/definitions/JobSpecification",
+ "title": "The details of the Jobs to be created on this schedule.",
+ "description": "Updates affect only Jobs that are started after the update has taken place. Any currently active Job continues with the older specification."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Job Schedule as metadata.",
+ "description": "If you do not specify this element, existing metadata is left unchanged."
+ }
+ },
+ "title": "The set of changes to be made to a Job Schedule."
+ },
+ "JobScheduleUpdateParameter": {
+ "type": "object",
+ "properties": {
+ "schedule": {
+ "$ref": "#/definitions/Schedule",
+ "title": "The schedule according to which Jobs will be created.",
+ "description": "If you do not specify this element, it is equivalent to passing the default schedule: that is, a single Job scheduled to run immediately."
+ },
+ "jobSpecification": {
+ "$ref": "#/definitions/JobSpecification",
+ "title": "Details of the Jobs to be created on this schedule.",
+ "description": "Updates affect only Jobs that are started after the update has taken place. Any currently active Job continues with the older specification."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Job Schedule as metadata.",
+ "description": "If you do not specify this element, it takes the default value of an empty list; in effect, any existing metadata is deleted."
+ }
+ },
+ "required": [
+ "schedule",
+ "jobSpecification"
+ ],
+ "title": "The set of changes to be made to a Job Schedule."
+ },
+ "JobDisableParameter": {
+ "type": "object",
+ "properties": {
+ "disableTasks": {
+ "type": "string",
+ "title": "What to do with active Tasks associated with the Job.",
+ "enum": [
+ "requeue",
+ "terminate",
+ "wait"
+ ],
+ "x-ms-enum": {
+ "name": "DisableJobOption",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "requeue",
+ "description": "Terminate running Tasks and requeue them. The Tasks will run again when the Job is enabled."
+ },
+ {
+ "value": "terminate",
+ "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again."
+ },
+ {
+ "value": "wait",
+ "description": "Allow currently running Tasks to complete."
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "disableTasks"
+ ],
+ "title": "Options when disabling a Job."
+ },
+ "JobTerminateParameter": {
+ "type": "object",
+ "properties": {
+ "terminateReason": {
+ "type": "string",
+ "title": "The text you want to appear as the Job's TerminateReason. The default is 'UserTerminate'."
+ }
+ },
+ "title": "Options when terminating a Job."
+ },
+ "JobPatchParameter": {
+ "type": "object",
+ "properties": {
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The priority of the Job.",
+ "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, the priority of the Job is left unchanged."
+ },
+ "maxParallelTasks": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The maximum number of tasks that can be executed in parallel for the job.",
+ "description": "The value of maxParallelTasks must be -1 or greater than 0 if specified. If not specified, the default value is -1, which means there's no limit to the number of tasks that can be run at once. You can update a job's maxParallelTasks after it has been created using the update job API."
+ },
+ "onAllTasksComplete": {
+ "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.",
+ "description": "If omitted, the completion behavior is left unchanged. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic Job termination, you cannot turn it off again. If you try to do this, the request fails with an 'invalid property value' error response; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).",
+ "$ref": "#/definitions/OnAllTasksComplete"
+ },
+ "constraints": {
+ "$ref": "#/definitions/JobConstraints",
+ "title": "The execution constraints for the Job.",
+ "description": "If omitted, the existing execution constraints are left unchanged."
+ },
+ "poolInfo": {
+ "$ref": "#/definitions/PoolInformation",
+ "title": "The Pool on which the Batch service runs the Job's Tasks.",
+ "description": "You may change the Pool for a Job only when the Job is disabled. The Patch Job call will fail if you include the poolInfo element and the Job is not disabled. If you specify an autoPoolSpecification in the poolInfo, only the keepAlive property of the autoPoolSpecification can be updated, and then only if the autoPoolSpecification has a poolLifetimeOption of Job (other job properties can be updated as normal). If omitted, the Job continues to run on its current Pool."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Job as metadata.",
+ "description": "If omitted, the existing Job metadata is left unchanged."
+ }
+ },
+ "title": "The set of changes to be made to a Job."
+ },
+ "JobUpdateParameter": {
+ "type": "object",
+ "properties": {
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The priority of the Job.",
+ "description": "Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, it is set to the default value 0."
+ },
+ "constraints": {
+ "$ref": "#/definitions/JobConstraints",
+ "title": "The execution constraints for the Job.",
+ "description": "If omitted, the constraints are cleared."
+ },
+ "poolInfo": {
+ "$ref": "#/definitions/PoolInformation",
+ "title": "The Pool on which the Batch service runs the Job's Tasks.",
+ "description": "You may change the Pool for a Job only when the Job is disabled. The Update Job call will fail if you include the poolInfo element and the Job is not disabled. If you specify an autoPoolSpecification in the poolInfo, only the keepAlive property of the autoPoolSpecification can be updated, and then only if the autoPoolSpecification has a poolLifetimeOption of Job (other job properties can be updated as normal)."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Job as metadata.",
+ "description": "If omitted, it takes the default value of an empty list; in effect, any existing metadata is deleted."
+ },
+ "onAllTasksComplete": {
+ "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.",
+ "description": "If omitted, the completion behavior is set to noaction. If the current value is terminatejob, this is an error because a Job's completion behavior may not be changed from terminatejob to noaction. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic Job termination, you cannot turn it off again. If you try to do this, the request fails and Batch returns status code 400 (Bad Request) and an 'invalid property value' error response. If you do not specify this element in a PUT request, it is equivalent to passing noaction. This is an error if the current value is terminatejob.",
+ "$ref": "#/definitions/OnAllTasksComplete"
+ }
+ },
+ "required": [
+ "poolInfo"
+ ],
+ "title": "The set of changes to be made to a Job."
+ },
+ "PoolEnableAutoScaleParameter": {
+ "type": "object",
+ "properties": {
+ "autoScaleFormula": {
+ "type": "string",
+ "title": "The formula for the desired number of Compute Nodes in the Pool.",
+ "description": "The formula is checked for validity before it is applied to the Pool. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling)."
+ },
+ "autoScaleEvaluationInterval": {
+ "type": "string",
+ "format": "duration",
+ "title": "The time interval at which to automatically adjust the Pool size according to the autoscale formula.",
+ "description": "The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If you specify a new interval, then the existing autoscale evaluation schedule will be stopped and a new autoscale evaluation schedule will be started, with its starting time being the time when this request was issued."
+ }
+ },
+ "title": "Options for enabling automatic scaling on a Pool."
+ },
+ "PoolEvaluateAutoScaleParameter": {
+ "type": "object",
+ "properties": {
+ "autoScaleFormula": {
+ "type": "string",
+ "title": "The formula for the desired number of Compute Nodes in the Pool.",
+ "description": "The formula is validated and its results calculated, but it is not applied to the Pool. To apply the formula to the Pool, 'Enable automatic scaling on a Pool'. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling)."
+ }
+ },
+ "required": [
+ "autoScaleFormula"
+ ],
+ "title": "Options for evaluating an automatic scaling formula on a Pool."
+ },
+ "PoolResizeParameter": {
+ "type": "object",
+ "properties": {
+ "targetDedicatedNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of dedicated Compute Nodes in the Pool."
+ },
+ "targetLowPriorityNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of low-priority Compute Nodes in the Pool."
+ },
+ "resizeTimeout": {
+ "type": "string",
+ "format": "duration",
+ "title": "The timeout for allocation of Nodes to the Pool or removal of Compute Nodes from the Pool.",
+ "description": "The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "nodeDeallocationOption": {
+ "title": "Determines what to do with a Compute Node and its running task(s) if the Pool size is decreasing.",
+ "description": "The default value is requeue.",
+ "$ref": "#/definitions/ComputeNodeDeallocationOption"
+ }
+ },
+ "title": "Options for changing the size of a Pool."
+ },
+ "PoolUpdatePropertiesParameter": {
+ "type": "object",
+ "properties": {
+ "startTask": {
+ "$ref": "#/definitions/StartTask",
+ "title": "A Task to run on each Compute Node as it joins the Pool. The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted.",
+ "description": "If this element is present, it overwrites any existing StartTask. If omitted, any existing StartTask is removed from the Pool."
+ },
+ "certificateReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateReference"
+ },
+ "title": "A list of Certificates to be installed on each Compute Node in the Pool.",
+ "description": "This list replaces any existing Certificate references configured on the Pool. If you specify an empty collection, any existing Certificate references are removed from the Pool. For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory."
+ },
+ "applicationPackageReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "The list of Application Packages to be installed on each Compute Node in the Pool.",
+ "description": "The list replaces any existing Application Package references on the Pool. Changes to Application Package references affect all new Compute Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Application Package references on any given Pool. If omitted, or if you specify an empty collection, any existing Application Packages references are removed from the Pool. A maximum of 10 references may be specified on a given Pool."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Pool as metadata.",
+ "description": "This list replaces any existing metadata configured on the Pool. If omitted, or if you specify an empty collection, any existing metadata is removed from the Pool."
+ }
+ },
+ "required": [
+ "certificateReferences",
+ "metadata",
+ "applicationPackageReferences"
+ ],
+ "title": "The set of changes to be made to a Pool."
+ },
+ "PoolPatchParameter": {
+ "type": "object",
+ "properties": {
+ "startTask": {
+ "$ref": "#/definitions/StartTask",
+ "title": "A Task to run on each Compute Node as it joins the Pool. The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted.",
+ "description": "If this element is present, it overwrites any existing StartTask. If omitted, any existing StartTask is left unchanged."
+ },
+ "certificateReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateReference"
+ },
+ "title": "A list of Certificates to be installed on each Compute Node in the Pool.",
+ "description": "If this element is present, it replaces any existing Certificate references configured on the Pool. If omitted, any existing Certificate references are left unchanged. For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory."
+ },
+ "applicationPackageReferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "A list of Packages to be installed on each Compute Node in the Pool.",
+ "description": "Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. If this element is present, it replaces any existing Package references. If you specify an empty collection, then all Package references are removed from the Pool. If omitted, any existing Package references are left unchanged."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the Pool as metadata.",
+ "description": "If this element is present, it replaces any existing metadata configured on the Pool. If you specify an empty collection, any metadata is removed from the Pool. If omitted, any existing metadata is left unchanged."
+ }
+ },
+ "title": "The set of changes to be made to a Pool."
+ },
+ "TaskUpdateParameter": {
+ "type": "object",
+ "properties": {
+ "constraints": {
+ "$ref": "#/definitions/TaskConstraints",
+ "title": "Constraints that apply to this Task.",
+ "description": "If omitted, the Task is given the default constraints. For multi-instance Tasks, updating the retention time applies only to the primary Task and not subtasks."
+ }
+ },
+ "title": "The set of changes to be made to a Task."
+ },
+ "NodeUpdateUserParameter": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string",
+ "title": "The password of the Account.",
+ "description": "The password is required for Windows Compute Nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows Image reference). For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed."
+ },
+ "expiryTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the Account should expire.",
+ "description": "If omitted, the default is 1 day from the current time. For Linux Compute Nodes, the expiryTime has a precision up to a day."
+ },
+ "sshPublicKey": {
+ "type": "string",
+ "title": "The SSH public key that can be used for remote login to the Compute Node.",
+ "description": "The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux Compute Nodes. If this is specified for a Windows Compute Node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If omitted, any existing SSH public key is removed."
+ }
+ },
+ "title": "The set of changes to be made to a user Account on a Compute Node."
+ },
+ "NodeRebootParameter": {
+ "type": "object",
+ "properties": {
+ "nodeRebootOption": {
+ "type": "string",
+ "title": "When to reboot the Compute Node and what to do with currently running Tasks.",
+ "description": "The default value is requeue.",
+ "enum": [
+ "requeue",
+ "terminate",
+ "taskcompletion",
+ "retaineddata"
+ ],
+ "x-ms-enum": {
+ "name": "ComputeNodeRebootOption",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "requeue",
+ "description": "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Restart the Compute Node as soon as Tasks have been terminated."
+ },
+ {
+ "value": "terminate",
+ "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Restart the Compute Node as soon as Tasks have been terminated."
+ },
+ {
+ "value": "taskcompletion",
+ "description": "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Restart the Compute Node when all Tasks have completed.",
+ "name": "taskCompletion"
+ },
+ {
+ "value": "retaineddata",
+ "description": "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Restart the Compute Node when all Task retention periods have expired.",
+ "name": "retainedData"
+ }
+ ]
+ }
+ }
+ },
+ "title": "Options for rebooting a Compute Node."
+ },
+ "NodeReimageParameter": {
+ "type": "object",
+ "properties": {
+ "nodeReimageOption": {
+ "type": "string",
+ "title": "When to reimage the Compute Node and what to do with currently running Tasks.",
+ "description": "The default value is requeue.",
+ "enum": [
+ "requeue",
+ "terminate",
+ "taskcompletion",
+ "retaineddata"
+ ],
+ "x-ms-enum": {
+ "name": "ComputeNodeReimageOption",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "requeue",
+ "description": "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Reimage the Compute Node as soon as Tasks have been terminated."
+ },
+ {
+ "value": "terminate",
+ "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Reimage the Compute Node as soon as Tasks have been terminated."
+ },
+ {
+ "value": "taskcompletion",
+ "description": "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Reimage the Compute Node when all Tasks have completed.",
+ "name": "taskCompletion"
+ },
+ {
+ "value": "retaineddata",
+ "description": "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Reimage the Compute Node when all Task retention periods have expired.",
+ "name": "retainedData"
+ }
+ ]
+ }
+ }
+ },
+ "title": "Options for reimaging a Compute Node."
+ },
+ "NodeDisableSchedulingParameter": {
+ "type": "object",
+ "properties": {
+ "nodeDisableSchedulingOption": {
+ "type": "string",
+ "title": "What to do with currently running Tasks when disabling Task scheduling on the Compute Node.",
+ "description": "The default value is requeue.",
+ "enum": [
+ "requeue",
+ "terminate",
+ "taskcompletion"
+ ],
+ "x-ms-enum": {
+ "name": "DisableComputeNodeSchedulingOption",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "requeue",
+ "description": "Terminate running Task processes and requeue the Tasks. The Tasks may run again on other Compute Nodes, or when Task scheduling is re-enabled on this Compute Node. Enter offline state as soon as Tasks have been terminated."
+ },
+ {
+ "value": "terminate",
+ "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Enter offline state as soon as Tasks have been terminated."
+ },
+ {
+ "value": "taskcompletion",
+ "description": "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Enter offline state when all Tasks have completed.",
+ "name": "taskCompletion"
+ }
+ ]
+ }
+ }
+ },
+ "title": "Options for disabling scheduling on a Compute Node."
+ },
+ "NodeRemoveParameter": {
+ "type": "object",
+ "properties": {
+ "nodeList": {
+ "type": "array",
+ "maxItems": 100,
+ "items": {
+ "type": "string"
+ },
+ "title": "A list containing the IDs of the Compute Nodes to be removed from the specified Pool.",
+ "description": "A maximum of 100 nodes may be removed per request."
+ },
+ "resizeTimeout": {
+ "type": "string",
+ "format": "duration",
+ "title": "The timeout for removal of Compute Nodes to the Pool.",
+ "description": "The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "nodeDeallocationOption": {
+ "title": "Determines what to do with a Compute Node and its running task(s) after it has been selected for deallocation.",
+ "description": "The default value is requeue.",
+ "$ref": "#/definitions/ComputeNodeDeallocationOption"
+ }
+ },
+ "required": [
+ "nodeList"
+ ],
+ "title": "Options for removing Compute Nodes from a Pool."
+ },
+ "OutputFile": {
+ "type": "object",
+ "properties": {
+ "filePattern": {
+ "type": "string",
+ "title": "A pattern indicating which file(s) to upload.",
+ "description": "Both relative and absolute paths are supported. Relative paths are relative to the Task working directory. The following wildcards are supported: * matches 0 or more characters (for example pattern abc* would match abc or abcdef), ** matches any directory, ? matches any single character, [abc] matches one character in the brackets, and [a-c] matches one character in the range. Brackets can include a negation to match any character not specified (for example [!abc] matches any character but a, b, or c). If a file name starts with \".\" it is ignored by default but may be matched by specifying it explicitly (for example *.gif will not match .a.gif, but .*.gif will). A simple example: **\\*.txt matches any file that does not start in '.' and ends with .txt in the Task working directory or any subdirectory. If the filename contains a wildcard character it can be escaped using brackets (for example abc[*] would match a file named abc*). Note that both \\ and / are treated as directory separators on Windows, but only / is on Linux. Environment variables (%var% on Windows or $var on Linux) are expanded prior to the pattern being applied."
+ },
+ "destination": {
+ "title": "The destination for the output file(s).",
+ "$ref": "#/definitions/OutputFileDestination"
+ },
+ "uploadOptions": {
+ "title": "Additional options for the upload operation, including under what conditions to perform the upload.",
+ "$ref": "#/definitions/OutputFileUploadOptions"
+ }
+ },
+ "required": [
+ "filePattern",
+ "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.",
+ "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": {
+ "type": "object",
+ "properties": {
+ "container": {
+ "title": "A location in Azure blob storage to which files are uploaded.",
+ "$ref": "#/definitions/OutputFileBlobContainerDestination"
+ }
+ },
+ "title": "The destination to which a file should be uploaded."
+ },
+ "OutputFileBlobContainerDestination": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "title": "The destination blob or virtual directory within the Azure Storage container.",
+ "description": "If filePattern refers to a specific file (i.e. contains no wildcards), then path is the name of the blob to which to upload that file. If filePattern contains one or more wildcards (and therefore may match multiple files), then path is the name of the blob virtual directory (which is prepended to each blob name) to which to upload the file(s). If omitted, file(s) are uploaded to the root of the container with a blob name matching their file name."
+ },
+ "containerUrl": {
+ "type": "string",
+ "title": "The URL of the container within Azure Blob Storage to which to upload the file(s).",
+ "description": "If not using a managed identity, the URL must include a Shared Access Signature (SAS) granting write permissions to the container."
+ },
+ "identityReference": {
+ "title": "The reference to the user assigned identity to use to access Azure Blob Storage specified by containerUrl",
+ "description": "The identity must have write access to the Azure Blob Storage container",
+ "$ref": "#/definitions/ComputeNodeIdentityReference"
+ }
+ },
+ "required": [
+ "containerUrl"
+ ],
+ "title": "Specifies a file upload destination within an Azure blob storage container."
+ },
+ "OutputFileUploadOptions": {
+ "type": "object",
+ "properties": {
+ "uploadCondition": {
+ "title": "The conditions under which the Task output file or set of files should be uploaded.",
+ "description": "The default is taskcompletion.",
+ "$ref": "#/definitions/OutputFileUploadCondition"
+ }
+ },
+ "required": [
+ "uploadCondition"
+ ],
+ "title": "Details about an output file upload operation, including under what conditions to perform the upload."
+ },
+ "ErrorMessage": {
+ "type": "object",
+ "properties": {
+ "lang": {
+ "type": "string",
+ "title": "The language code of the error message"
+ },
+ "value": {
+ "type": "string",
+ "title": "The text of the message."
+ }
+ },
+ "title": "An error message received in an Azure Batch error response."
+ },
+ "BatchErrorDetail": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "title": "An identifier specifying the meaning of the Value property."
+ },
+ "value": {
+ "type": "string",
+ "title": "The additional information included with the error response."
+ }
+ },
+ "title": "An item of additional information included in an Azure Batch error response."
+ },
+ "BatchError": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "title": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "$ref": "#/definitions/ErrorMessage",
+ "title": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BatchErrorDetail"
+ },
+ "title": "A collection of key-value pairs containing additional details about the error."
+ }
+ },
+ "title": "An error response received from the Azure Batch service."
+ },
+ "CertificateState": {
+ "type": "string",
+ "title": "The state of the Certificate.",
+ "enum": [
+ "active",
+ "deleting",
+ "deletefailed"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "active",
+ "description": "The Certificate is available for use in Pools."
+ },
+ {
+ "value": "deleting",
+ "description": "The user has requested that the Certificate be deleted, but the delete operation has not yet completed. You may not reference the Certificate when creating or updating Pools."
+ },
+ {
+ "value": "deletefailed",
+ "description": "The user requested that the Certificate be deleted, but there are Pools that still have references to the Certificate, or it is still installed on one or more Nodes. (The latter can occur if the Certificate has been removed from the Pool, but the Compute Node has not yet restarted. Compute Nodes refresh their Certificates only when they restart.) You may use the cancel Certificate delete operation to cancel the delete, or the delete Certificate operation to retry the delete.",
+ "name": "deleteFailed"
+ }
+ ]
+ }
+ },
+ "ElevationLevel": {
+ "type": "string",
+ "title": "The elevation level of the user.",
+ "enum": [
+ "nonadmin",
+ "admin"
+ ],
+ "x-ms-enum": {
+ "name": "ElevationLevel",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "nonadmin",
+ "description": "The user is a standard user without elevated access.",
+ "name": "nonAdmin"
+ },
+ {
+ "value": "admin",
+ "description": "The user is a user with elevated access and operates with full Administrator permissions."
+ }
+ ]
+ }
+ },
+ "JobScheduleState": {
+ "type": "string",
+ "title": "The state of the Job Schedule.",
+ "enum": [
+ "active",
+ "completed",
+ "disabled",
+ "terminating",
+ "deleting"
+ ],
+ "x-ms-enum": {
+ "name": "JobScheduleState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "active",
+ "description": "The Job Schedule is active and will create Jobs as per its schedule."
+ },
+ {
+ "value": "completed",
+ "description": "The Job Schedule has terminated, either by reaching its end time or by the user terminating it explicitly."
+ },
+ {
+ "value": "disabled",
+ "description": "The user has disabled the Job Schedule. The scheduler will not initiate any new Jobs will on this schedule, but any existing active Job will continue to run."
+ },
+ {
+ "value": "terminating",
+ "description": "The Job Schedule has no more work to do, or has been explicitly terminated by the user, but the termination operation is still in progress. The scheduler will not initiate any new Jobs for this Job Schedule, nor is any existing Job active."
+ },
+ {
+ "value": "deleting",
+ "description": "The user has requested that the Job Schedule be deleted, but the delete operation is still in progress. The scheduler will not initiate any new Jobs for this Job Schedule, and will delete any existing Jobs and Tasks under the Job Schedule, including any active Job. The Job Schedule will be deleted when all Jobs and Tasks under the Job Schedule have been deleted."
+ }
+ ]
+ }
+ },
+ "JobState": {
+ "type": "string",
+ "title": "The state of the Job.",
+ "enum": [
+ "active",
+ "disabling",
+ "disabled",
+ "enabling",
+ "terminating",
+ "completed",
+ "deleting"
+ ],
+ "x-ms-enum": {
+ "name": "JobState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "active",
+ "description": "The Job is available to have Tasks scheduled."
+ },
+ {
+ "value": "disabling",
+ "description": "A user has requested that the Job be disabled, but the disable operation is still in progress (for example, waiting for Tasks to terminate)."
+ },
+ {
+ "value": "disabled",
+ "description": "A user has disabled the Job. No Tasks are running, and no new Tasks will be scheduled."
+ },
+ {
+ "value": "enabling",
+ "description": "A user has requested that the Job be enabled, but the enable operation is still in progress."
+ },
+ {
+ "value": "terminating",
+ "description": "The Job is about to complete, either because a Job Manager Task has completed or because the user has terminated the Job, but the terminate operation is still in progress (for example, because Job Release Tasks are running)."
+ },
+ {
+ "value": "completed",
+ "description": "All Tasks have terminated, and the system will not accept any more Tasks or any further changes to the Job."
+ },
+ {
+ "value": "deleting",
+ "description": "A user has requested that the Job be deleted, but the delete operation is still in progress (for example, because the system is still terminating running Tasks)."
+ }
+ ]
+ }
+ },
+ "OnAllTasksComplete": {
+ "type": "string",
+ "title": "The action the Batch service should take when all Tasks in the Job are in the completed state.",
+ "enum": [
+ "noaction",
+ "terminatejob"
+ ],
+ "x-ms-enum": {
+ "name": "OnAllTasksComplete",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "noaction",
+ "description": "Do nothing. The Job remains active unless terminated or disabled by some other means.",
+ "name": "noAction"
+ },
+ {
+ "value": "terminatejob",
+ "description": "Terminate the Job. The Job's terminateReason is set to 'AllTasksComplete'.",
+ "name": "terminateJob"
+ }
+ ]
+ }
+ },
+ "OnTaskFailure": {
+ "type": "string",
+ "title": "The action the Batch service should take when any Task in the Job fails.",
+ "description": "A Task is considered to have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction.",
+ "enum": [
+ "noaction",
+ "performexitoptionsjobaction"
+ ],
+ "x-ms-enum": {
+ "name": "OnTaskFailure",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "noaction",
+ "description": "Do nothing. The Job remains active unless terminated or disabled by some other means.",
+ "name": "noAction"
+ },
+ {
+ "value": "performexitoptionsjobaction",
+ "description": "Take the action associated with the Task exit condition in the Task's exitConditions collection. (This may still result in no action being taken, if that is what the Task specifies.)",
+ "name": "performExitOptionsJobAction"
+ }
+ ]
+ }
+ },
+ "ErrorCategory": {
+ "type": "string",
+ "title": "The category of the error.",
+ "enum": [
+ "usererror",
+ "servererror"
+ ],
+ "x-ms-enum": {
+ "name": "ErrorCategory",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "usererror",
+ "description": "The error is due to a user issue, such as misconfiguration.",
+ "name": "userError"
+ },
+ {
+ "value": "servererror",
+ "description": "The error is due to an internal server issue.",
+ "name": "serverError"
+ }
+ ]
+ }
+ },
+ "TaskState": {
+ "type": "string",
+ "title": "The state of the Task.",
+ "enum": [
+ "active",
+ "preparing",
+ "running",
+ "completed"
+ ],
+ "x-ms-enum": {
+ "name": "TaskState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "active",
+ "description": "The Task is queued and able to run, but is not currently assigned to a Compute Node. A Task enters this state when it is created, when it is enabled after being disabled, or when it is awaiting a retry after a failed run."
+ },
+ {
+ "value": "preparing",
+ "description": "The Task has been assigned to a Compute Node, but is waiting for a required Job Preparation Task to complete on the Compute Node. If the Job Preparation Task succeeds, the Task will move to running. If the Job Preparation Task fails, the Task will return to active and will be eligible to be assigned to a different Compute Node."
+ },
+ {
+ "value": "running",
+ "description": "The Task is running on a Compute Node. This includes task-level preparation such as downloading resource files or deploying Packages specified on the Task - it does not necessarily mean that the Task command line has started executing."
+ },
+ {
+ "value": "completed",
+ "description": "The Task is no longer eligible to run, usually because the Task has finished successfully, or the Task has finished unsuccessfully and has exhausted its retry limit. A Task is also marked as completed if an error occurred launching the Task, or when the Task has been terminated."
+ }
+ ]
+ }
+ },
+ "SubtaskState": {
+ "type": "string",
+ "title": "The state of the subtask.",
+ "enum": [
+ "preparing",
+ "running",
+ "completed"
+ ],
+ "x-ms-enum": {
+ "name": "SubtaskState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "preparing",
+ "description": "The Task has been assigned to a Compute Node, but is waiting for a required Job Preparation Task to complete on the Compute Node. If the Job Preparation Task succeeds, the Task will move to running. If the Job Preparation Task fails, the Task will return to active and will be eligible to be assigned to a different Compute Node."
+ },
+ {
+ "value": "running",
+ "description": "The Task is running on a Compute Node. This includes task-level preparation such as downloading resource files or deploying Packages specified on the Task - it does not necessarily mean that the Task command line has started executing."
+ },
+ {
+ "value": "completed",
+ "description": "The Task is no longer eligible to run, usually because the Task has finished successfully, or the Task has finished unsuccessfully and has exhausted its retry limit. A Task is also marked as completed if an error occurred launching the Task, or when the Task has been terminated."
+ }
+ ]
+ }
+ },
+ "ComputeNodeDeallocationOption": {
+ "type": "string",
+ "title": "Determines what to do with a Compute Node and its running task(s) after it has been selected for deallocation.",
+ "description": "The default value is requeue.",
+ "enum": [
+ "requeue",
+ "terminate",
+ "taskcompletion",
+ "retaineddata"
+ ],
+ "x-ms-enum": {
+ "name": "ComputeNodeDeallocationOption",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "requeue",
+ "description": "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Remove Compute Nodes as soon as Tasks have been terminated."
+ },
+ {
+ "value": "terminate",
+ "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Remove Compute Nodes as soon as Tasks have been terminated."
+ },
+ {
+ "value": "taskcompletion",
+ "description": "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Remove Compute Nodes when all Tasks have completed.",
+ "name": "taskCompletion"
+ },
+ {
+ "value": "retaineddata",
+ "description": "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Remove Compute Nodes when all Task retention periods have expired.",
+ "name": "retainedData"
+ }
+ ]
+ }
+ },
+ "OutputFileUploadCondition": {
+ "type": "string",
+ "title": "The conditions under which a Task output file or set of files should be uploaded.",
+ "enum": [
+ "tasksuccess",
+ "taskfailure",
+ "taskcompletion"
+ ],
+ "x-ms-enum": {
+ "name": "OutputFileUploadCondition",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "tasksuccess",
+ "description": "Upload the file(s) only after the Task process exits with an exit code of 0.",
+ "name": "taskSuccess"
+ },
+ {
+ "value": "taskfailure",
+ "description": "Upload the file(s) only after the Task process exits with a nonzero exit code.",
+ "name": "taskFailure"
+ },
+ {
+ "value": "taskcompletion",
+ "description": "Upload the file(s) after the Task process exits, no matter what the exit code was.",
+ "name": "taskCompletion"
+ }
+ ]
+ }
+ },
+ "TaskExecutionResult": {
+ "type": "string",
+ "title": "The result of Task execution.",
+ "enum": [
+ "success",
+ "failure"
+ ],
+ "x-ms-enum": {
+ "name": "TaskExecutionResult",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "success",
+ "description": "The Task ran successfully.",
+ "name": "success"
+ },
+ {
+ "value": "failure",
+ "description": "There was an error during processing of the Task. The failure may have occurred before the Task process was launched, while the Task process was executing, or after the Task process exited.",
+ "name": "failure"
+ }
+ ]
+ }
+ },
+ "InboundEndpointProtocol": {
+ "type": "string",
+ "title": "The protocol of the endpoint.",
+ "enum": [
+ "tcp",
+ "udp"
+ ],
+ "x-ms-enum": {
+ "name": "InboundEndpointProtocol",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "tcp",
+ "description": "Use TCP for the endpoint.",
+ "name": "tcp"
+ },
+ {
+ "value": "udp",
+ "description": "Use UDP for the endpoint.",
+ "name": "udp"
+ }
+ ]
+ }
+ },
+ "UploadBatchServiceLogsConfiguration": {
+ "type": "object",
+ "properties": {
+ "containerUrl": {
+ "type": "string",
+ "title": "The URL of the container within Azure Blob Storage to which to upload the Batch Service log file(s).",
+ "description": "If a user assigned managed identity is not being used, the URL must include a Shared Access Signature (SAS) granting write permissions to the container. The SAS duration must allow enough time for the upload to finish. The start time for SAS is optional and recommended to not be specified."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The start of the time range from which to upload Batch Service log file(s).",
+ "description": "Any log file containing a log message in the time range will be uploaded. This means that the operation might retrieve more logs than have been requested since the entire log file is always uploaded, but the operation should not retrieve fewer logs than have been requested."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The end of the time range from which to upload Batch Service log file(s).",
+ "description": "Any log file containing a log message in the time range will be uploaded. This means that the operation might retrieve more logs than have been requested since the entire log file is always uploaded, but the operation should not retrieve fewer logs than have been requested. If omitted, the default is to upload all logs available after the startTime."
+ },
+ "identityReference": {
+ "title": "The reference to the user assigned identity to use to access Azure Blob Storage specified by containerUrl.",
+ "description": "The identity must have write access to the Azure Blob Storage container.",
+ "$ref": "#/definitions/ComputeNodeIdentityReference"
+ }
+ },
+ "required": [
+ "containerUrl",
+ "startTime"
+ ],
+ "title": "The Azure Batch service log files upload configuration for a Compute Node."
+ },
+ "UploadBatchServiceLogsResult": {
+ "type": "object",
+ "properties": {
+ "virtualDirectoryName": {
+ "type": "string",
+ "title": "The virtual directory within Azure Blob Storage container to which the Batch Service log file(s) will be uploaded.",
+ "description": "The virtual directory name is part of the blob name for each log file uploaded, and it is built based poolId, nodeId and a unique identifier."
+ },
+ "numberOfFilesUploaded": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of log files which will be uploaded."
+ }
+ },
+ "required": [
+ "virtualDirectoryName",
+ "numberOfFilesUploaded"
+ ],
+ "title": "The result of uploading Batch service log files from a specific Compute Node."
+ },
+ "PoolNodeCountsListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PoolNodeCounts"
+ },
+ "description": "A list of Compute Node counts by Pool."
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of results."
+ }
+ },
+ "title": "The result of listing the Compute Node counts in the Account."
+ },
+ "PoolNodeCounts": {
+ "type": "object",
+ "properties": {
+ "poolId": {
+ "type": "string",
+ "title": "The ID of the Pool."
+ },
+ "dedicated": {
+ "$ref": "#/definitions/NodeCounts",
+ "title": "The number of dedicated Compute Nodes in each state."
+ },
+ "lowPriority": {
+ "$ref": "#/definitions/NodeCounts",
+ "title": "The number of low-priority Compute Nodes in each state."
+ }
+ },
+ "required": [
+ "poolId"
+ ],
+ "title": "The number of Compute Nodes in each state for a Pool."
+ },
+ "NodeCounts": {
+ "type": "object",
+ "properties": {
+ "creating": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the creating state."
+ },
+ "idle": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the idle state."
+ },
+ "offline": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the offline state."
+ },
+ "preempted": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the preempted state."
+ },
+ "rebooting": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The count of Compute Nodes in the rebooting state."
+ },
+ "reimaging": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the reimaging state."
+ },
+ "running": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the running state."
+ },
+ "starting": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the starting state."
+ },
+ "startTaskFailed": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the startTaskFailed state."
+ },
+ "leavingPool": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the leavingPool state."
+ },
+ "unknown": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the unknown state."
+ },
+ "unusable": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the unusable state."
+ },
+ "waitingForStartTask": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of Compute Nodes in the waitingForStartTask state."
+ },
+ "total": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The total number of Compute Nodes."
+ }
+ },
+ "required": [
+ "creating",
+ "idle",
+ "offline",
+ "preempted",
+ "rebooting",
+ "reimaging",
+ "running",
+ "starting",
+ "startTaskFailed",
+ "leavingPool",
+ "unknown",
+ "unusable",
+ "waitingForStartTask",
+ "total"
+ ],
+ "title": "The number of Compute Nodes in each Compute Node state."
+ },
+ "MountConfiguration": {
+ "type": "object",
+ "properties": {
+ "azureBlobFileSystemConfiguration": {
+ "$ref": "#/definitions/AzureBlobFileSystemConfiguration",
+ "title": "The Azure Storage Container to mount using blob FUSE on each node.",
+ "description": "This property is mutually exclusive with all other properties."
+ },
+ "nfsMountConfiguration": {
+ "$ref": "#/definitions/NFSMountConfiguration",
+ "title": "The NFS file system to mount on each node.",
+ "description": "This property is mutually exclusive with all other properties."
+ },
+ "cifsMountConfiguration": {
+ "$ref": "#/definitions/CIFSMountConfiguration",
+ "title": "The CIFS/SMB file system to mount on each node.",
+ "description": "This property is mutually exclusive with all other properties."
+ },
+ "azureFileShareConfiguration": {
+ "$ref": "#/definitions/AzureFileShareConfiguration",
+ "title": "The Azure File Share to mount on each node.",
+ "description": "This property is mutually exclusive with all other properties."
+ }
+ },
+ "title": "The file system to mount on each node."
+ },
+ "AzureBlobFileSystemConfiguration": {
+ "type": "object",
+ "properties": {
+ "accountName": {
+ "type": "string",
+ "title": "The Azure Storage Account name."
+ },
+ "containerName": {
+ "type": "string",
+ "title": "The Azure Blob Storage Container name."
+ },
+ "accountKey": {
+ "type": "string",
+ "title": "The Azure Storage Account key.",
+ "description": "This property is mutually exclusive with both sasKey and identity; exactly one must be specified."
+ },
+ "sasKey": {
+ "type": "string",
+ "title": "The Azure Storage SAS token.",
+ "description": "This property is mutually exclusive with both accountKey and identity; exactly one must be specified."
+ },
+ "blobfuseOptions": {
+ "type": "string",
+ "title": "Additional command line options to pass to the mount command.",
+ "description": "These are 'net use' options in Windows and 'mount' options in Linux."
+ },
+ "relativeMountPath": {
+ "type": "string",
+ "title": "The relative path on the compute node where the file system will be mounted",
+ "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable."
+ },
+ "identityReference": {
+ "title": "The reference to the user assigned identity to use to access containerName",
+ "description": "This property is mutually exclusive with both accountKey and sasKey; exactly one must be specified.",
+ "$ref": "#/definitions/ComputeNodeIdentityReference"
+ }
+ },
+ "required": [
+ "accountName",
+ "containerName",
+ "relativeMountPath"
+ ],
+ "title": "Information used to connect to an Azure Storage Container using Blobfuse."
+ },
+ "NFSMountConfiguration": {
+ "type": "object",
+ "properties": {
+ "source": {
+ "type": "string",
+ "title": "The URI of the file system to mount."
+ },
+ "relativeMountPath": {
+ "type": "string",
+ "title": "The relative path on the compute node where the file system will be mounted",
+ "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable."
+ },
+ "mountOptions": {
+ "type": "string",
+ "title": "Additional command line options to pass to the mount command.",
+ "description": "These are 'net use' options in Windows and 'mount' options in Linux."
+ }
+ },
+ "required": [
+ "source",
+ "relativeMountPath"
+ ],
+ "title": "Information used to connect to an NFS file system."
+ },
+ "CIFSMountConfiguration": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string",
+ "title": "The user to use for authentication against the CIFS file system."
+ },
+ "source": {
+ "type": "string",
+ "title": "The URI of the file system to mount."
+ },
+ "relativeMountPath": {
+ "type": "string",
+ "title": "The relative path on the compute node where the file system will be mounted",
+ "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable."
+ },
+ "mountOptions": {
+ "type": "string",
+ "title": "Additional command line options to pass to the mount command.",
+ "description": "These are 'net use' options in Windows and 'mount' options in Linux."
+ },
+ "password": {
+ "type": "string",
+ "title": "The password to use for authentication against the CIFS file system."
+ }
+ },
+ "required": [
+ "username",
+ "source",
+ "password",
+ "relativeMountPath"
+ ],
+ "title": "Information used to connect to a CIFS file system."
+ },
+ "AzureFileShareConfiguration": {
+ "type": "object",
+ "properties": {
+ "accountName": {
+ "type": "string",
+ "title": "The Azure Storage account name."
+ },
+ "azureFileUrl": {
+ "type": "string",
+ "title": "The Azure Files URL.",
+ "description": "This is of the form 'https://{account}.file.core.windows.net/'."
+ },
+ "accountKey": {
+ "type": "string",
+ "title": "The Azure Storage account key."
+ },
+ "relativeMountPath": {
+ "type": "string",
+ "title": "The relative path on the compute node where the file system will be mounted",
+ "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable."
+ },
+ "mountOptions": {
+ "type": "string",
+ "title": "Additional command line options to pass to the mount command.",
+ "description": "These are 'net use' options in Windows and 'mount' options in Linux."
+ }
+ },
+ "required": [
+ "accountName",
+ "azureFileUrl",
+ "accountKey",
+ "relativeMountPath"
+ ],
+ "title": "Information used to connect to an Azure Fileshare."
+ },
+ "BatchPoolIdentity": {
+ "type": "object",
+ "title": "The identity of the Batch pool, if configured.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "title": "The identity of the Batch pool, if configured.",
+ "description": "The list of user identities associated with the Batch pool. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.",
+ "enum": [
+ "UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "PoolIdentityType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "UserAssigned",
+ "description": "Batch pool has user assigned identities with it."
+ },
+ {
+ "value": "None",
+ "description": "Batch pool has no identity associated with it. Setting `None` in update pool will remove existing identities."
+ }
+ ]
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "array",
+ "title": "The list of user identities associated with the Batch account.",
+ "description": "The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.",
+ "items": {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ }
+ },
+ "description": "The identity of the Batch pool, if configured.",
+ "required": [
+ "type"
+ ]
+ },
+ "UserAssignedIdentity": {
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The ARM resource id of the user assigned identity"
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of the user assigned identity."
+ },
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the user assigned identity."
+ }
+ },
+ "description": "The user assigned Identity",
+ "required": [
+ "resourceId"
+ ]
+ },
+ "ComputeNodeIdentityReference": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The ARM resource id of the user assigned identity."
+ }
+ },
+ "description": "The reference to a user assigned identity associated with the Batch pool which a compute node will use."
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API Version."
+ },
+ "batchUrl": {
+ "name": "batchUrl",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true,
+ "description": "The base URL for all Azure Batch service requests."
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/AccountListPoolNodeCounts.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/AccountListPoolNodeCounts.json
new file mode 100644
index 000000000000..01ae3e9eed47
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/AccountListPoolNodeCounts.json
@@ -0,0 +1,121 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "poolId": "pool1",
+ "dedicated": {
+ "creating": 0,
+ "idle": 0,
+ "leavingPool": 0,
+ "offline": 0,
+ "preempted": 0,
+ "rebooting": 0,
+ "reimaging": 0,
+ "running": 0,
+ "starting": 0,
+ "startTaskFailed": 0,
+ "unknown": 0,
+ "unusable": 0,
+ "waitingForStartTask": 0,
+ "total": 0
+ },
+ "lowPriority": {
+ "creating": 0,
+ "idle": 0,
+ "leavingPool": 0,
+ "offline": 0,
+ "preempted": 0,
+ "rebooting": 0,
+ "reimaging": 0,
+ "running": 2,
+ "starting": 1,
+ "startTaskFailed": 0,
+ "unknown": 0,
+ "unusable": 0,
+ "waitingForStartTask": 0,
+ "total": 3
+ }
+ },
+ {
+ "poolId": "pool2",
+ "dedicated": {
+ "creating": 0,
+ "idle": 1,
+ "leavingPool": 0,
+ "offline": 3,
+ "preempted": 0,
+ "rebooting": 0,
+ "reimaging": 0,
+ "running": 0,
+ "starting": 0,
+ "startTaskFailed": 0,
+ "unknown": 0,
+ "unusable": 0,
+ "waitingForStartTask": 0,
+ "total": 4
+ },
+ "lowPriority": {
+ "creating": 0,
+ "idle": 0,
+ "leavingPool": 0,
+ "offline": 0,
+ "preempted": 0,
+ "rebooting": 0,
+ "reimaging": 0,
+ "running": 0,
+ "starting": 0,
+ "startTaskFailed": 0,
+ "unknown": 0,
+ "unusable": 0,
+ "waitingForStartTask": 0,
+ "total": 0
+ }
+ },
+ {
+ "poolId": "pool3",
+ "dedicated": {
+ "creating": 0,
+ "idle": 5,
+ "leavingPool": 0,
+ "offline": 0,
+ "preempted": 0,
+ "rebooting": 0,
+ "reimaging": 4,
+ "running": 0,
+ "starting": 0,
+ "startTaskFailed": 0,
+ "unknown": 0,
+ "unusable": 0,
+ "waitingForStartTask": 0,
+ "total": 9
+ },
+ "lowPriority": {
+ "creating": 7,
+ "idle": 0,
+ "leavingPool": 0,
+ "offline": 0,
+ "preempted": 0,
+ "rebooting": 0,
+ "reimaging": 0,
+ "running": 4,
+ "starting": 0,
+ "startTaskFailed": 0,
+ "unknown": 0,
+ "unusable": 0,
+ "waitingForStartTask": 0,
+ "total": 11
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/AccountListSupportedImages.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/AccountListSupportedImages.json
new file mode 100644
index 000000000000..4e6f5d2a4534
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/AccountListSupportedImages.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "nodeAgentSKUId": "batch.node.centos 7",
+ "imageReference": {
+ "publisher": "OpenLogic",
+ "offer": "CentOS",
+ "sku": "7.2",
+ "version": "latest"
+ },
+ "verificationType": "verified",
+ "capabilities": [
+ "DockerCompatible",
+ "NvidiaTeslaDriverInstalled"
+ ],
+ "osType": "linux"
+ },
+ {
+ "nodeAgentSKUId": "batch.node.centos 7",
+ "imageReference": {
+ "publisher": "OpenLogic",
+ "offer": "CentOS",
+ "sku": "7.1",
+ "version": "latest"
+ },
+ "verificationType": "unverified",
+ "osType": "linux",
+ "batchSupportEndOfLife": "2019-11-01T00:00:00.0Z"
+ },
+ {
+ "nodeAgentSKUId": "batch.node.debian 8",
+ "imageReference": {
+ "publisher": "Credativ",
+ "offer": "Debian",
+ "sku": "8",
+ "version": "latest"
+ },
+ "verificationType": "verified",
+ "osType": "linux"
+ },
+ {
+ "nodeAgentSKUId": "batch.node.windows amd64",
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2012-R2-Datacenter",
+ "version": "latest"
+ },
+ "verificationType": "verified",
+ "osType": "windows"
+ },
+ {
+ "nodeAgentSKUId": "batch.node.windows amd64",
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2012-Datacenter",
+ "version": "latest"
+ },
+ "verificationType": "verified",
+ "osType": "windows"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/ApplicationGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/ApplicationGet.json
new file mode 100644
index 000000000000..7d89644fb249
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/ApplicationGet.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "applicationId": "my_application_id"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "my_application_id",
+ "versions": [
+ "v1.0"
+ ],
+ "displayName": "my_display_name"
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/ApplicationList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/ApplicationList.json
new file mode 100644
index 000000000000..a31beb54c6a4
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/ApplicationList.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "my_application_id",
+ "versions": [
+ "v1.0"
+ ],
+ "displayName": "my_display_name"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/CertificateAdd.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/CertificateAdd.json
new file mode 100644
index 000000000000..9542dfd0b4f6
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/CertificateAdd.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "certificate": {
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0123456789abcdef0123456789abcdef01234567",
+ "data": "#####...",
+ "certificateFormat": "pfx",
+ "password": ""
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/CertificateCancelDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/CertificateCancelDelete.json
new file mode 100644
index 000000000000..52cfc3639b55
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/CertificateCancelDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0123456789abcdef0123456789abcdef01234567",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/CertificateDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/CertificateDelete.json
new file mode 100644
index 000000000000..d527895cebd2
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/CertificateDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0123456789abcdef0123456789abcdef01234567",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/CertificateGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/CertificateGet.json
new file mode 100644
index 000000000000..68060f0d5875
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/CertificateGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0123456789abcdef0123456789abcdef01234567",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "thumbprint": "0123456789abcdef0123456789abcdef01234567",
+ "thumbprintAlgorithm": "sha1",
+ "url": "https://account.region.batch.azure.com/certificates(thumbprintAlgorithm=sha1,thumbprint=0123456789abcdef0123456789abcdef01234567)",
+ "state": "deletefailed",
+ "stateTransitionTime": "2014-07-31T21:12:58.236Z",
+ "previousState": "deleting",
+ "previousStateTransitionTime": "2014-07-31T21:11:58.236Z",
+ "publicData": "#####...",
+ "deleteCertificateError": {
+ "code": "PoolsReferencingCertificate",
+ "message": "The specified certificate is being used by the below mentioned pool(s)",
+ "values": [
+ {
+ "name": "Pools",
+ "value": "mypool1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/CertificateList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/CertificateList.json
new file mode 100644
index 000000000000..48f51178ebda
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/CertificateList.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "thumbprint": "0123456789abcdef0123456789abcdef01234567",
+ "thumbprintAlgorithm": "sha1",
+ "url": "https://account.region.batch.azure.com/certificates(thumbprintAlgorithm=sha1,thumbprint=0123456789abcdef0123456789abcdef01234567)",
+ "state": "deletefailed",
+ "stateTransitionTime": "2014-07-31T21:12:58.236Z",
+ "previousState": "deleting",
+ "previousStateTransitionTime": "2014-07-31T21:11:58.236Z",
+ "publicData": "#####...",
+ "deleteCertificateError": {
+ "code": "PoolsReferencingCertificate",
+ "message": "The specified certificate is being used by the below mentioned pool(s)",
+ "values": [
+ {
+ "name": "Pools",
+ "value": "mypool1"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/ComputeNodeExtensionGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/ComputeNodeExtensionGet.json
new file mode 100644
index 000000000000..68565eec9bdc
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/ComputeNodeExtensionGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_2-20161122t193202z",
+ "extensionName": "batchNodeExtension",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "instanceView": {
+ "name": "batchNodeExtension",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": "Enable succeeded: Enabling and starting agent and controller"
+ }
+ ]
+ },
+ "vmExtension": {
+ "name": "batchNodeExtension",
+ "publisher": "Microsoft.Azure.Extensions",
+ "type": "CustomScript",
+ "typeHandlerVersion": "2.0",
+ "autoUpgradeMinorVersion": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/ComputeNodeExtensionList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/ComputeNodeExtensionList.json
new file mode 100644
index 000000000000..6bcea70cb90a
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/ComputeNodeExtensionList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_2-20161122t193202z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "instanceView": {
+ "name": "batchNodeExtension",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": "Enable succeeded: Enabling and starting agent and controller"
+ }
+ ]
+ },
+ "vmExtension": {
+ "name": "batchNodeExtension",
+ "publisher": "Microsoft.Azure.Extensions",
+ "type": "CustomScript",
+ "typeHandlerVersion": "2.0",
+ "autoUpgradeMinorVersion": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileDeleteFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileDeleteFromNode.json
new file mode 100644
index 000000000000..e21659eafb48
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileDeleteFromNode.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161122t193202z",
+ "filePath": "workitems\\jobId\\job-1\\task1\\wd\\testFile.txt",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "recursive": false
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileDeleteFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileDeleteFromTask.json
new file mode 100644
index 000000000000..56d7aeb972bd
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileDeleteFromTask.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "taskId": "task1",
+ "filePath": "wd\\testFile.txt",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "recursive": false
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileGetFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileGetFromNode.json
new file mode 100644
index 000000000000..2b1047f9ce71
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileGetFromNode.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "nodeId": "nodeId",
+ "filePath": "workitems\\jobId\\job-1\\task1\\wd\\testFile.txt",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "ocp-creation-time": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "ocp-batch-file-isdirectory": "false",
+ "Content-Length": "17",
+ "Content-Type": "application/octet-stream",
+ "body": "This is actually a byte stream. This request/response is being presented as a string for readability in the example"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileGetFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileGetFromTask.json
new file mode 100644
index 000000000000..b76f165a67ab
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileGetFromTask.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "taskId": "task1",
+ "filePath": "wd\\testFile.txt",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "ocp-creation-time": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "ocp-batch-file-isdirectory": "false",
+ "Content-Length": "17",
+ "Content-Type": "application/octet-stream",
+ "body": "This is actually a byte stream. This request/response is being presented as a string for readability in the example"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileGetPropertiesFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileGetPropertiesFromNode.json
new file mode 100644
index 000000000000..25cf1b5c897b
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileGetPropertiesFromNode.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "nodeId": "nodeId",
+ "filePath": "workitems\\jobId\\job-1\\task1\\wd\\testFile.txt",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "ocp-creation-time": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "ocp-batch-file-isdirectory": "false",
+ "Content-Length": "17",
+ "Content-Type": "application/octet-stream"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileGetPropertiesFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileGetPropertiesFromTask.json
new file mode 100644
index 000000000000..883d746510b8
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileGetPropertiesFromTask.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "taskId": "taskId",
+ "filePath": "wd\\testFile.txt",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "ocp-creation-time": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "ocp-batch-file-isdirectory": "false",
+ "Content-Length": "17",
+ "Content-Type": "application/octet-stream"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileListFromNode.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileListFromNode.json
new file mode 100644
index 000000000000..ffd284fb487c
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileListFromNode.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161122t193202z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "recursive": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "shared",
+ "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_2-20140919t215614z/files/shared",
+ "isDirectory": true
+ },
+ {
+ "name": "startup\\ProcessEnv.cmd",
+ "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_2-20140919t215614z/files/startup\\ProcessEnv.cmd",
+ "isDirectory": false,
+ "properties": {
+ "creationTime": "2014-09-19T21:56:17.679195Z",
+ "lastModified": "2014-09-19T21:56:17.679195Z",
+ "contentLength": 1813,
+ "contentType": "application/octet-stream"
+ }
+ },
+ {
+ "name": "startup\\stderr.txt",
+ "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_2-20140919t215614z/files/startup\\stderr.txt",
+ "isDirectory": false,
+ "properties": {
+ "creationTime": "2014-09-19T21:56:17.5590855Z",
+ "lastModified": "2014-09-19T21:56:17.5590855Z",
+ "contentLength": 0,
+ "contentType": "application/octet-stream"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileListFromTask.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileListFromTask.json
new file mode 100644
index 000000000000..0c12adffa466
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/FileListFromTask.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "taskId": "taskId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "recursive": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "startup\\ProcessEnv.cmd",
+ "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/taskId/files/startup\\ProcessEnv.cmd",
+ "isDirectory": false,
+ "properties": {
+ "creationTime": "2014-09-19T21:56:17.679195Z",
+ "lastModified": "2014-09-19T21:56:17.679195Z",
+ "contentLength": 1813,
+ "contentType": "application/octet-stream"
+ }
+ },
+ {
+ "name": "startup\\stderr.txt",
+ "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/taskId/files/startup\\stderr.txt",
+ "isDirectory": false,
+ "properties": {
+ "creationTime": "2014-09-19T21:56:17.5590855Z",
+ "lastModified": "2014-09-19T21:56:17.5590855Z",
+ "contentLength": 0,
+ "contentType": "application/octet-stream"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobAdd_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobAdd_Basic.json
new file mode 100644
index 000000000000..063703e88f0a
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobAdd_Basic.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "job": {
+ "id": "jobId",
+ "priority": 0,
+ "poolInfo": {
+ "poolId": "poolId"
+ }
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobAdd_Complex.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobAdd_Complex.json
new file mode 100644
index 000000000000..d7b297a1800c
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobAdd_Complex.json
@@ -0,0 +1,121 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "job": {
+ "id": "jobId",
+ "priority": 100,
+ "constraints": {
+ "maxWallClockTime": "PT1H",
+ "maxTaskRetryCount": -1
+ },
+ "jobManagerTask": {
+ "id": "taskId",
+ "commandLine": "myprogram.exe",
+ "resourceFiles": [
+ {
+ "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/myprogram.exe?sas",
+ "filePath": "myprogram.exe"
+ },
+ {
+ "storageContainerUrl": "http://mystorage1.blob.core.windows.net/data?sas",
+ "filePath": "datafolder"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "myvariable",
+ "value": "myvalue"
+ }
+ ],
+ "constraints": {
+ "maxWallClockTime": "PT1H",
+ "maxTaskRetryCount": 0,
+ "retentionTime": "PT1H"
+ },
+ "requiredSlots": 2,
+ "killJobOnCompletion": false,
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "admin"
+ }
+ },
+ "runExclusive": true
+ },
+ "poolInfo": {
+ "autoPoolSpecification": {
+ "autoPoolIdPrefix": "mypool",
+ "poolLifetimeOption": "job",
+ "pool": {
+ "vmSize": "small",
+ "cloudServiceConfiguration": {
+ "osFamily": "4",
+ "osVersion": "*"
+ },
+ "resizeTimeout": "PT15M",
+ "targetDedicatedNodes": 3,
+ "targetLowPriorityNodes": 0,
+ "taskSlotsPerNode": 2,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "enableAutoScale": false,
+ "enableInterNodeCommunication": true,
+ "startTask": {
+ "commandLine": "myprogram2.exe",
+ "resourceFiles": [
+ {
+ "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/myprogram2.exe?sas",
+ "filePath": "myprogram2.exe"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "myvariable",
+ "value": "myvalue"
+ }
+ ],
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "admin"
+ }
+ },
+ "maxTaskRetryCount": 2,
+ "waitForSuccess": true
+ },
+ "certificateReferences": [
+ {
+ "thumbprint": "0123456789abcdef0123456789abcdef01234567",
+ "thumbprintAlgorithm": "sha1",
+ "storeLocation": "localmachine",
+ "storeName": "Root",
+ "visibility": [
+ "task"
+ ]
+ }
+ ],
+ "metadata": [
+ {
+ "name": "myproperty",
+ "value": "myvalue"
+ }
+ ]
+ }
+ }
+ },
+ "metadata": [
+ {
+ "name": "myproperty",
+ "value": "myvalue"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobDelete.json
new file mode 100644
index 000000000000..bf1163d6be05
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobDisable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobDisable.json
new file mode 100644
index 000000000000..9f5e7e96a402
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobDisable.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "jobDisableParameter": {
+ "disableTasks": "terminate"
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobEnable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobEnable.json
new file mode 100644
index 000000000000..bf1163d6be05
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobEnable.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobGet.json
new file mode 100644
index 000000000000..8d89379f931c
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "jobId",
+ "url": "https://account.region.batch.azure.com/jobs/jobId",
+ "eTag": "0x8D4100FC49F0278",
+ "lastModified": "2016-11-19T00:05:27.5391608Z",
+ "creationTime": "2016-11-19T00:05:25.311915Z",
+ "state": "completed",
+ "stateTransitionTime": "2016-11-19T00:05:27.578581Z",
+ "previousState": "active",
+ "previousStateTransitionTime": "2016-11-19T00:05:27.2137716Z",
+ "priority": 0,
+ "maxParallelTasks": -1,
+ "usesTaskDependencies": false,
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "poolInfo": {
+ "poolId": "poolId"
+ },
+ "executionInfo": {
+ "startTime": "2016-11-19T00:05:25.3309105Z",
+ "endTime": "2016-11-19T00:05:27.578581Z",
+ "poolId": "poolId",
+ "terminateReason": "UserTerminate"
+ },
+ "onAllTasksComplete": "noaction",
+ "onTaskFailure": "noaction"
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobGetLifetimeStatistics.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobGetLifetimeStatistics.json
new file mode 100644
index 000000000000..d5bd89f3d2b6
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobGetLifetimeStatistics.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "url": "https://account.region.batch.core.windows.net/lifetimejobstats",
+ "startTime": "2014-08-01T18:30:00.4345729Z",
+ "lastUpdateTime": "2014-08-04T18:30:00.4345729Z",
+ "userCPUTime": "PT0S",
+ "kernelCPUTime": "PT0S",
+ "wallClockTime": "PT0S",
+ "readIOps": 0,
+ "writeIOps": 0,
+ "readIOGiB": 10.0,
+ "writeIOGiB": 5.0,
+ "numSucceededTasks": 0,
+ "numFailedTasks": 0,
+ "numTaskRetries": 0,
+ "waitTime": "PT0S"
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobGetTaskCounts.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobGetTaskCounts.json
new file mode 100644
index 000000000000..cb36267df107
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobGetTaskCounts.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "taskCounts": {
+ "active": 5,
+ "running": 7,
+ "completed": 4,
+ "succeeded": 2,
+ "failed": 2
+ },
+ "taskSlotCounts": {
+ "active": 5,
+ "running": 7,
+ "completed": 4,
+ "succeeded": 2,
+ "failed": 2
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobList.json
new file mode 100644
index 000000000000..2df5f5575811
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobList.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "jobId",
+ "url": "https://account.region.batch.azure.com/jobs/jobId",
+ "eTag": "0x8D4100FC46D5BF4",
+ "lastModified": "2016-11-19T00:05:27.2137716Z",
+ "creationTime": "2016-11-19T00:05:25.311915Z",
+ "state": "active",
+ "stateTransitionTime": "2016-11-19T00:05:27.2137716Z",
+ "previousState": "disabled",
+ "previousStateTransitionTime": "2016-11-19T00:05:26.88777Z",
+ "priority": 0,
+ "maxParallelTasks": -1,
+ "usesTaskDependencies": false,
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "poolInfo": {
+ "poolId": "poolId"
+ },
+ "executionInfo": {
+ "startTime": "2016-11-19T00:05:25.3309105Z",
+ "poolId": "poolId"
+ },
+ "onAllTasksComplete": "noaction",
+ "onTaskFailure": "noaction"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobListFromJobSchedule.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobListFromJobSchedule.json
new file mode 100644
index 000000000000..5e9fcc995acd
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobListFromJobSchedule.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "jobId",
+ "url": "https://account.region.batch.azure.com/jobs/jobId",
+ "eTag": "0x8D4100FC46D5BF4",
+ "lastModified": "2016-11-19T00:05:27.2137716Z",
+ "creationTime": "2016-11-19T00:05:25.311915Z",
+ "state": "active",
+ "stateTransitionTime": "2016-11-19T00:05:27.2137716Z",
+ "previousState": "disabled",
+ "previousStateTransitionTime": "2016-11-19T00:05:26.88777Z",
+ "priority": 0,
+ "usesTaskDependencies": false,
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "poolInfo": {
+ "poolId": "poolId"
+ },
+ "executionInfo": {
+ "startTime": "2016-11-19T00:05:25.3309105Z",
+ "poolId": "poolId"
+ },
+ "onAllTasksComplete": "noaction",
+ "onTaskFailure": "noaction"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobListPreparationAndReleaseTaskStatus.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobListPreparationAndReleaseTaskStatus.json
new file mode 100644
index 000000000000..b66d897f626a
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobListPreparationAndReleaseTaskStatus.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "poolId": "poolId",
+ "nodeId": "tvm-2167304207_1-20140905t174658z",
+ "nodeUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_1-20140905t174658z",
+ "jobPreparationTaskExecutionInfo": {
+ "state": "completed",
+ "startTime": "2015-05-01T10:20:31Z",
+ "endTime": "2015-05-02T20:12:42Z",
+ "taskRootDirectory": "tasks/myjob/job-1/myjobpreptask",
+ "taskRootDirectoryUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_1-20140905t174658z/files/tasks/myjob/job-1/myjobpreptask",
+ "exitCode": 0,
+ "retryCount": 0
+ },
+ "jobReleaseTaskExecutionInfo": {
+ "state": "completed",
+ "startTime": "2015-05-01T10:20:31Z",
+ "endTime": "2015-05-02T20:12:42Z",
+ "taskRootDirectory": "tasks/myjob/job-1/myjobreleasetask",
+ "taskRootDirectoryUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2167304207_1-20140905t174658z/files/tasks/myjob/job-1/myjobreleasetask",
+ "exitCode": 0
+ }
+ }
+ ],
+ "odata.nextLink": "https://account.region.batch.azure.com/jobs/myjob/jobpreparationandreleasestatus?$skipToken=tvm-2167304207_1-20140905t174658z&api-version=2021-06-01.14.0"
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobPatch.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobPatch.json
new file mode 100644
index 000000000000..c3a1af46d3ad
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobPatch.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "jobPatchParameter": {
+ "priority": 100,
+ "constraints": {
+ "maxWallClockTime": "PT1H",
+ "maxTaskRetryCount": -1
+ },
+ "poolInfo": {
+ "poolId": "poolId"
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleAdd_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleAdd_Basic.json
new file mode 100644
index 000000000000..e56b23bdff79
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleAdd_Basic.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "cloudJobSchedule": {
+ "id": "jobScheduleId",
+ "schedule": {
+ "recurrenceInterval": "PT5M"
+ },
+ "jobSpecification": {
+ "poolInfo": {
+ "poolId": "poolId"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleAdd_Complex.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleAdd_Complex.json
new file mode 100644
index 000000000000..0a2ebf4aa79b
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleAdd_Complex.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "cloudJobSchedule": {
+ "id": "jobScheduleId",
+ "schedule": {
+ "doNotRunUntil": "2014-09-10T02:30:00.000Z",
+ "doNotRunAfter": "2014-09-10T06:30:00.000Z",
+ "startWindow": "PT1M",
+ "recurrenceInterval": "PT5M"
+ },
+ "jobSpecification": {
+ "priority": 100,
+ "constraints": {
+ "maxWallClockTime": "PT1H",
+ "maxTaskRetryCount": -1
+ },
+ "jobManagerTask": {
+ "id": "mytask1",
+ "commandLine": "myprogram.exe",
+ "resourceFiles": [
+ {
+ "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/myprogram.exe?sas",
+ "filePath": "myprogram.exe"
+ },
+ {
+ "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/test.txt?sas",
+ "filePath": "test.txt"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "myvariable",
+ "value": "myvalue"
+ }
+ ],
+ "constraints": {
+ "maxWallClockTime": "PT1H",
+ "maxTaskRetryCount": 0,
+ "retentionTime": "PT1H"
+ },
+ "requiredSlots": 2,
+ "killJobOnCompletion": true,
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "runExclusive": true
+ },
+ "poolInfo": {
+ "autoPoolSpecification": {
+ "autoPoolIdPrefix": "mypool",
+ "poolLifetimeOption": "jobschedule",
+ "pool": {
+ "vmSize": "small",
+ "cloudServiceConfiguration": {
+ "osFamily": "4",
+ "osVersion": "*"
+ },
+ "resizeTimeout": "PT15M",
+ "targetDedicatedNodes": 3,
+ "targetLowPriorityNodes": 0,
+ "taskSlotsPerNode": 2,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "enableAutoScale": false,
+ "enableInterNodeCommunication": true,
+ "startTask": {
+ "commandLine": "myprogram2.exe",
+ "resourceFiles": [
+ {
+ "httpUrl": "http://mystorage1.blob.core.windows.net/scripts/myprogram2.exe?sas",
+ "filePath": "myprogram2.exe"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "myvariable",
+ "value": "myvalue"
+ }
+ ],
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "admin"
+ }
+ },
+ "maxTaskRetryCount": 2,
+ "waitForSuccess": true
+ },
+ "certificateReferences": [
+ {
+ "thumbprint": "0123456789abcdef0123456789abcdef01234567",
+ "thumbprintAlgorithm": "sha1",
+ "storeLocation": "localmachine",
+ "storeName": "Root",
+ "visibility": [
+ "task"
+ ]
+ }
+ ],
+ "metadata": [
+ {
+ "name": "myproperty",
+ "value": "myvalue"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "metadata": [
+ {
+ "name": "myproperty",
+ "value": "myvalue"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleDelete.json
new file mode 100644
index 000000000000..18a0d9f14c02
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleDisable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleDisable.json
new file mode 100644
index 000000000000..8597d47b90e6
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleDisable.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleEnable.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleEnable.json
new file mode 100644
index 000000000000..8597d47b90e6
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleEnable.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleExists.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleExists.json
new file mode 100644
index 000000000000..a8b0f91f9df2
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleExists.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleGet.json
new file mode 100644
index 000000000000..764721b3ae03
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "jobScheduleId",
+ "url": "https://account.region.batch.azure.com/jobschedules/jobScheduleId",
+ "eTag": "0x8D40FFD2E848323",
+ "lastModified": "2016-11-18T21:52:24.7661347Z",
+ "creationTime": "2016-11-18T21:52:22.5431125Z",
+ "state": "completed",
+ "stateTransitionTime": "2016-11-18T21:52:24.8371778Z",
+ "previousState": "active",
+ "previousStateTransitionTime": "2016-11-18T21:52:24.0064874Z",
+ "jobSpecification": {
+ "priority": 0,
+ "maxParallelTasks": -1,
+ "usesTaskDependencies": false,
+ "onAllTasksComplete": "noaction",
+ "onTaskFailure": "noaction",
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "poolInfo": {
+ "poolId": "testPool"
+ }
+ },
+ "executionInfo": {
+ "recentJob": {
+ "url": "https://account.region.batch.azure.com/jobschedules/jobScheduleId:job-1",
+ "id": "jobScheduleId:job-1"
+ },
+ "endTime": "2016-11-18T21:52:24.8371778Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleList.json
new file mode 100644
index 000000000000..daf9138eac7c
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleList.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "jobSchedule1",
+ "url": "https://account.region.batch.azure.com/jobschedules/jobSchedule1",
+ "eTag": "0x8D40FFD2E10996A",
+ "lastModified": "2016-11-18T21:52:24.0064874Z",
+ "creationTime": "2016-11-18T21:52:22.5431125Z",
+ "state": "active",
+ "stateTransitionTime": "2016-11-18T21:52:24.0064874Z",
+ "previousState": "disabled",
+ "previousStateTransitionTime": "2016-11-18T21:52:23.6471782Z",
+ "jobSpecification": {
+ "priority": 0,
+ "maxParallelTasks": -1,
+ "usesTaskDependencies": false,
+ "onAllTasksComplete": "noaction",
+ "onTaskFailure": "noaction",
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "poolInfo": {
+ "poolId": "poolId"
+ }
+ },
+ "executionInfo": {
+ "recentJob": {
+ "url": "https://account.region.batch.azure.com/jobs/jobSchedule1:job-1",
+ "id": "jobSchedule1:job-1"
+ }
+ }
+ },
+ {
+ "id": "jobSchedule2",
+ "url": "https://account.region.batch.azure.com/jobschedules/jobSchedule2",
+ "eTag": "0x8D40FFCFF760B51",
+ "lastModified": "2016-11-18T21:51:05.8184017Z",
+ "creationTime": "2016-11-18T21:51:05.8184017Z",
+ "state": "active",
+ "stateTransitionTime": "2016-11-18T21:51:05.8184017Z",
+ "schedule": {
+ "doNotRunUntil": "2020-01-01T12:30:00Z"
+ },
+ "jobSpecification": {
+ "priority": 0,
+ "maxParallelTasks": -1,
+ "usesTaskDependencies": false,
+ "onAllTasksComplete": "noaction",
+ "onTaskFailure": "noaction",
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "poolInfo": {
+ "poolId": "testPool2"
+ }
+ },
+ "executionInfo": {
+ "nextRunTime": "2020-01-01T12:30:00Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobSchedulePatch.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobSchedulePatch.json
new file mode 100644
index 000000000000..cd82bfa5e382
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobSchedulePatch.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "jobSchedulePatchParameter": {
+ "schedule": {
+ "doNotRunUntil": "2025-01-01T12:30:00Z"
+ },
+ "jobSpecification": {
+ "priority": 0,
+ "usesTaskDependencies": false,
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "poolInfo": {
+ "poolId": "poolId"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleTerminate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleTerminate.json
new file mode 100644
index 000000000000..18a0d9f14c02
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleTerminate.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleUpdate.json
new file mode 100644
index 000000000000..6b039f259412
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobScheduleUpdate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobScheduleId": "jobScheduleId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "jobScheduleUpdateParameter": {
+ "schedule": {
+ "doNotRunUntil": "2025-01-01T12:30:00Z"
+ },
+ "jobSpecification": {
+ "priority": 0,
+ "usesTaskDependencies": false,
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "poolInfo": {
+ "poolId": "poolId"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobTerminate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobTerminate.json
new file mode 100644
index 000000000000..c661045f9573
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobTerminate.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "jobTerminateParameter": {
+ "terminateReason": "User supplied termination reason"
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobUpdate.json
new file mode 100644
index 000000000000..c2645b712373
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/JobUpdate.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "jobUpdateParameter": {
+ "priority": 100,
+ "constraints": {
+ "maxWallClockTime": "PT1H",
+ "maxTaskRetryCount": -1
+ },
+ "poolInfo": {
+ "poolId": "poolId"
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeAddUser.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeAddUser.json
new file mode 100644
index 000000000000..1a42dd910f15
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeAddUser.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161121t182739z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "user": {
+ "name": "userName",
+ "isAdmin": false,
+ "expiryTime": "2017-08-01T00:00:00Z",
+ "password": "Password"
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeDeleteUser.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeDeleteUser.json
new file mode 100644
index 000000000000..90fc1a123124
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeDeleteUser.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161121t182739z",
+ "userName": "userName",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeDisableScheduling.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeDisableScheduling.json
new file mode 100644
index 000000000000..2f428af2ed59
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeDisableScheduling.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161122t193202z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "nodeDisableSchedulingParameter": {
+ "nodeDisableSchedulingOption": "terminate"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeEnableScheduling.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeEnableScheduling.json
new file mode 100644
index 000000000000..53ad3015e48e
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeEnableScheduling.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161122t193202z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeGetRemoteDesktop.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeGetRemoteDesktop.json
new file mode 100644
index 000000000000..712c88cdc733
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeGetRemoteDesktop.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161121t182739z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": "This is actually a byte stream. This request/response is being presented as a string for readability in the example"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeGetRemoteLoginSettings.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeGetRemoteLoginSettings.json
new file mode 100644
index 000000000000..7359485f8cb1
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeGetRemoteLoginSettings.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161121t182739z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "remoteLoginIPAddress": "1.1.1.1",
+ "remoteLoginPort": 50000
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeGet_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeGet_Basic.json
new file mode 100644
index 000000000000..5021c86fa689
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeGet_Basic.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_2-20161122t193202z",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "tvm-1695681911_2-20161122t193202z",
+ "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_2-20161122t193202z",
+ "state": "idle",
+ "schedulingState": "enabled",
+ "stateTransitionTime": "2016-11-22T19:37:31.4285526Z",
+ "lastBootTime": "2016-11-22T19:37:28.623369Z",
+ "allocationTime": "2016-11-22T19:32:02.8155319Z",
+ "ipAddress": "1.1.1.1",
+ "affinityId": "TVM:tvm-1695681911_2-20161122t193202z",
+ "vmSize": "small",
+ "totalTasksRun": 0,
+ "totalTasksSucceeded": 0,
+ "runningTasksCount": 0,
+ "isDedicated": true,
+ "startTask": {
+ "commandLine": "cmd /c echo hello",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "maxTaskRetryCount": 0,
+ "waitForSuccess": false
+ },
+ "startTaskInfo": {
+ "state": "completed",
+ "startTime": "2016-11-22T19:37:31.4285526Z",
+ "endTime": "2016-11-22T19:37:31.838028Z",
+ "exitCode": 0,
+ "retryCount": 0
+ },
+ "nodeAgentInfo": {
+ "version": "1.2.0.0",
+ "lastUpdateTime": "2016-11-22T19:37:28.623369Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeList.json
new file mode 100644
index 000000000000..59ab1ce00a29
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeList.json
@@ -0,0 +1,134 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "tvm-1695681911_1-20161122t193202z",
+ "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_1-20161122t193202z",
+ "state": "idle",
+ "schedulingState": "enabled",
+ "stateTransitionTime": "2016-11-22T22:22:27.2236818Z",
+ "lastBootTime": "2016-11-22T22:22:24.4634125Z",
+ "allocationTime": "2016-11-22T19:32:02.8155319Z",
+ "ipAddress": "1.1.1.1",
+ "affinityId": "TVM:tvm-1695681911_1-20161122t193202z",
+ "vmSize": "small",
+ "totalTasksRun": 0,
+ "totalTasksSucceeded": 0,
+ "runningTasksCount": 0,
+ "runningTaskSlotsCount": 0,
+ "isDedicated": true,
+ "startTask": {
+ "commandLine": "cmd /c echo hello",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "maxTaskRetryCount": 0,
+ "waitForSuccess": false
+ },
+ "startTaskInfo": {
+ "state": "completed",
+ "startTime": "2016-11-22T22:22:27.2236818Z",
+ "endTime": "2016-11-22T22:22:27.567189Z",
+ "exitCode": 0,
+ "retryCount": 0
+ },
+ "nodeAgentInfo": {
+ "version": "1.2.0.0",
+ "lastUpdateTime": "2016-11-22T22:22:24.4634125Z"
+ }
+ },
+ {
+ "id": "tvm-1695681911_2-20161122t193202z",
+ "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_2-20161122t193202z",
+ "state": "idle",
+ "schedulingState": "enabled",
+ "stateTransitionTime": "2016-11-22T19:37:31.4285526Z",
+ "lastBootTime": "2016-11-22T19:37:28.623369Z",
+ "allocationTime": "2016-11-22T19:32:02.8155319Z",
+ "ipAddress": "1.1.1.1",
+ "affinityId": "TVM:tvm-1695681911_2-20161122t193202z",
+ "vmSize": "small",
+ "totalTasksRun": 0,
+ "totalTasksSucceeded": 0,
+ "runningTasksCount": 0,
+ "runningTaskSlotsCount": 0,
+ "isDedicated": true,
+ "startTask": {
+ "commandLine": "cmd /c echo hello",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "maxTaskRetryCount": 0,
+ "waitForSuccess": false
+ },
+ "startTaskInfo": {
+ "state": "completed",
+ "startTime": "2016-11-22T19:37:31.4285526Z",
+ "endTime": "2016-11-22T19:37:31.838028Z",
+ "exitCode": 0,
+ "retryCount": 0
+ },
+ "nodeAgentInfo": {
+ "version": "1.2.0.0",
+ "lastUpdateTime": "2016-11-22T22:22:24.4634125Z"
+ }
+ },
+ {
+ "id": "tvm-1695681911_3-20161122t193202z",
+ "url": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-1695681911_3-20161122t193202z",
+ "state": "idle",
+ "schedulingState": "enabled",
+ "stateTransitionTime": "2016-11-22T19:36:51.0013378Z",
+ "lastBootTime": "2016-11-22T19:36:48.21721Z",
+ "allocationTime": "2016-11-22T19:32:02.8155319Z",
+ "ipAddress": "1.1.1.1",
+ "affinityId": "TVM:tvm-1695681911_3-20161122t193202z",
+ "vmSize": "small",
+ "totalTasksRun": 0,
+ "totalTasksSucceeded": 0,
+ "runningTasksCount": 0,
+ "runningTaskSlotsCount": 0,
+ "isDedicated": true,
+ "startTask": {
+ "commandLine": "cmd /c echo hello",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "maxTaskRetryCount": 0,
+ "waitForSuccess": false
+ },
+ "startTaskInfo": {
+ "state": "completed",
+ "startTime": "2016-11-22T19:36:51.0013378Z",
+ "endTime": "2016-11-22T19:36:51.2363447Z",
+ "exitCode": 0,
+ "retryCount": 0
+ },
+ "nodeAgentInfo": {
+ "version": "1.2.0.0",
+ "lastUpdateTime": "2016-11-22T22:22:24.4634125Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeReboot.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeReboot.json
new file mode 100644
index 000000000000..4add29fb7bdd
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeReboot.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161122t193202z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "nodeRebootParameter": {
+ "nodeRebootOption": "terminate"
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeReimage.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeReimage.json
new file mode 100644
index 000000000000..ac6ec4420d8b
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeReimage.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161122t193202z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "nodeReimageParameter": {
+ "nodeReimageOption": "terminate"
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeUpdateUser.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeUpdateUser.json
new file mode 100644
index 000000000000..5f41cc025831
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeUpdateUser.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161121t182739z",
+ "userName": "userName",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "nodeUpdateUserParameter": {
+ "password": "12345",
+ "expiryTime": "2016-11-27T00:45:48.7320857Z"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeUploadBatchServiceLogs.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeUploadBatchServiceLogs.json
new file mode 100644
index 000000000000..fe8ed12e671b
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/NodeUploadBatchServiceLogs.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "nodeId": "tvm-1695681911_1-20161121t182739z",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "uploadBatchServiceLogsConfiguration": {
+ "containerUrl": "https://somestorageacct.blob.core.windows.net/batch-compute-node-logs?se=2017-12-09T18%3A51%3A00Z&sp=w&sv=2016-05-31&sr=c&sig",
+ "startTime": "2017-11-27T00:00:00Z"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "virtualDirectoryName": "poolId/tvm-1695681911-1-20161121t182739z/0795539d-82fe-48e3-bbff-2964905b6de0",
+ "numberOfFilesUploaded": 8
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolAdd_CloudServiceConfiguration.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolAdd_CloudServiceConfiguration.json
new file mode 100644
index 000000000000..d624e9387d49
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolAdd_CloudServiceConfiguration.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "pool": {
+ "id": "poolId",
+ "vmSize": "small",
+ "cloudServiceConfiguration": {
+ "osFamily": "4"
+ },
+ "resizeTimeout": "PT15M",
+ "targetDedicatedNodes": 5,
+ "targetLowPriorityNodes": 0,
+ "taskSlotsPerNode": 3,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "enableAutoScale": false,
+ "enableInterNodeCommunication": true,
+ "metadata": [
+ {
+ "name": "myproperty",
+ "value": "myvalue"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "request-id": "00000000-0000-0000-0000-000000000000",
+ "ETag": "0x8D45765A6A2DC04",
+ "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolAdd_MountConfiguration.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolAdd_MountConfiguration.json
new file mode 100644
index 000000000000..b518cda6aed2
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolAdd_MountConfiguration.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-data": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "pool": {
+ "id": "pool2",
+ "vmSize": "standard_a1",
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "UbuntuServer",
+ "sku": "20_04-lts"
+ },
+ "nodeAgentSKUId": "batch.node.ubuntu 20.04"
+ },
+ "mountConfiguration": [
+ {
+ "azureBlobFileSystemConfiguration": {
+ "accountName": "accountName",
+ "containerName": "blobContainerName",
+ "accountKey": "accountKey",
+ "relativeMountPath": "bfusepath"
+ }
+ },
+ {
+ "azureFileShareConfiguration": {
+ "accountName": "accountName",
+ "azureFileUrl": "https://myaccount.file.core.windows.net/fileshare",
+ "accountKey": "accountKey",
+ "relativeMountPath": "filesharepath",
+ "mountOptions": "mount options ver=1.0"
+ }
+ },
+ {
+ "nfsMountConfiguration": {
+ "source": "somesource nfs url",
+ "relativeMountPath": "mountpath",
+ "mountOptions": "mount options ver=1.0"
+ }
+ },
+ {
+ "cifsMountConfiguration": {
+ "username": "accountName",
+ "password": "password",
+ "source": "//myaccount.file.core.windows.net/file",
+ "relativeMountPath": "mountpath",
+ "mountOptions": "mount options ver=1.0"
+ }
+ }
+ ],
+ "resizeTimeout": "PT15M",
+ "targetDedicatedNodes": 5,
+ "targetLowPriorityNodes": 0,
+ "taskSlotsPerNode": 3,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "enableAutoScale": false
+ }
+ },
+ "responses": {
+ "201": {
+ "request-id": "00000000-0000-0000-0000-000000000000",
+ "ETag": "0x8D45765A6A2DC04",
+ "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolAdd_VirtualMachineConfiguration.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolAdd_VirtualMachineConfiguration.json
new file mode 100644
index 000000000000..47edc5809291
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolAdd_VirtualMachineConfiguration.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "pool": {
+ "id": "pool2",
+ "vmSize": "standard_a1",
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "0001-com-ubuntu-server-focal",
+ "sku": "20_04-lts"
+ },
+ "nodeAgentSKUId": "batch.node.ubuntu 20.04"
+ },
+ "resizeTimeout": "PT15M",
+ "targetDedicatedNodes": 5,
+ "targetLowPriorityNodes": 0,
+ "taskSlotsPerNode": 3,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "enableAutoScale": false,
+ "enableInterNodeCommunication": true,
+ "metadata": [
+ {
+ "name": "myproperty",
+ "value": "myvalue"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "request-id": "00000000-0000-0000-0000-000000000000",
+ "ETag": "0x8D45765A6A2DC04",
+ "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolAdd_VirtualMachineConfigurationWithContainers.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolAdd_VirtualMachineConfigurationWithContainers.json
new file mode 100644
index 000000000000..44997c56c5be
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolAdd_VirtualMachineConfigurationWithContainers.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "pool": {
+ "id": "pool2",
+ "vmSize": "standard_a1",
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "0001-com-ubuntu-server-focal",
+ "sku": "120_04-lts"
+ },
+ "nodeAgentSKUId": "batch.node.ubuntu 20.04",
+ "containerConfiguration": {
+ "type": "dockerCompatible",
+ "containerImageNames": [
+ "busybox"
+ ]
+ }
+ },
+ "resizeTimeout": "PT15M",
+ "targetDedicatedNodes": 5,
+ "targetLowPriorityNodes": 0,
+ "taskSlotsPerNode": 3,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "enableAutoScale": false
+ }
+ },
+ "responses": {
+ "201": {
+ "request-id": "00000000-0000-0000-0000-000000000000",
+ "ETag": "0x8D45765A6A2DC04",
+ "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolAdd_VirtualMachineConfigurationWithExtensions.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolAdd_VirtualMachineConfigurationWithExtensions.json
new file mode 100644
index 000000000000..1fde4df98dcc
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolAdd_VirtualMachineConfigurationWithExtensions.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "pool": {
+ "id": "pool2",
+ "vmSize": "standard_a1",
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "0001-com-ubuntu-server-focal",
+ "sku": "20_04-lts"
+ },
+ "nodeAgentSKUId": "batch.node.ubuntu 20.04",
+ "extensions": [
+ {
+ "name": "batchextension1",
+ "type": "SecurityMonitoringForLinux",
+ "publisher": "Microsoft.Azure.Security.Monitoring",
+ "typeHandlerVersion": "1.0",
+ "autoUpgradeMinorVersion": true,
+ "settings": "{\"settingsKey\":\"settingsValue\"}",
+ "protectedSettings": "{\"protectedSettingsKey\":\"protectedSettingsValue\"}"
+ }
+ ]
+ },
+ "resizeTimeout": "PT15M",
+ "targetDedicatedNodes": 5,
+ "targetLowPriorityNodes": 0,
+ "taskSlotsPerNode": 3,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "enableAutoScale": false,
+ "enableInterNodeCommunication": true,
+ "metadata": [
+ {
+ "name": "myproperty",
+ "value": "myvalue"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "request-id": "00000000-0000-0000-0000-000000000000",
+ "ETag": "0x8D45765A6A2DC04",
+ "Last-Modified": "Fri, 17 Feb 2017 00:00:00 GMT"
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolDelete.json
new file mode 100644
index 000000000000..1152c2d5dc5c
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolDisableAutoScale.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolDisableAutoScale.json
new file mode 100644
index 000000000000..bac63721e6da
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolDisableAutoScale.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolEnableAutoscale.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolEnableAutoscale.json
new file mode 100644
index 000000000000..75f6223cb50d
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolEnableAutoscale.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "poolEnableAutoScaleParameter": {
+ "autoScaleFormula": "$TargetDedicated=0",
+ "autoScaleEvaluationInterval": "PT8M"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolEvaluateAutoscale.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolEvaluateAutoscale.json
new file mode 100644
index 000000000000..52c47e8e32fa
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolEvaluateAutoscale.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "poolEvaluateAutoScaleParameter": {
+ "autoScaleFormula": "$TargetDedicated=1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "timestamp": "2016-11-22T19:39:28.5246331Z",
+ "results": "$TargetDedicated=1;$NodeDeallocationOption=requeue"
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolExists.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolExists.json
new file mode 100644
index 000000000000..1251db9f1e50
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolExists.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolGetLifetimeStatistics.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolGetLifetimeStatistics.json
new file mode 100644
index 000000000000..830cbdd1f306
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolGetLifetimeStatistics.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "url": "https://account.region.batch.core.windows.net/lifetimepoolstats",
+ "startTime": "2014-08-01T18:30:00.4345729Z",
+ "lastUpdateTime": "2014-08-04T18:30:00.4345729Z",
+ "usageStats": {
+ "startTime": "2014-08-01T18:30:00.4345729Z",
+ "lastUpdateTime": "2014-08-04T18:30:00.4345729Z",
+ "dedicatedCoreTime": "PT0S"
+ },
+ "resourceStats": {
+ "startTime": "2014-08-01T18:30:00.4345729Z",
+ "lastUpdateTime": "2014-08-04T18:30:00.4345729Z",
+ "avgCPUPercentage": 40.0,
+ "avgMemoryGiB": 2.0,
+ "peakMemoryGiB": 4.0,
+ "avgDiskGiB": 125.0,
+ "peakDiskGiB": 240.0,
+ "diskReadIOps": 0,
+ "diskWriteIOps": 0,
+ "diskReadGiB": 10.0,
+ "diskWriteGiB": 1.0,
+ "networkReadGiB": 20.0,
+ "networkWriteGiB": 25.0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolGet_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolGet_Basic.json
new file mode 100644
index 000000000000..6c7102a438e0
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolGet_Basic.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "pool",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "pool",
+ "url": "https://account.region.batch.azure.com/pools/pool",
+ "eTag": "0x8D413091E739A56",
+ "lastModified": "2016-11-22T18:55:25.2608598Z",
+ "creationTime": "2016-11-22T18:55:24.2632496Z",
+ "state": "active",
+ "stateTransitionTime": "2016-11-22T18:55:24.2632496Z",
+ "allocationState": "steady",
+ "allocationStateTransitionTime": "2016-11-22T18:55:24.8154041Z",
+ "vmSize": "standard_a1",
+ "resizeTimeout": "PT15M",
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0,
+ "targetDedicatedNodes": 0,
+ "targetLowPriorityNodes": 0,
+ "enableAutoScale": false,
+ "enableInterNodeCommunication": false,
+ "startTask": {
+ "commandLine": "/bin/bash -c 'echo start task'",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "maxTaskRetryCount": 0,
+ "waitForSuccess": false
+ },
+ "taskSlotsPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "0001-com-ubuntu-server-focal",
+ "sku": "20_04-lts",
+ "version": "latest"
+ },
+ "nodeAgentSKUId": "batch.node.ubuntu 20.04"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolGet_VirtualMachineConfigurationWithExtensions.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolGet_VirtualMachineConfigurationWithExtensions.json
new file mode 100644
index 000000000000..f26b5b52c1a9
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolGet_VirtualMachineConfigurationWithExtensions.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "pool",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "pool",
+ "url": "https://account.region.batch.azure.com/pools/pool",
+ "eTag": "0x8D413091E739A56",
+ "lastModified": "2016-11-22T18:55:25.2608598Z",
+ "creationTime": "2016-11-22T18:55:24.2632496Z",
+ "state": "active",
+ "stateTransitionTime": "2016-11-22T18:55:24.2632496Z",
+ "allocationState": "steady",
+ "allocationStateTransitionTime": "2016-11-22T18:55:24.8154041Z",
+ "vmSize": "standard_a1",
+ "resizeTimeout": "PT15M",
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0,
+ "targetDedicatedNodes": 0,
+ "targetLowPriorityNodes": 0,
+ "enableAutoScale": false,
+ "enableInterNodeCommunication": false,
+ "startTask": {
+ "commandLine": "/bin/bash -c 'echo start task'",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "maxTaskRetryCount": 0,
+ "waitForSuccess": false
+ },
+ "taskSlotsPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "0001-com-ubuntu-server-focal",
+ "sku": "20_04-lts",
+ "version": "latest"
+ },
+ "nodeAgentSKUId": "batch.node.ubuntu 20.04",
+ "extensions": [
+ {
+ "name": "batchextension1",
+ "type": "SecurityMonitoringForLinux",
+ "publisher": "Microsoft.Azure.Security.Monitoring",
+ "typeHandlerVersion": "1.0",
+ "autoUpgradeMinorVersion": true,
+ "settings": "{\"settingsKey\":\"settingsValue\"}"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolListUsageMetrics.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolListUsageMetrics.json
new file mode 100644
index 000000000000..7d6a681916db
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolListUsageMetrics.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "startTime": "2013-04-01T00:00:00Z",
+ "endTime": "2013-04-01T00:30:00Z",
+ "poolId": "p1",
+ "vmSize": "a1",
+ "totalCoreHours": 39.384838
+ },
+ {
+ "startTime": "2013-04-01T00:30:00Z",
+ "endTime": "2013-04-01T01:00:00Z",
+ "poolId": "p2",
+ "vmSize": "a8",
+ "totalCoreHours": 3039.384838
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolList_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolList_Basic.json
new file mode 100644
index 000000000000..840551e19cf2
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolList_Basic.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "testPool",
+ "url": "https://accountname.region.batch.azure.com/pools/testPool",
+ "eTag": "0x8D4123BEF87D233",
+ "lastModified": "2016-11-21T18:26:39.7108787Z",
+ "creationTime": "2016-11-21T18:26:39.7108787Z",
+ "state": "active",
+ "stateTransitionTime": "2016-11-21T18:26:39.7108787Z",
+ "allocationState": "steady",
+ "allocationStateTransitionTime": "2016-11-21T18:27:40.287803Z",
+ "vmSize": "small",
+ "resizeTimeout": "PT15M",
+ "currentDedicatedNodes": 3,
+ "currentLowPriorityNodes": 0,
+ "targetDedicatedNodes": 3,
+ "targetLowPriorityNodes": 0,
+ "enableAutoScale": false,
+ "enableInterNodeCommunication": false,
+ "startTask": {
+ "commandLine": "cmd /c echo hello",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "maxTaskRetryCount": 0,
+ "waitForSuccess": false
+ },
+ "taskSlotsPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "spread"
+ },
+ "cloudServiceConfiguration": {
+ "osFamily": "4",
+ "osVersion": "*"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolPatch.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolPatch.json
new file mode 100644
index 000000000000..ea65dec5c795
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolPatch.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "poolPatchParameter": {
+ "startTask": {
+ "commandLine": "/bin/bash -c 'echo start task'"
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolRemoveNodes.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolRemoveNodes.json
new file mode 100644
index 000000000000..c03369e6dab7
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolRemoveNodes.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "nodeRemoveParameter": {
+ "nodeList": [
+ "tvm-1695681911_1-20161122t224741z",
+ "tvm-1695681911_2-20161122t224741z"
+ ]
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolResize.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolResize.json
new file mode 100644
index 000000000000..5aae7b480ddb
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolResize.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "resizePool",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "poolResizeParameter": {
+ "targetDedicatedNodes": 1,
+ "targetLowPriorityNodes": 0
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolStopResize.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolStopResize.json
new file mode 100644
index 000000000000..1152c2d5dc5c
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolStopResize.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolUpdate.json
new file mode 100644
index 000000000000..f81c1c802b8a
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/PoolUpdate.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "poolId": "poolId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "poolUpdatePropertiesParameter": {
+ "startTask": {
+ "commandLine": "/bin/bash -c 'echo start task'"
+ },
+ "certificateReferences": [],
+ "applicationPackageReferences": [],
+ "metadata": []
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAddCollection_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAddCollection_Basic.json
new file mode 100644
index 000000000000..170470127993
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAddCollection_Basic.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "taskCollection": {
+ "value": [
+ {
+ "id": "simple1",
+ "commandLine": "cmd /c dir /s"
+ },
+ {
+ "id": "simple2",
+ "commandLine": "cmd /c dir /s"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "status": "success",
+ "taskId": "simple1",
+ "eTag": "0x8D3D623CD661246",
+ "lastModified": "2016-09-06T07:02:44.7589958Z",
+ "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple1"
+ },
+ {
+ "status": "success",
+ "taskId": "simple2",
+ "eTag": "0x8D3D623CD7072CC",
+ "lastModified": "2016-09-06T07:02:44.8270028Z",
+ "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAddCollection_Complex.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAddCollection_Complex.json
new file mode 100644
index 000000000000..946e28b4540a
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAddCollection_Complex.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "taskCollection": {
+ "value": [
+ {
+ "id": "complex1",
+ "commandLine": "cmd /c dir /s",
+ "resourceFiles": [
+ {
+ "autoStorageContainerName": "containerName",
+ "filePath": "data"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "env1",
+ "value": "value1"
+ },
+ {
+ "name": "env2",
+ "value": "value2"
+ }
+ ],
+ "affinityInfo": {
+ "affinityId": "affinityId"
+ },
+ "constraints": {
+ "maxWallClockTime": "P1D",
+ "retentionTime": "P2D",
+ "maxTaskRetryCount": 5
+ },
+ "requiredSlots": 2,
+ "multiInstanceSettings": {
+ "numberOfInstances": 3,
+ "coordinationCommandLine": "cmd /c echo coordinating",
+ "commonResourceFiles": [
+ {
+ "httpUrl": "https://common.blob.core.windows.net/",
+ "filePath": "common.exe"
+ }
+ ]
+ }
+ },
+ {
+ "id": "simple3",
+ "commandLine": "cmd /c dir /s"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "taskId": "simple3",
+ "status": "success",
+ "eTag": "0x8D3D623CE295629",
+ "lastModified": "2016-09-06T07:02:46.0386857Z",
+ "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/simple3"
+ },
+ {
+ "taskId": "complex1",
+ "status": "success",
+ "eTag": "0x8D3D623CE29A412",
+ "lastModified": "2016-09-06T07:02:46.0406802Z",
+ "location": "https://account.region.batch.azure.com/jobs/jobId/tasks/complex1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAdd_Basic.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAdd_Basic.json
new file mode 100644
index 000000000000..8c0ef7f01d51
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAdd_Basic.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "task": {
+ "id": "task1",
+ "commandLine": "cmd /c echo task1"
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAdd_ContainerSettings.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAdd_ContainerSettings.json
new file mode 100644
index 000000000000..793848082f16
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAdd_ContainerSettings.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "task": {
+ "id": "taskId",
+ "commandLine": "bash -c 'echo hello'",
+ "containerSettings": {
+ "imageName": "ubuntu",
+ "containerRunOptions": "--rm"
+ },
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAdd_ExitConditions.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAdd_ExitConditions.json
new file mode 100644
index 000000000000..2f40b7af089e
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAdd_ExitConditions.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "task": {
+ "id": "taskId",
+ "commandLine": "cmd /c exit 3",
+ "exitConditions": {
+ "exitCodeRanges": [
+ {
+ "start": 2,
+ "end": 4,
+ "exitOptions": {
+ "jobAction": "terminate"
+ }
+ }
+ ]
+ },
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAdd_RequiredSlots.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAdd_RequiredSlots.json
new file mode 100644
index 000000000000..587a688ccf92
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskAdd_RequiredSlots.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "task": {
+ "id": "task1",
+ "requiredSlots": 2,
+ "commandLine": "cmd /c echo task1"
+ }
+ },
+ "responses": {
+ "201": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskDelete.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskDelete.json
new file mode 100644
index 000000000000..e7e4d31f3227
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "taskId": "taskId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskGet.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskGet.json
new file mode 100644
index 000000000000..3d4c378b0626
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskGet.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "taskId": "taskId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "testTask",
+ "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/taskId",
+ "eTag": "0x8D3D62350711C55",
+ "creationTime": "2016-09-06T06:59:15.1161429Z",
+ "lastModified": "2016-09-06T06:59:15.1161429Z",
+ "state": "active",
+ "stateTransitionTime": "2016-09-06T06:59:15.1161429Z",
+ "commandLine": "cmd /c hostname",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "multiInstanceSettings": {
+ "numberOfInstances": 3,
+ "coordinationCommandLine": "cmd /c echo coordinating"
+ },
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "retentionTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "requiredSlots": 2,
+ "executionInfo": {
+ "retryCount": 0,
+ "requeueCount": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskList.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskList.json
new file mode 100644
index 000000000000..d416275bf17a
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskList.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "task1",
+ "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/task1",
+ "eTag": "0x8D4125FD1A825A4",
+ "creationTime": "2016-11-21T22:43:31.4733476Z",
+ "lastModified": "2016-11-21T22:43:31.4733476Z",
+ "state": "active",
+ "stateTransitionTime": "2016-11-21T22:43:31.4733476Z",
+ "commandLine": "cmd /c echo task1",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "retentionTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 0
+ },
+ "requiredSlots": 2,
+ "executionInfo": {
+ "retryCount": 0,
+ "requeueCount": 0
+ }
+ },
+ {
+ "id": "task2",
+ "url": "https://account.region.batch.azure.com/jobs/jobId/tasks/task2",
+ "eTag": "0x8D4125FD2153345",
+ "creationTime": "2016-11-21T22:43:31.6736345Z",
+ "lastModified": "2016-11-21T22:43:32.1880389Z",
+ "state": "active",
+ "stateTransitionTime": "2016-11-21T22:43:31.6736345Z",
+ "commandLine": "cmd /c echo task2",
+ "userIdentity": {
+ "autoUser": {
+ "scope": "task",
+ "elevationLevel": "nonadmin"
+ }
+ },
+ "constraints": {
+ "maxWallClockTime": "P10675199DT2H48M5.4775807S",
+ "retentionTime": "P10675199DT2H48M5.4775807S",
+ "maxTaskRetryCount": 3
+ },
+ "requiredSlots": 2,
+ "executionInfo": {
+ "retryCount": 0,
+ "requeueCount": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskListSubtasks.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskListSubtasks.json
new file mode 100644
index 000000000000..62b872311eaf
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskListSubtasks.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "taskId": "taskId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": 1,
+ "startTime": "2016-09-06T06:59:16.3139271Z",
+ "endTime": "2016-09-06T06:59:20.0242024Z",
+ "state": "completed",
+ "stateTransitionTime": "2016-09-06T06:59:20.0242024Z",
+ "previousState": "running",
+ "previousStateTransitionTime": "2016-09-06T06:59:16.3139271Z",
+ "exitCode": 0,
+ "nodeInfo": {
+ "affinityId": "TVM:tvm-2544493925_3-20160905t051718z",
+ "nodeUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_3-20160905t051718z",
+ "poolId": "mpiPool",
+ "nodeId": "tvm-2544493925_3-20160905t051718z",
+ "taskRootDirectory": "\\workitems\\jobId\\job-1\\taskId\\1",
+ "taskRootDirectoryUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_3-20160905t051718z/files//workitems/jobId/job-1/taskId/1"
+ }
+ },
+ {
+ "id": 2,
+ "startTime": "2016-09-06T06:59:16.9702844Z",
+ "state": "running",
+ "stateTransitionTime": "2016-09-06T06:59:16.9702844Z",
+ "nodeInfo": {
+ "affinityId": "TVM:tvm-2544493925_2-20160905t051718z",
+ "nodeUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_2-20160905t051718z",
+ "poolId": "mpiPool",
+ "nodeId": "tvm-2544493925_2-20160905t051718z",
+ "taskRootDirectory": "\\workitems\\jobId\\job-1\\taskId\\2",
+ "taskRootDirectoryUrl": "https://account.region.batch.azure.com/pools/poolId/nodes/tvm-2544493925_2-20160905t051718z/files//workitems/jobId/job-1/taskId/2"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskReactivate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskReactivate.json
new file mode 100644
index 000000000000..1b8c8b9165c6
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskReactivate.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "taskId": "taskId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskTerminate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskTerminate.json
new file mode 100644
index 000000000000..1b8c8b9165c6
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskTerminate.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "taskId": "taskId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskUpdate.json b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskUpdate.json
new file mode 100644
index 000000000000..53ad3a232c81
--- /dev/null
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2021-06-01.14.0/examples/TaskUpdate.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "batchUrl": "account.region.batch.azure.com",
+ "api-version": "2021-06-01.14.0",
+ "jobId": "jobId",
+ "taskId": "taskId",
+ "client-request-id": "00000000-0000-0000-0000-000000000000",
+ "ocp-date": "Fri, 17 Feb 2017 00:00:00 GMT",
+ "taskUpdateParameter": {
+ "constraints": {
+ "maxWallClockTime": "PT1H",
+ "maxTaskRetryCount": 3,
+ "retentionTime": "PT1H"
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/batch/data-plane/readme.go.md b/specification/batch/data-plane/readme.go.md
index 280a31def094..602bbad8b012 100644
--- a/specification/batch/data-plane/readme.go.md
+++ b/specification/batch/data-plane/readme.go.md
@@ -21,6 +21,16 @@ batch:
- tag: package-2019-08.10.0
- tag: package-2020-03.11.0
- tag: package-2020-09.12.0
+ - tag: package-2021-06.14.0
+```
+
+### Tag: package-2021-06.14.0 and go
+
+These settings apply only when `--tag=package-2021-06.14.0 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2021-06.14.0' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/2021-06-01.14.0/$(namespace)
```
### Tag: package-2020-09.12.0 and go
diff --git a/specification/batch/data-plane/readme.md b/specification/batch/data-plane/readme.md
index e5301ce18278..daed39ac7aac 100644
--- a/specification/batch/data-plane/readme.md
+++ b/specification/batch/data-plane/readme.md
@@ -25,8 +25,18 @@ To see additional help and options, run:
These are the global settings for the Batch API.
``` yaml
+title: BatchServiceClient
openapi-type: data-plane
-tag: package-2020-09.12.0
+tag: package-2021-06.14.0
+```
+
+### Tag: package-2021-06.14.0
+
+These settings apply only when `--tag=package-2021-06.14.0` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-06.14.0'
+input-file:
+- Microsoft.Batch/stable/2021-06-01.14.0/BatchService.json
```
### Tag: package-2020-09.12.0
@@ -116,120 +126,137 @@ Note that this setting should be removed once [this GitHub bug](https://github.c
``` yaml
directive:
+ - suppress: R1001
+ where:
+ - $.paths["/jobschedules/{jobScheduleId}/jobs"].get.operationId
+ reason: Breaking change.
+
+ - suppress: R1003
+ where:
+ - $.paths["/jobs/{jobId}/addtaskcollection"].post.operationId
+ reason: Breaking change.
+
+ - suppress: R1006
+ where:
+ - $.paths["/jobs/{jobId}"].put.operationId
+ - $.paths["/jobs/{jobId}/tasks/{taskId}"].put.operationId
+ - $.paths["/jobschedules/{jobScheduleId}"].put.operationId
+ - $.paths["/pools/{poolId}/nodes/{nodeId}/users/{userName}"].put.operationId
+ reason: Breaking change.
+
+ - suppress: R1007
+ where:
+ - $.paths["/jobs/{jobId}"].patch.operationId
+ - $.paths["/jobschedules/{jobScheduleId}"].patch.operationId
+ - $.paths["/pools/{poolId}"].patch.operationId
+ reason: Breaking change.
+
+ - suppress: R2001
+ where:
+ - $.definitions.NodeFile.properties.properties
+ reason: Breaking change.
+
+ - suppress: R2004
+ where:
+ - $.paths["/jobs/{jobId}/tasks/{taskId}/files/{filePath}"].get.produces[1]
+ - $.paths["/pools/{poolId}/nodes/{nodeId}/files/{filePath}"].get.produces[1]
+ - $.paths["/pools/{poolId}/nodes/{nodeId}/rdp"].get.produces[1]
+ reason: This is not an ARM API.
+
+ - suppress: R2007
+ where:
+ - $.paths["/jobschedules/{jobScheduleId}"].delete
+ - $.paths["/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})"].delete
+ - $.paths["/jobschedules/{jobScheduleId}/terminate"].post
+ - $.paths["/jobs/{jobId}"].delete
+ - $.paths["/jobs/{jobId}/disable"].post
+ - $.paths["/jobs/{jobId}/enable"].post
+ - $.paths["/jobs/{jobId}/terminate"].post
+ - $.paths["/pools/{poolId}"].delete
+ - $.paths["/pools/{poolId}/resize"].post
+ - $.paths["/pools/{poolId}/stopresize"].post
+ - $.paths["/pools/{poolId}/removenodes"].post
+ - $.paths["/pools/{poolId}/nodes/{nodeId}/reboot"].post
+ - $.paths["/pools/{poolId}/nodes/{nodeId}/reimage"].post
+ reason: Service does not return 200, nor supply location header.
+
+ - suppress: R2017
+ where:
+ - $.paths["/jobschedules/{jobScheduleId}"].put
+ - $.paths["/jobs/{jobId}"].put
+ - $.paths["/jobs/{jobId}/tasks/{taskId}"].put
+ - $.paths["/pools/{poolId}/nodes/{nodeId}/users/{userName}"].put
+ reason: Matching service response.
+
+ - suppress: R2029
+ where:
+ - $.paths["/applications/{applicationId}"].get
+ - $.paths["/jobs/{jobId}/tasks/{taskId}/subtasksinfo"].get
+ reason: Not pageable.
+
+ - suppress: R2054
+ reason: The security definition already matches the required structure exactly.
+
+ # Note that this setting should be removed once [this GitHub bug](https://github.com/Azure/azure-openapi-validator/issues/68) is fixed.
- suppress: R2063
- from: BatchService.json
reason: Bug in linter
-```
-
-Note that this setting should be removed once [this GitHub bug](https://github.com/Azure/azure-openapi-validator/issues/69) is fixed.
-``` yaml
-directive:
+ # Note that this setting should be removed once [this GitHub bug](https://github.com/Azure/azure-openapi-validator/issues/69) is fixed.
- suppress: R2064
- from: BatchService.json
reason: This is a data plane swagger specification, LRO's do not apply
-```
-``` yaml
-directive:
+ - suppress: R2066
+ where:
+ - $.paths["/certificates"].post.operationId
+ - $.paths["/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})"].post.operationId
+ - $.paths["/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})/canceldelete"].post.operationId
+ - $.paths["/jobs"].post.operationId
+ - $.paths["/jobschedules"].post.operationId
+ - $.paths["/jobs/{jobId}/tasks"].post.operationId
+ - $.paths["/jobs/{jobId}/addtaskcollection"].post.operationId
+ - $.paths["/pools"].post.operationId
+ - $.paths["/pools/{poolId}/nodes/{nodeId}/users"].post.operationId
+ reason: This is fine as long as the OperationIds are all unique (as they presently are), and fixing it would likely involve a breaking change.
+
- suppress: R3016
- from: BatchService.json
where: $..["odata.nextLink"]
reason: The casing of this property is not incorrect.
-```
-``` yaml
-directive:
- suppress: R3016
- from: BatchService.json
- where: $..["publicFQDN"]
+ where:
+ - $..["publicFQDN"]
+ - $.definitions.ImageInformation.properties.nodeAgentSKUId
+ - $.definitions.JobStatistics.properties.kernelCPUTime
+ - $.definitions.JobStatistics.properties.userCPUTime
+ - $.definitions.JobScheduleStatistics.properties.kernelCPUTime
+ - $.definitions.JobScheduleStatistics.properties.userCPUTime
+ - $.definitions.PoolEndpointConfiguration.properties.inboundNATPools
+ - $.definitions.ResourceStatistics.properties.avgCPUPercentage
+ - $.definitions.TaskStatistics.properties.userCPUTime
+ - $.definitions.TaskStatistics.properties.kernelCPUTime
+ - $.definitions.VirtualMachineConfiguration.properties.nodeAgentSKUId
reason: The suggested casing of this property is worse than the casing that we're using
-```
-``` yaml
-directive:
- - suppress: R3016
- from: BatchService.json
- where: $.definitions.JobScheduleStatistics.properties.kernelCPUTime
- reason: The suggested casing of this property is worse than the casing that we're using
-```
+ - suppress: R3018
+ reason: This would be a big breaking change, and there are too many existing instances (over 100) to enumerate here.
-``` yaml
-directive:
- - suppress: R3016
- from: BatchService.json
- where: $.definitions.TaskStatistics.properties.userCPUTime
- reason: The suggested casing of this property is worse than the casing that we're using
-```
+ - suppress: R3023
+ reason: This is not an ARM API.
-``` yaml
-directive:
- - suppress: R3016
- from: BatchService.json
- where: $.definitions.TaskStatistics.properties.kernelCPUTime
- reason: The suggested casing of this property is worse than the casing that we're using
-```
+ - suppress: R4007
+ reason: We essentially are following the error schema, and this would be a big breaking change.
-``` yaml
-directive:
- - suppress: R3016
- from: BatchService.json
- where: $.definitions.JobScheduleStatistics.properties.userCPUTime
- reason: The suggested casing of this property is worse than the casing that we're using
-```
-
-``` yaml
-directive:
- - suppress: R3016
- from: BatchService.json
- where: $.definitions.JobStatistics.properties.kernelCPUTime
- reason: The suggested casing of this property is worse than the casing that we're using
-```
-
-``` yaml
-directive:
- - suppress: R3016
- from: BatchService.json
- where: $.definitions.JobStatistics.properties.userCPUTime
- reason: The suggested casing of this property is worse than the casing that we're using
-```
-
-``` yaml
-directive:
- - suppress: R3016
- from: BatchService.json
- where: $.definitions.ResourceStatistics.properties.avgCPUPercentage
- reason: The suggested casing of this property is worse than the casing that we're using
-```
-
-``` yaml
-directive:
- - suppress: R3016
- from: BatchService.json
- where: $.definitions.PoolEndpointConfiguration.properties.inboundNATPools
- reason: The suggested casing of this property is worse than the casing that we're using
-```
-
-``` yaml
-directive:
- - suppress: R3016
- from: BatchService.json
- where: $.definitions.VirtualMachineConfiguration.properties.nodeAgentSKUId
- reason: The suggested casing of this property is worse than the casing that we're using
-```
-
-``` yaml
- - suppress: DefinitionsPropertiesNamesCamelCase
- where: $.definitions.ImageInformation.properties.nodeAgentSKUId
- from: BatchService.json
- reason: Changing the casing of this property would be a breaking change
-```
-
-``` yaml
- - suppress: AvoidNestedProperties
- where: $.definitions.NodeFile.properties.properties
- from: BatchService.json
- reason: Switching to x-ms-client-flatten would be a breaking change to the SDKs
+ - suppress: R4011
+ where:
+ - $.paths["/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})"].delete.responses
+ - $.paths["/jobs/{jobId}/tasks/{taskId}/files/{filePath}"].delete.responses
+ - $.paths["/pools/{poolId}/nodes/{nodeId}/files/{filePath}"].delete.responses
+ - $.paths["/jobschedules/{jobScheduleId}"].delete.responses
+ - $.paths["/jobs/{jobId}"].delete.responses
+ - $.paths["/pools/{poolId}"].delete.responses
+ - $.paths["/jobs/{jobId}/tasks/{taskId}"].delete.responses
+ - $.paths["/pools/{poolId}/nodes/{nodeId}/users/{userName}"].delete.responses
+ reason: These delete operations have the required responses. Looks like a bug with the validator.
```
### Tag: package-2017-05.5.0
@@ -279,7 +306,7 @@ input-file:
---
-# Code Generation
+## Code Generation
## Swagger to SDK
@@ -293,7 +320,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-node
```
-## C#
+## C\#
These settings apply only when `--csharp` is specified on the command line.
Please also specify `--csharp-sdks-folder=`.
@@ -345,32 +372,29 @@ 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 `--node-sdks-folder=`.
+Please also specify `--java-sdks-folder=`.
-``` yaml $(java)
-nodejs:
+``` yaml $(java) && $(openapi-type) == 'management-plane'
+java:
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
- namespace: com.microsoft.azure.batch.protocol
- output-folder: $(node-sdks-folder)/src/main/java
+ namespace: com.microsoft.azure.batch
+ output-folder: $(java-sdks-folder)/sdk/batch/azure-resourcemanager-batch
payload-flattening-threshold: 1
generate-license-txt: true
clear-output-folder: true
```
-## Java
-
These settings apply only when `--java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
+Please also specify `--java-sdks-folder=`.
-``` yaml $(java)
+``` yaml $(java) && $(openapi-type) == 'data-plane'
java:
azure-arm: true
- fluent: true
- namespace: com.microsoft.azure.batch
+ namespace: com.microsoft.azure.batch.protocol
license-header: MICROSOFT_MIT_NO_CODEGEN
payload-flattening-threshold: 1
- output-folder: $(azure-libraries-for-java-folder)/azure-batch
+ output-folder: $(java-sdks-folder)/sdk/batch/microsoft-azure-batch
```
## Multi-API/Profile support for AutoRest v3 generators
@@ -379,7 +403,7 @@ AutoRest V3 generators require the use of `--tag=all-api-versions` to select api
This block is updated by an automatic script. Edits may be lost!
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+``` yaml $(tag) == 'all-api-versions' /*autogenerated*/
# include the azure profile definitions from the standard location
require: $(this-folder)/../../../profiles/readme.md
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/BatchManagement.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/BatchManagement.json
new file mode 100644
index 000000000000..38fb4c0ed701
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/BatchManagement.json
@@ -0,0 +1,5879 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "BatchManagementClient",
+ "description": "The Batch Management Client.",
+ "version": "2021-06-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}": {
+ "put": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_Create",
+ "x-ms-examples": {
+ "BatchAccountCreate_Default": {
+ "$ref": "./examples/BatchAccountCreate_Default.json"
+ },
+ "BatchAccountCreate_BYOS": {
+ "$ref": "./examples/BatchAccountCreate_BYOS.json"
+ },
+ "PrivateBatchAccountCreate": {
+ "$ref": "./examples/PrivateBatchAccountCreate.json"
+ },
+ "BatchAccountCreate_SystemAssignedIdentity": {
+ "$ref": "./examples/BatchAccountCreate_SystemAssignedIdentity.json"
+ },
+ "BatchAccountCreate_UserAssignedIdentity": {
+ "$ref": "./examples/BatchAccountCreate_UserAssignedIdentity.json"
+ }
+ },
+ "description": "Creates a new Batch account with the specified parameters. Existing accounts cannot be updated with this API and should instead be updated with the Update Batch Account API.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z0-9]+$",
+ "minLength": 3,
+ "maxLength": 24,
+ "description": "A name for the Batch account which must be unique within the region. Batch account names must be between 3 and 24 characters in length and must use only numbers and lowercase letters. This name is used as part of the DNS name that is used to access the Batch service in the region in which the account is created. For example: http://accountname.region.batch.azure.com/."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BatchAccountCreateParameters"
+ },
+ "description": "Additional parameters for account creation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the Batch account entity.",
+ "schema": {
+ "$ref": "#/definitions/BatchAccount"
+ }
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that specifies the delay in seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "patch": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_Update",
+ "x-ms-examples": {
+ "BatchAccountUpdate": {
+ "$ref": "./examples/BatchAccountUpdate.json"
+ }
+ },
+ "description": "Updates the properties of an existing Batch account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BatchAccountUpdateParameters"
+ },
+ "description": "Additional parameters for account update."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the Batch account entity.",
+ "schema": {
+ "$ref": "#/definitions/BatchAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_Delete",
+ "x-ms-examples": {
+ "BatchAccountDelete": {
+ "$ref": "./examples/BatchAccountDelete.json"
+ }
+ },
+ "description": "Deletes the specified Batch account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful."
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that specifies the delay in seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent -- account does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_Get",
+ "x-ms-examples": {
+ "BatchAccountGet": {
+ "$ref": "./examples/BatchAccountGet.json"
+ },
+ "PrivateBatchAccountGet": {
+ "$ref": "./examples/PrivateBatchAccountGet.json"
+ }
+ },
+ "description": "Gets information about the specified Batch account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the Batch account entity.",
+ "schema": {
+ "$ref": "#/definitions/BatchAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/batchAccounts": {
+ "get": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_List",
+ "x-ms-examples": {
+ "BatchAccountList": {
+ "$ref": "./examples/BatchAccountList.json"
+ }
+ },
+ "description": "Gets information about the Batch accounts associated with the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains a list of Batch account entities associated with the subscription.",
+ "schema": {
+ "$ref": "#/definitions/BatchAccountListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts": {
+ "get": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_ListByResourceGroup",
+ "x-ms-examples": {
+ "BatchAccountListByResourceGroup": {
+ "$ref": "./examples/BatchAccountListByResourceGroup.json"
+ }
+ },
+ "description": "Gets information about the Batch accounts associated with the specified resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains a list of Batch account entities associated with the resource group.",
+ "schema": {
+ "$ref": "#/definitions/BatchAccountListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/syncAutoStorageKeys": {
+ "post": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_SynchronizeAutoStorageKeys",
+ "x-ms-examples": {
+ "BatchAccountSynchronizeAutoStorageKeys": {
+ "$ref": "./examples/BatchAccountSynchronizeAutoStorageKeys.json"
+ }
+ },
+ "description": "Synchronizes access keys for the auto-storage account configured for the specified Batch account, only if storage key authentication is being used.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The operation was successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/regenerateKeys": {
+ "post": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_RegenerateKey",
+ "x-ms-examples": {
+ "BatchAccountRegenerateKey": {
+ "$ref": "./examples/BatchAccountRegenerateKey.json"
+ }
+ },
+ "summary": "Regenerates the specified account key for the Batch account.",
+ "description": "This operation applies only to Batch accounts with allowedAuthenticationModes containing 'SharedKey'. If the Batch account doesn't contain 'SharedKey' in its allowedAuthenticationMode, clients cannot use shared keys to authenticate, and must use another allowedAuthenticationModes instead. In this case, regenerating the keys will fail.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BatchAccountRegenerateKeyParameters"
+ },
+ "description": "The type of key to regenerate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the Batch account keys.",
+ "schema": {
+ "$ref": "#/definitions/BatchAccountKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/listKeys": {
+ "post": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_GetKeys",
+ "x-ms-examples": {
+ "BatchAccountGetKeys": {
+ "$ref": "./examples/BatchAccountGetKeys.json"
+ }
+ },
+ "summary": "Gets the account keys for the specified Batch account.",
+ "description": "This operation applies only to Batch accounts with allowedAuthenticationModes containing 'SharedKey'. If the Batch account doesn't contain 'SharedKey' in its allowedAuthenticationMode, clients cannot use shared keys to authenticate, and must use another allowedAuthenticationModes instead. In this case, getting the keys will fail.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the keys of the Batch account.",
+ "schema": {
+ "$ref": "#/definitions/BatchAccountKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}/activate": {
+ "post": {
+ "tags": [
+ "ApplicationPackage"
+ ],
+ "operationId": "ApplicationPackage_Activate",
+ "x-ms-examples": {
+ "ApplicationPackageActivate": {
+ "$ref": "./examples/ApplicationPackageActivate.json"
+ }
+ },
+ "description": "Activates the specified application package. This should be done after the `ApplicationPackage` was created and uploaded. This needs to be done before an `ApplicationPackage` can be used on Pools or Tasks.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VersionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ActivateApplicationPackageParameters"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the application package entity.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationPackage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}": {
+ "put": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Application_Create",
+ "x-ms-examples": {
+ "ApplicationCreate": {
+ "$ref": "./examples/ApplicationCreate.json"
+ }
+ },
+ "description": "Adds an application to the specified Batch account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/Application"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the application entity.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Application_Delete",
+ "x-ms-examples": {
+ "ApplicationDelete": {
+ "$ref": "./examples/ApplicationDelete.json"
+ }
+ },
+ "description": "Deletes an application.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful."
+ },
+ "204": {
+ "description": "The operation was successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Application_Get",
+ "x-ms-examples": {
+ "ApplicationGet": {
+ "$ref": "./examples/ApplicationGet.json"
+ }
+ },
+ "description": "Gets information about the specified application.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the application entity.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Application_Update",
+ "x-ms-examples": {
+ "ApplicationUpdate": {
+ "$ref": "./examples/ApplicationUpdate.json"
+ }
+ },
+ "description": "Updates settings for the specified application.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Application"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the application entity.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}": {
+ "put": {
+ "tags": [
+ "ApplicationPackage"
+ ],
+ "operationId": "ApplicationPackage_Create",
+ "x-ms-examples": {
+ "ApplicationPackageCreate": {
+ "$ref": "./examples/ApplicationPackageCreate.json"
+ }
+ },
+ "description": "Creates an application package record. The record contains a storageUrl where the package should be uploaded to. Once it is uploaded the `ApplicationPackage` needs to be activated using `ApplicationPackageActive` before it can be used. If the auto storage account was configured to use storage keys, the URL returned will contain a SAS.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VersionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ApplicationPackage"
+ },
+ "description": "The parameters for the request."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the application package entity.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationPackage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApplicationPackage"
+ ],
+ "operationId": "ApplicationPackage_Delete",
+ "x-ms-examples": {
+ "ApplicationPackageDelete": {
+ "$ref": "./examples/ApplicationPackageDelete.json"
+ }
+ },
+ "description": "Deletes an application package record and its associated binary file.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VersionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful."
+ },
+ "204": {
+ "description": "The operation was successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApplicationPackage"
+ ],
+ "operationId": "ApplicationPackage_Get",
+ "x-ms-examples": {
+ "ApplicationPackageGet": {
+ "$ref": "./examples/ApplicationPackageGet.json"
+ }
+ },
+ "description": "Gets information about the specified application package.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VersionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the application package entity.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationPackage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications": {
+ "get": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Application_List",
+ "x-ms-examples": {
+ "ApplicationList": {
+ "$ref": "./examples/ApplicationList.json"
+ }
+ },
+ "description": "Lists all of the applications in the specified account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains a list of the application entities associated with the specified account.",
+ "schema": {
+ "$ref": "#/definitions/ListApplicationsResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions": {
+ "get": {
+ "tags": [
+ "ApplicationPackage"
+ ],
+ "operationId": "ApplicationPackage_List",
+ "x-ms-examples": {
+ "ApplicationPackageList": {
+ "$ref": "./examples/ApplicationPackageList.json"
+ }
+ },
+ "description": "Lists all of the application packages in the specified application.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains a list of the application package entities associated with the specified application.",
+ "schema": {
+ "$ref": "#/definitions/ListApplicationPackagesResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/quotas": {
+ "get": {
+ "tags": [
+ "Location"
+ ],
+ "operationId": "Location_GetQuotas",
+ "x-ms-examples": {
+ "LocationGetQuotas": {
+ "$ref": "./examples/LocationGetQuotas.json"
+ }
+ },
+ "description": "Gets the Batch service quotas for the specified subscription at the given location.",
+ "parameters": [
+ {
+ "name": "locationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The region for which to retrieve Batch service quotas."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the Batch service quotas for the subscription in the specified location.",
+ "schema": {
+ "$ref": "#/definitions/BatchLocationQuota"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/virtualMachineSkus": {
+ "get": {
+ "tags": [
+ "Location"
+ ],
+ "operationId": "Location_ListSupportedVirtualMachineSkus",
+ "x-ms-examples": {
+ "LocationListVirtualMachineSkus": {
+ "$ref": "./examples/LocationListVirtualMachineSkus.json"
+ }
+ },
+ "description": "Gets the list of Batch supported Virtual Machine VM sizes available at the given location.",
+ "parameters": [
+ {
+ "name": "locationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The region for which to retrieve Batch service supported SKUs."
+ },
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are \"familyName\"."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the Batch service supported virtual machine vm sizes for the subscription in the specified location.",
+ "schema": {
+ "$ref": "#/definitions/SupportedSkusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/cloudServiceSkus": {
+ "get": {
+ "tags": [
+ "Location"
+ ],
+ "operationId": "Location_ListSupportedCloudServiceSkus",
+ "x-ms-examples": {
+ "LocationListCloudServiceSkus": {
+ "$ref": "./examples/LocationListCloudServiceSkus.json"
+ }
+ },
+ "description": "Gets the list of Batch supported Cloud Service VM sizes available at the given location.",
+ "parameters": [
+ {
+ "name": "locationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The region for which to retrieve Batch service supported SKUs."
+ },
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are \"familyName\"."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the Batch service supported Cloud Service VM sizes for the subscription in the specified location.",
+ "schema": {
+ "$ref": "#/definitions/SupportedSkusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Batch/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists available operations for the Microsoft.Batch provider",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the list of available operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/checkNameAvailability": {
+ "post": {
+ "operationId": "Location_CheckNameAvailability",
+ "description": "Checks whether the Batch account name is available in the specified region.",
+ "x-ms-examples": {
+ "LocationCheckNameAvailability_Available": {
+ "$ref": "./examples/LocationCheckNameAvailability_Available.json"
+ },
+ "LocationCheckNameAvailability_AlreadyExists": {
+ "$ref": "./examples/LocationCheckNameAvailability_AlreadyExists.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "locationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The desired region for the name check."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityParameters"
+ },
+ "description": "Properties needed to check the availability of a name."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. Returns details about whether a Batch account name is available.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates": {
+ "get": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_ListByBatchAccount",
+ "description": "Lists all of the certificates in the specified account.",
+ "x-ms-examples": {
+ "ListCertificates": {
+ "$ref": "./examples/CertificateList.json"
+ },
+ "ListCertificates - Filter and Select": {
+ "$ref": "./examples/CertificateListWithFilter.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Comma separated list of properties that should be returned. e.g. \"properties/provisioningState\". Only top level properties under properties/ are valid for selection."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are \"properties/provisioningState\", \"properties/provisioningStateTransitionTime\", \"name\"."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains a list of certificates associated with the account.",
+ "schema": {
+ "$ref": "#/definitions/ListCertificatesResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}": {
+ "put": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_Create",
+ "description": "Creates a new certificate inside the specified account.",
+ "x-ms-examples": {
+ "CreateCertificate - Minimal Pfx": {
+ "$ref": "./examples/CertificateCreate_Minimal.json"
+ },
+ "CreateCertificate - Minimal Cer": {
+ "$ref": "./examples/CertificateCreate_MinimalCer.json"
+ },
+ "CreateCertificate - Full": {
+ "$ref": "./examples/CertificateCreate_Full.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CertificateNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateCreateOrUpdateParameters"
+ },
+ "description": "Additional parameters for certificate creation."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "The entity state (ETag) version of the certificate to update. A value of \"*\" can be used to apply the operation only if the certificate already exists. If omitted, this operation will always be applied."
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "Set to '*' to allow a new certificate to be created, but to prevent updating an existing certificate. Other values will be ignored."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the certificate entity.",
+ "schema": {
+ "$ref": "#/definitions/Certificate"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_Update",
+ "description": "Updates the properties of an existing certificate.",
+ "x-ms-examples": {
+ "UpdateCertificate": {
+ "$ref": "./examples/CertificateUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CertificateNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateCreateOrUpdateParameters"
+ },
+ "description": "Certificate entity to update."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "The entity state (ETag) version of the certificate to update. This value can be omitted or set to \"*\" to apply the operation unconditionally."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the certificate entity.",
+ "schema": {
+ "$ref": "#/definitions/Certificate"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_Delete",
+ "description": "Deletes the specified certificate.",
+ "x-ms-examples": {
+ "CertificateDelete": {
+ "$ref": "./examples/CertificateDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CertificateNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful."
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "204": {
+ "description": "The operation was successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_Get",
+ "description": "Gets information about the specified certificate.",
+ "x-ms-examples": {
+ "Get Certificate": {
+ "$ref": "./examples/CertificateGet.json"
+ },
+ "Get Certificate with Deletion Error": {
+ "$ref": "./examples/CertificateGetWithDeletionError.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CertificateNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the certificate entity.",
+ "schema": {
+ "$ref": "#/definitions/Certificate"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}/cancelDelete": {
+ "post": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_CancelDeletion",
+ "summary": "Cancels a failed deletion of a certificate from the specified account.",
+ "description": "If you try to delete a certificate that is being used by a pool or compute node, the status of the certificate changes to deleteFailed. If you decide that you want to continue using the certificate, you can use this operation to set the status of the certificate back to active. If you intend to delete the certificate, you do not need to run this operation after the deletion failed. You must make sure that the certificate is not being used by any resources, and then you can try again to delete the certificate.",
+ "x-ms-examples": {
+ "CertificateCancelDeletion": {
+ "$ref": "./examples/CertificateCancelDeletion.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CertificateNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the certificate entity.",
+ "schema": {
+ "$ref": "#/definitions/Certificate"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResource"
+ ],
+ "operationId": "PrivateLinkResource_ListByBatchAccount",
+ "description": "Lists all of the private link resources in the specified account.",
+ "x-ms-examples": {
+ "ListPrivateLinkResource": {
+ "$ref": "./examples/PrivateLinkResourcesList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains a list of private link resources associated with the account.",
+ "schema": {
+ "$ref": "#/definitions/ListPrivateLinkResourcesResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateLinkResources/{privateLinkResourceName}": {
+ "get": {
+ "tags": [
+ "PrivateLinkResource"
+ ],
+ "operationId": "PrivateLinkResource_Get",
+ "description": "Gets information about the specified private link resource.",
+ "x-ms-examples": {
+ "GetPrivateLinkResource": {
+ "$ref": "./examples/PrivateLinkResourceGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the private link resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnection"
+ ],
+ "operationId": "PrivateEndpointConnection_ListByBatchAccount",
+ "description": "Lists all of the private endpoint connections in the specified account.",
+ "x-ms-examples": {
+ "ListPrivateEndpointConnections": {
+ "$ref": "./examples/PrivateEndpointConnectionsList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains a list of private link resources associated with the account.",
+ "schema": {
+ "$ref": "#/definitions/ListPrivateEndpointConnectionsResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnection"
+ ],
+ "operationId": "PrivateEndpointConnection_Get",
+ "description": "Gets information about the specified private endpoint connection.",
+ "x-ms-examples": {
+ "GetPrivateEndpointConnection": {
+ "$ref": "./examples/PrivateEndpointConnectionGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the private endpoint connection.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "PrivateEndpointConnection"
+ ],
+ "operationId": "PrivateEndpointConnection_Update",
+ "description": "Updates the properties of an existing private endpoint connection.",
+ "x-ms-examples": {
+ "UpdatePrivateEndpointConnection": {
+ "$ref": "./examples/PrivateEndpointConnectionUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "PrivateEndpointConnection properties that should be updated. Properties that are supplied will be updated, any property not supplied will be unchanged."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "The state (ETag) version of the private endpoint connection to update. This value can be omitted or set to \"*\" to apply the operation unconditionally."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the PrivateEndpointConnection.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "202": {
+ "description": "The operation was accepted and will be performed in the background.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "204": {
+ "description": "The operation was successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools": {
+ "get": {
+ "tags": [
+ "Pool"
+ ],
+ "operationId": "Pool_ListByBatchAccount",
+ "description": "Lists all of the pools in the specified account.",
+ "x-ms-examples": {
+ "ListPool": {
+ "$ref": "./examples/PoolList.json"
+ },
+ "ListPoolWithFilter": {
+ "$ref": "./examples/PoolListWithFilter.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Comma separated list of properties that should be returned. e.g. \"properties/provisioningState\". Only top level properties under properties/ are valid for selection."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are:\n\n name\n properties/allocationState\n properties/allocationStateTransitionTime\n properties/creationTime\n properties/provisioningState\n properties/provisioningStateTransitionTime\n properties/lastModified\n properties/vmSize\n properties/interNodeCommunication\n properties/scaleSettings/autoScale\n properties/scaleSettings/fixedScale"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains a list of certificates associated with the account.",
+ "schema": {
+ "$ref": "#/definitions/ListPoolsResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}": {
+ "put": {
+ "tags": [
+ "Pool"
+ ],
+ "operationId": "Pool_Create",
+ "description": "Creates a new pool inside the specified account.",
+ "x-ms-examples": {
+ "CreatePool - Minimal CloudServiceConfiguration": {
+ "$ref": "./examples/PoolCreate_MinimalCloudServiceConfiguration.json"
+ },
+ "CreatePool - Minimal VirtualMachineConfiguration": {
+ "$ref": "./examples/PoolCreate_MinimalVirtualMachineConfiguration.json"
+ },
+ "CreatePool - Full CloudServiceConfiguration": {
+ "$ref": "./examples/PoolCreate_CloudServiceConfiguration.json"
+ },
+ "CreatePool - Custom Image": {
+ "$ref": "./examples/PoolCreate_SharedImageGallery.json"
+ },
+ "CreatePool - Public IPs": {
+ "$ref": "./examples/PoolCreate_PublicIPs.json"
+ },
+ "CreatePool - Full VirtualMachineConfiguration": {
+ "$ref": "./examples/PoolCreate_VirtualMachineConfiguration.json"
+ },
+ "CreatePool - No public IP": {
+ "$ref": "./examples/PoolCreate_NoPublicIPAddresses.json"
+ },
+ "CreatePool - UserAssignedIdentities": {
+ "$ref": "./examples/PoolCreate_UserAssignedIdentities.json"
+ },
+ "CreatePool - VirtualMachineConfiguration Extensions": {
+ "$ref": "./examples/PoolCreate_VirtualMachineConfiguration_Extensions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PoolNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Pool"
+ },
+ "description": "Additional parameters for pool creation."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "The entity state (ETag) version of the pool to update. A value of \"*\" can be used to apply the operation only if the pool already exists. If omitted, this operation will always be applied."
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "Set to '*' to allow a new pool to be created, but to prevent updating an existing pool. Other values will be ignored."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the pool entity.",
+ "schema": {
+ "$ref": "#/definitions/Pool"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Pool"
+ ],
+ "operationId": "Pool_Update",
+ "description": "Updates the properties of an existing pool.",
+ "x-ms-examples": {
+ "UpdatePool - Resize Pool": {
+ "$ref": "./examples/PoolUpdate_ResizePool.json"
+ },
+ "UpdatePool - Enable Autoscale": {
+ "$ref": "./examples/PoolUpdate_EnableAutoScale.json"
+ },
+ "UpdatePool - Remove Start Task": {
+ "$ref": "./examples/PoolUpdate_RemoveStartTask.json"
+ },
+ "UpdatePool - Other Properties": {
+ "$ref": "./examples/PoolUpdate_OtherProperties.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PoolNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Pool"
+ },
+ "description": "Pool properties that should be updated. Properties that are supplied will be updated, any property not supplied will be unchanged."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "The entity state (ETag) version of the pool to update. This value can be omitted or set to \"*\" to apply the operation unconditionally."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the pool entity.",
+ "schema": {
+ "$ref": "#/definitions/Pool"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Pool"
+ ],
+ "operationId": "Pool_Delete",
+ "description": "Deletes the specified pool.",
+ "x-ms-examples": {
+ "DeletePool": {
+ "$ref": "./examples/PoolDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful."
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "204": {
+ "description": "The operation was successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "Pool"
+ ],
+ "operationId": "Pool_Get",
+ "description": "Gets information about the specified pool.",
+ "x-ms-examples": {
+ "GetPool": {
+ "$ref": "./examples/PoolGet.json"
+ },
+ "GetPool - VirtualMachineConfiguration Extensions": {
+ "$ref": "./examples/PoolGet_VirtualMachineConfiguration_Extensions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the pool entity.",
+ "schema": {
+ "$ref": "#/definitions/Pool"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/disableAutoScale": {
+ "post": {
+ "tags": [
+ "Pool"
+ ],
+ "operationId": "Pool_DisableAutoScale",
+ "description": "Disables automatic scaling for a pool.",
+ "x-ms-examples": {
+ "Disable AutoScale": {
+ "$ref": "./examples/PoolDisableAutoScale.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the pool entity.",
+ "schema": {
+ "$ref": "#/definitions/Pool"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/stopResize": {
+ "post": {
+ "tags": [
+ "Pool"
+ ],
+ "operationId": "Pool_StopResize",
+ "summary": "Stops an ongoing resize operation on the pool.",
+ "description": "This does not restore the pool to its previous state before the resize operation: it only stops any further changes being made, and the pool maintains its current state. After stopping, the pool stabilizes at the number of nodes it was at when the stop operation was done. During the stop operation, the pool allocation state changes first to stopping and then to steady. A resize operation need not be an explicit resize pool request; this API can also be used to halt the initial sizing of the pool when it is created.",
+ "x-ms-examples": {
+ "StopPoolResize": {
+ "$ref": "./examples/PoolStopResize.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the pool entity.",
+ "schema": {
+ "$ref": "#/definitions/Pool"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/outboundNetworkDependenciesEndpoints": {
+ "get": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_ListOutboundNetworkDependenciesEndpoints",
+ "description": "Lists the endpoints that a Batch Compute Node under this Batch Account may call as part of Batch service administration. If you are deploying a Pool inside of a virtual network that you specify, you must make sure your network allows outbound access to these endpoints. Failure to allow access to these endpoints may cause Batch to mark the affected nodes as unusable. For more information about creating a pool inside of a virtual network, see https://docs.microsoft.com/en-us/azure/batch/batch-virtual-network.",
+ "x-ms-examples": {
+ "ListOutboundNetworkDependencies": {
+ "$ref": "./examples/BatchAccountListOutboundNetworkDependenciesEndpoints.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains a list of outbound network dependencies.",
+ "schema": {
+ "$ref": "#/definitions/OutboundEnvironmentEndpointCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AutoStorageBaseProperties": {
+ "type": "object",
+ "properties": {
+ "storageAccountId": {
+ "type": "string",
+ "description": "The resource ID of the storage account to be used for auto-storage account."
+ },
+ "authenticationMode": {
+ "type": "string",
+ "description": "The authentication mode which the Batch service will use to manage the auto-storage account.",
+ "default": "StorageKeys",
+ "enum": [
+ "StorageKeys",
+ "BatchAccountManagedIdentity"
+ ],
+ "x-ms-enum": {
+ "name": "AutoStorageAuthenticationMode",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "StorageKeys",
+ "description": "The Batch service will authenticate requests to auto-storage using storage account keys."
+ },
+ {
+ "value": "BatchAccountManagedIdentity",
+ "description": "The Batch service will authenticate requests to auto-storage using the managed identity assigned to the Batch account."
+ }
+ ]
+ }
+ },
+ "nodeIdentityReference": {
+ "title": "The reference to the user assigned identity which compute nodes will use to access auto-storage.",
+ "description": "The identity referenced here must be assigned to pools which have compute nodes that need access to auto-storage.",
+ "$ref": "#/definitions/ComputeNodeIdentityReference"
+ }
+ },
+ "required": [
+ "storageAccountId"
+ ],
+ "description": "The properties related to the auto-storage account."
+ },
+ "BatchAccountUpdateProperties": {
+ "type": "object",
+ "properties": {
+ "autoStorage": {
+ "$ref": "#/definitions/AutoStorageBaseProperties",
+ "description": "The properties related to the auto-storage account."
+ },
+ "encryption": {
+ "title": "The encryption configuration for the Batch account.",
+ "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead.",
+ "$ref": "#/definitions/EncryptionProperties"
+ },
+ "allowedAuthenticationModes": {
+ "x-nullable": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AuthenticationMode"
+ },
+ "description": "List of allowed authentication modes for the Batch account that can be used to authenticate with the data plane. This does not affect authentication with the control plane."
+ }
+ },
+ "description": "The properties of a Batch account."
+ },
+ "BatchAccountCreateProperties": {
+ "type": "object",
+ "properties": {
+ "autoStorage": {
+ "$ref": "#/definitions/AutoStorageBaseProperties",
+ "description": "The properties related to the auto-storage account."
+ },
+ "poolAllocationMode": {
+ "title": "The allocation mode to use for creating pools in the Batch account.",
+ "description": "The pool allocation mode also affects how clients may authenticate to the Batch Service API. If the mode is BatchService, clients may authenticate using access keys or Azure Active Directory. If the mode is UserSubscription, clients must use Azure Active Directory. The default is BatchService.",
+ "$ref": "#/definitions/PoolAllocationMode"
+ },
+ "keyVaultReference": {
+ "$ref": "#/definitions/KeyVaultReference",
+ "description": "A reference to the Azure key vault associated with the Batch account."
+ },
+ "publicNetworkAccess": {
+ "title": "The network access type for accessing Azure Batch account.",
+ "description": "If not specified, the default value is 'enabled'.",
+ "$ref": "#/definitions/PublicNetworkAccessType"
+ },
+ "encryption": {
+ "title": "The encryption configuration for the Batch account.",
+ "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead.",
+ "$ref": "#/definitions/EncryptionProperties"
+ },
+ "allowedAuthenticationModes": {
+ "x-nullable": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AuthenticationMode"
+ },
+ "description": "List of allowed authentication modes for the Batch account that can be used to authenticate with the data plane. This does not affect authentication with the control plane."
+ }
+ },
+ "description": "The properties of a Batch account."
+ },
+ "AuthenticationMode": {
+ "type": "string",
+ "description": "The authentication mode for the Batch account.",
+ "enum": [
+ "SharedKey",
+ "AAD",
+ "TaskAuthenticationToken"
+ ],
+ "x-ms-enum": {
+ "name": "AuthenticationMode",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "SharedKey",
+ "description": "The authentication mode using shared keys."
+ },
+ {
+ "value": "AAD",
+ "description": "The authentication mode using Azure Active Directory."
+ },
+ {
+ "value": "TaskAuthenticationToken",
+ "description": "The authentication mode using task authentication tokens."
+ }
+ ]
+ }
+ },
+ "BatchAccountCreateParameters": {
+ "type": "object",
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The region in which to create the account."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The user-specified tags associated with the account."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BatchAccountCreateProperties",
+ "description": "The properties of the Batch account."
+ },
+ "identity": {
+ "$ref": "#/definitions/BatchAccountIdentity",
+ "description": "The identity of the Batch account."
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "description": "Parameters supplied to the Create operation."
+ },
+ "KeyVaultReference": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The resource ID of the Azure key vault associated with the Batch account."
+ },
+ "url": {
+ "type": "string",
+ "description": "The URL of the Azure key vault associated with the Batch account."
+ }
+ },
+ "required": [
+ "id",
+ "url"
+ ],
+ "description": "Identifies the Azure key vault associated with a Batch account."
+ },
+ "AutoStorageProperties": {
+ "type": "object",
+ "properties": {
+ "lastKeySync": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The UTC time at which storage keys were last synchronized with the Batch account."
+ }
+ },
+ "required": [
+ "lastKeySync"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/AutoStorageBaseProperties"
+ }
+ ],
+ "description": "Contains information about the auto-storage account associated with a Batch account."
+ },
+ "VirtualMachineFamilyCoreQuota": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "x-nullable": false,
+ "type": "string",
+ "description": "The Virtual Machine family name."
+ },
+ "coreQuota": {
+ "readOnly": true,
+ "x-nullable": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The core quota for the VM family for the Batch account."
+ }
+ },
+ "description": "A VM Family and its associated core quota for the Batch account."
+ },
+ "BatchAccountIdentity": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the Batch account. This property will only be provided for a system assigned identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id associated with the Batch account. This property will only be provided for a system assigned identity."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the Batch account.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "SystemAssigned",
+ "description": "Batch account has a system assigned identity with it."
+ },
+ {
+ "value": "UserAssigned",
+ "description": "Batch account has user assigned identities with it."
+ },
+ {
+ "value": "None",
+ "description": "Batch account has no identity associated with it. Setting `None` in update account will remove existing identities."
+ }
+ ]
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "description": "The list of user identities associated with the Batch account.",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserAssignedIdentities"
+ }
+ }
+ },
+ "description": "The identity of the Batch account, if configured. This is used when the user specifies 'Microsoft.KeyVault' as their Batch account encryption configuration or when `ManagedIdentity` is selected as the auto-storage authentication mode.",
+ "required": [
+ "type"
+ ]
+ },
+ "BatchAccountProperties": {
+ "type": "object",
+ "properties": {
+ "accountEndpoint": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The account endpoint used to interact with the Batch service."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "description": "The provisioned state of the resource",
+ "enum": [
+ "Invalid",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Cancelled"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "The account is in an invalid state."
+ },
+ {
+ "value": "Creating",
+ "description": "The account is being created."
+ },
+ {
+ "value": "Deleting",
+ "description": "The account is being deleted."
+ },
+ {
+ "value": "Succeeded",
+ "description": "The account has been created and is ready for use."
+ },
+ {
+ "value": "Failed",
+ "description": "The last operation for the account is failed."
+ },
+ {
+ "value": "Cancelled",
+ "description": "The last operation for the account is cancelled."
+ }
+ ]
+ }
+ },
+ "poolAllocationMode": {
+ "readOnly": true,
+ "x-nullable": false,
+ "title": "The allocation mode to use for creating pools in the Batch account.",
+ "$ref": "#/definitions/PoolAllocationMode"
+ },
+ "keyVaultReference": {
+ "title": "A reference to the Azure key vault associated with the Batch account.",
+ "readOnly": true,
+ "$ref": "#/definitions/KeyVaultReference"
+ },
+ "publicNetworkAccess": {
+ "readOnly": true,
+ "x-nullable": true,
+ "title": "The network interface type for accessing Azure Batch service and Batch account operations.",
+ "description": "If not specified, the default value is 'enabled'.",
+ "$ref": "#/definitions/PublicNetworkAccessType"
+ },
+ "privateEndpointConnections": {
+ "readOnly": true,
+ "x-nullable": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "List of private endpoint connections associated with the Batch account"
+ },
+ "autoStorage": {
+ "title": "The properties and status of any auto-storage account associated with the Batch account.",
+ "readOnly": true,
+ "$ref": "#/definitions/AutoStorageProperties"
+ },
+ "encryption": {
+ "title": "The encryption configuration for the Batch account.",
+ "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead.",
+ "readOnly": true,
+ "$ref": "#/definitions/EncryptionProperties"
+ },
+ "dedicatedCoreQuota": {
+ "readOnly": true,
+ "x-nullable": true,
+ "type": "integer",
+ "format": "int32",
+ "title": "The dedicated core quota for the Batch account.",
+ "description": "For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not returned."
+ },
+ "lowPriorityCoreQuota": {
+ "readOnly": true,
+ "x-nullable": true,
+ "type": "integer",
+ "format": "int32",
+ "title": "The low-priority core quota for the Batch account.",
+ "description": "For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not returned."
+ },
+ "dedicatedCoreQuotaPerVMFamily": {
+ "readOnly": true,
+ "x-nullable": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineFamilyCoreQuota"
+ },
+ "description": "A list of the dedicated core quota per Virtual Machine family for the Batch account. For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not returned."
+ },
+ "dedicatedCoreQuotaPerVMFamilyEnforced": {
+ "readOnly": true,
+ "x-nullable": false,
+ "type": "boolean",
+ "title": "A value indicating whether core quotas per Virtual Machine family are enforced for this account",
+ "description": "Batch is transitioning its core quota system for dedicated cores to be enforced per Virtual Machine family. During this transitional phase, the dedicated core quota per Virtual Machine family may not yet be enforced. If this flag is false, dedicated core quota is enforced via the old dedicatedCoreQuota property on the account and does not consider Virtual Machine family. If this flag is true, dedicated core quota is enforced via the dedicatedCoreQuotaPerVMFamily property on the account, and the old dedicatedCoreQuota does not apply."
+ },
+ "poolQuota": {
+ "readOnly": true,
+ "x-nullable": false,
+ "type": "integer",
+ "format": "int32",
+ "title": "The pool quota for the Batch account."
+ },
+ "activeJobAndJobScheduleQuota": {
+ "readOnly": true,
+ "x-nullable": false,
+ "type": "integer",
+ "format": "int32",
+ "title": "The active job and job schedule quota for the Batch account."
+ },
+ "allowedAuthenticationModes": {
+ "readOnly": true,
+ "x-nullable": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AuthenticationMode"
+ },
+ "description": "List of allowed authentication modes for the Batch account that can be used to authenticate with the data plane. This does not affect authentication with the control plane."
+ }
+ },
+ "description": "Account specific properties."
+ },
+ "BatchAccount": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BatchAccountProperties",
+ "description": "The properties associated with the account."
+ },
+ "identity": {
+ "$ref": "#/definitions/BatchAccountIdentity",
+ "description": "The identity of the Batch account."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Contains information about an Azure Batch account."
+ },
+ "BatchAccountUpdateParameters": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The user-specified tags associated with the account."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BatchAccountUpdateProperties",
+ "description": "The properties of the account."
+ },
+ "identity": {
+ "$ref": "#/definitions/BatchAccountIdentity",
+ "description": "The identity of the Batch account."
+ }
+ },
+ "description": "Parameters for updating an Azure Batch account."
+ },
+ "BatchAccountListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BatchAccount"
+ },
+ "description": "The collection of Batch accounts returned by the listing operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token."
+ }
+ },
+ "description": "Values returned by the List operation."
+ },
+ "EncryptionProperties": {
+ "type": "object",
+ "properties": {
+ "keySource": {
+ "type": "string",
+ "description": "Type of the key source.",
+ "enum": [
+ "Microsoft.Batch",
+ "Microsoft.KeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "KeySource",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Microsoft.Batch",
+ "description": "Batch creates and manages the encryption keys used to protect the account data."
+ },
+ {
+ "value": "Microsoft.KeyVault",
+ "description": "The encryption keys used to protect the account data are stored in an external key vault. If this is set then the Batch Account identity must be set to `SystemAssigned` and a valid Key Identifier must also be supplied under the keyVaultProperties."
+ }
+ ]
+ }
+ },
+ "keyVaultProperties": {
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "Additional details when using Microsoft.KeyVault"
+ }
+ },
+ "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead."
+ },
+ "KeyVaultProperties": {
+ "type": "object",
+ "properties": {
+ "keyIdentifier": {
+ "type": "string",
+ "description": "Full path to the versioned secret. Example https://mykeyvault.vault.azure.net/keys/testkey/6e34a81fef704045975661e297a4c053. To be usable the following prerequisites must be met:\n\n The Batch Account has a System Assigned identity\n The account identity has been granted Key/Get, Key/Unwrap and Key/Wrap permissions\n The KeyVault has soft-delete and purge protection enabled"
+ }
+ },
+ "description": "KeyVault configuration when using an encryption KeySource of Microsoft.KeyVault."
+ },
+ "BatchAccountRegenerateKeyParameters": {
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "description": "The type of account key to regenerate.",
+ "enum": [
+ "Primary",
+ "Secondary"
+ ],
+ "x-ms-enum": {
+ "name": "AccountKeyType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Primary",
+ "description": "The primary account key."
+ },
+ {
+ "value": "Secondary",
+ "description": "The secondary account key."
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "keyName"
+ ],
+ "description": "Parameters supplied to the RegenerateKey operation."
+ },
+ "BatchAccountKeys": {
+ "type": "object",
+ "properties": {
+ "accountName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The Batch account name."
+ },
+ "primary": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The primary key associated with the account."
+ },
+ "secondary": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The secondary key associated with the account."
+ }
+ },
+ "description": "A set of Azure Batch account keys."
+ },
+ "ActivateApplicationPackageParameters": {
+ "type": "object",
+ "properties": {
+ "format": {
+ "type": "string",
+ "description": "The format of the application package binary file."
+ }
+ },
+ "required": [
+ "format"
+ ],
+ "description": "Parameters for an activating an application package."
+ },
+ "Application": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationProperties",
+ "description": "The properties associated with the Application."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Contains information about an application in a Batch account."
+ },
+ "ApplicationProperties": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The display name for the application."
+ },
+ "allowUpdates": {
+ "type": "boolean",
+ "description": "A value indicating whether packages within the application may be overwritten using the same version string."
+ },
+ "defaultVersion": {
+ "type": "string",
+ "description": "The package to use if a client requests the application but does not specify a version. This property can only be set to the name of an existing package."
+ }
+ },
+ "description": "The properties associated with the Application."
+ },
+ "ApplicationPackage": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationPackageProperties",
+ "description": "The properties associated with the Application Package."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "An application package which represents a particular version of an application."
+ },
+ "ApplicationPackageProperties": {
+ "type": "object",
+ "properties": {
+ "state": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current state of the application package.",
+ "enum": [
+ "Pending",
+ "Active"
+ ],
+ "x-ms-enum": {
+ "name": "PackageState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Pending",
+ "description": "The application package has been created but has not yet been activated."
+ },
+ {
+ "value": "Active",
+ "description": "The application package is ready for use."
+ }
+ ]
+ }
+ },
+ "format": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The format of the application package, if the package is active."
+ },
+ "storageUrl": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL for the application package in Azure Storage."
+ },
+ "storageUrlExpiry": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The UTC time at which the Azure Storage URL will expire."
+ },
+ "lastActivationTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The time at which the package was last activated, if the package is active."
+ }
+ },
+ "description": "Properties of an application package"
+ },
+ "ListApplicationsResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Application"
+ },
+ "description": "The list of applications."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The result of performing list applications."
+ },
+ "ListApplicationPackagesResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackage"
+ },
+ "description": "The list of application packages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The result of performing list application packages."
+ },
+ "BatchLocationQuota": {
+ "type": "object",
+ "properties": {
+ "accountQuota": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The number of Batch accounts that may be created under the subscription in the specified region."
+ }
+ },
+ "description": "Quotas associated with a Batch region for a particular subscription."
+ },
+ "Resource": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource."
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The location of the resource."
+ },
+ "tags": {
+ "readOnly": true,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The tags of the resource."
+ }
+ },
+ "description": "A definition of an Azure resource.",
+ "x-ms-azure-resource": true
+ },
+ "ProxyResource": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ETag of the resource, used for concurrency statements."
+ }
+ },
+ "description": "A definition of an Azure resource.",
+ "x-ms-azure-resource": true
+ },
+ "PublicNetworkAccessType": {
+ "type": "string",
+ "description": "The network access type for operating on the resources in the Batch account.",
+ "default": "Enabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccessType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "Enables connectivity to Azure Batch through public DNS."
+ },
+ {
+ "value": "Disabled",
+ "description": "Disables public connectivity and enables private connectivity to Azure Batch Service through private endpoint resource."
+ }
+ ]
+ }
+ },
+ "PoolAllocationMode": {
+ "type": "string",
+ "description": "The allocation mode for creating pools in the Batch account.",
+ "enum": [
+ "BatchService",
+ "UserSubscription"
+ ],
+ "x-ms-enum": {
+ "name": "PoolAllocationMode",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "BatchService",
+ "description": "Pools will be allocated in subscriptions owned by the Batch service."
+ },
+ {
+ "value": "UserSubscription",
+ "description": "Pools will be allocated in a subscription owned by the user."
+ }
+ ]
+ }
+ },
+ "CertificateBaseProperties": {
+ "description": "Base certificate properties.",
+ "type": "object",
+ "properties": {
+ "thumbprintAlgorithm": {
+ "type": "string",
+ "title": "The algorithm of the certificate thumbprint.",
+ "description": "This must match the first portion of the certificate name. Currently required to be 'SHA1'."
+ },
+ "thumbprint": {
+ "type": "string",
+ "title": "The thumbprint of the certificate.",
+ "description": "This must match the thumbprint from the name."
+ },
+ "format": {
+ "type": "string",
+ "x-nullable": false,
+ "description": "The format of the certificate - either Pfx or Cer. If omitted, the default is Pfx.",
+ "enum": [
+ "Pfx",
+ "Cer"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateFormat",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Pfx",
+ "description": "The certificate is a PFX (PKCS#12) formatted certificate or certificate chain."
+ },
+ {
+ "value": "Cer",
+ "description": "The certificate is a base64-encoded X.509 certificate."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "CertificateProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "title": "The provisioned state of the resource",
+ "enum": [
+ "Succeeded",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateProvisioningState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Succeeded",
+ "description": "The certificate is available for use in pools."
+ },
+ {
+ "value": "Deleting",
+ "description": "The user has requested that the certificate be deleted, but the delete operation has not yet completed. You may not reference the certificate when creating or updating pools."
+ },
+ {
+ "value": "Failed",
+ "description": "The user requested that the certificate be deleted, but there are pools that still have references to the certificate, or it is still installed on one or more compute nodes. (The latter can occur if the certificate has been removed from the pool, but the node has not yet restarted. Nodes refresh their certificates only when they restart.) You may use the cancel certificate delete operation to cancel the delete, or the delete certificate operation to retry the delete."
+ }
+ ]
+ }
+ },
+ "provisioningStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the certificate entered its current state.",
+ "readOnly": true
+ },
+ "previousProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "description": "The previous provisioned state of the resource",
+ "enum": [
+ "Succeeded",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateProvisioningState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Succeeded",
+ "description": "The certificate is available for use in pools."
+ },
+ {
+ "value": "Deleting",
+ "description": "The user has requested that the certificate be deleted, but the delete operation has not yet completed. You may not reference the certificate when creating or updating pools."
+ },
+ {
+ "value": "Failed",
+ "description": "The user requested that the certificate be deleted, but there are pools that still have references to the certificate, or it is still installed on one or more compute nodes. (The latter can occur if the certificate has been removed from the pool, but the node has not yet restarted. Nodes refresh their certificates only when they restart.) You may use the cancel certificate delete operation to cancel the delete, or the delete certificate operation to retry the delete."
+ }
+ ]
+ }
+ },
+ "previousProvisioningStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the certificate entered its previous state.",
+ "readOnly": true
+ },
+ "publicData": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The public key of the certificate."
+ },
+ "deleteCertificateError": {
+ "readOnly": true,
+ "$ref": "#/definitions/DeleteCertificateError",
+ "title": "The error which occurred while deleting the certificate",
+ "description": "This is only returned when the certificate provisioningState is 'Failed'."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/CertificateBaseProperties"
+ }
+ ],
+ "description": "Certificate properties."
+ },
+ "CertificateCreateOrUpdateProperties": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CertificateBaseProperties"
+ }
+ ],
+ "properties": {
+ "data": {
+ "type": "string",
+ "title": "The base64-encoded contents of the certificate.",
+ "description": "The maximum size is 10KB."
+ },
+ "password": {
+ "type": "string",
+ "title": "The password to access the certificate's private key.",
+ "description": "This must not be specified if the certificate format is Cer."
+ }
+ },
+ "description": "Certificate properties for create operations",
+ "required": [
+ "data"
+ ]
+ },
+ "Certificate": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CertificateProperties",
+ "description": "The properties associated with the certificate."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Contains information about a certificate."
+ },
+ "CertificateCreateOrUpdateParameters": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CertificateCreateOrUpdateProperties",
+ "description": "The properties associated with the certificate."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Contains information about a certificate."
+ },
+ "ListCertificatesResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Certificate"
+ },
+ "description": "The collection of returned certificates."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token."
+ }
+ },
+ "description": "Values returned by the List operation."
+ },
+ "DeleteCertificateError": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeleteCertificateError"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ],
+ "description": "An error response from the Batch service."
+ },
+ "PrivateLinkResource": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "The properties associated with the private link resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Contains information about a private link resource."
+ },
+ "PrivateLinkResourceProperties": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "title": "The group id of the private link resource.",
+ "description": "The group id is used to establish the private link connection.",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The list of required members that are used to establish the private link connection.",
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The list of required zone names for the private DNS resource name",
+ "readOnly": true
+ }
+ },
+ "description": "Private link resource properties."
+ },
+ "PrivateEndpointConnection": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties associated with the private endpoint connection."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Contains information about a private link resource."
+ },
+ "PrivateEndpointConnectionProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "title": "The provisioning state of the private endpoint connection.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Succeeded",
+ "description": "The connection status is final and is ready for use if Status is Approved."
+ },
+ {
+ "value": "Updating",
+ "description": "The user has requested that the connection status be updated, but the update operation has not yet completed. You may not reference the connection when connecting the Batch account."
+ },
+ {
+ "value": "Failed",
+ "description": "The user requested that the connection be updated and it failed. You may retry the update operation."
+ }
+ ]
+ }
+ },
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "title": "The ARM resource identifier of the private endpoint."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "title": "The private link service connection state of the private endpoint connection."
+ }
+ },
+ "description": "Private endpoint connection properties."
+ },
+ "PrivateEndpoint": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "The ARM resource identifier of the private endpoint. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/privateEndpoints/{privateEndpoint}.",
+ "readOnly": true
+ }
+ },
+ "description": "The private endpoint of the private endpoint connection."
+ },
+ "PrivateLinkServiceConnectionState": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionStatus",
+ "title": "The status for the private endpoint connection of Batch account"
+ },
+ "description": {
+ "type": "string",
+ "title": "Description of the private Connection state"
+ },
+ "actionRequired": {
+ "type": "string",
+ "title": "Action required on the private connection state",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "description": "The private link service connection state of the private endpoint connection"
+ },
+ "PrivateLinkServiceConnectionStatus": {
+ "type": "string",
+ "title": "The status of the Batch private endpoint connection",
+ "enum": [
+ "Approved",
+ "Pending",
+ "Rejected",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateLinkServiceConnectionStatus",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Approved",
+ "description": "The private endpoint connection is approved and can be used to access Batch account"
+ },
+ {
+ "value": "Pending",
+ "description": "The private endpoint connection is pending and cannot be used to access Batch account"
+ },
+ {
+ "value": "Rejected",
+ "description": "The private endpoint connection is rejected and cannot be used to access Batch account"
+ },
+ {
+ "value": "Disconnected",
+ "description": "The private endpoint connection is disconnected and cannot be used to access Batch account"
+ }
+ ]
+ }
+ },
+ "Pool": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PoolProperties",
+ "description": "The properties associated with the pool."
+ },
+ "identity": {
+ "title": "The type of identity used for the Batch Pool.",
+ "description": "The type of identity used for the Batch Pool.",
+ "$ref": "#/definitions/BatchPoolIdentity"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Contains information about a pool."
+ },
+ "PoolProperties": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the pool.",
+ "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "lastModified": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The last modified time of the pool.",
+ "description": "This is the last time at which the pool level data, such as the targetDedicatedNodes or autoScaleSettings, changed. It does not factor in node-level changes such as a compute node changing state.",
+ "readOnly": true
+ },
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The creation time of the pool.",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "type": "string",
+ "title": "The current state of the pool.",
+ "enum": [
+ "Succeeded",
+ "Deleting"
+ ],
+ "x-ms-enum": {
+ "name": "PoolProvisioningState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Succeeded",
+ "description": "The pool is available to run tasks subject to the availability of compute nodes."
+ },
+ {
+ "value": "Deleting",
+ "description": "The user has requested that the pool be deleted, but the delete operation has not yet completed."
+ }
+ ]
+ },
+ "readOnly": true
+ },
+ "provisioningStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the pool entered its current state.",
+ "readOnly": true
+ },
+ "allocationState": {
+ "type": "string",
+ "title": "Whether the pool is resizing.",
+ "enum": [
+ "Steady",
+ "Resizing",
+ "Stopping"
+ ],
+ "x-ms-enum": {
+ "name": "AllocationState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Steady",
+ "description": "The pool is not resizing. There are no changes to the number of nodes in the pool in progress. A pool enters this state when it is created and when no operations are being performed on the pool to change the number of nodes."
+ },
+ {
+ "value": "Resizing",
+ "description": "The pool is resizing; that is, compute nodes are being added to or removed from the pool."
+ },
+ {
+ "value": "Stopping",
+ "description": "The pool was resizing, but the user has requested that the resize be stopped, but the stop request has not yet been completed."
+ }
+ ]
+ },
+ "readOnly": true
+ },
+ "allocationStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the pool entered its current allocation state.",
+ "readOnly": true
+ },
+ "vmSize": {
+ "type": "string",
+ "title": "The size of virtual machines in the pool. All VMs in a pool are the same size.",
+ "description": "For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
+ },
+ "deploymentConfiguration": {
+ "$ref": "#/definitions/DeploymentConfiguration",
+ "title": "This property describes how the pool nodes will be deployed - using Cloud Services or Virtual Machines.",
+ "description": "Using CloudServiceConfiguration specifies that the nodes should be creating using Azure Cloud Services (PaaS), while VirtualMachineConfiguration uses Azure Virtual Machines (IaaS)."
+ },
+ "currentDedicatedNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of compute nodes currently in the pool.",
+ "readOnly": true
+ },
+ "currentLowPriorityNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of low-priority compute nodes currently in the pool.",
+ "readOnly": true
+ },
+ "scaleSettings": {
+ "$ref": "#/definitions/ScaleSettings",
+ "title": "Settings which configure the number of nodes in the pool."
+ },
+ "autoScaleRun": {
+ "$ref": "#/definitions/AutoScaleRun",
+ "title": "The results and errors from the last execution of the autoscale formula.",
+ "description": "This property is set only if the pool automatically scales, i.e. autoScaleSettings are used.",
+ "readOnly": true
+ },
+ "interNodeCommunication": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "InterNodeCommunicationState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "Enable network communication between virtual machines."
+ },
+ {
+ "value": "Disabled",
+ "description": "Disable network communication between virtual machines."
+ }
+ ]
+ },
+ "title": "Whether the pool permits direct communication between nodes.",
+ "description": "This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. If not specified, this value defaults to 'Disabled'."
+ },
+ "networkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration",
+ "title": "The network configuration for the pool."
+ },
+ "taskSlotsPerNode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of task slots that can be used to run concurrent tasks on a single compute node in the pool.",
+ "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256."
+ },
+ "taskSchedulingPolicy": {
+ "$ref": "#/definitions/TaskSchedulingPolicy",
+ "title": "How tasks are distributed across compute nodes in a pool.",
+ "description": "If not specified, the default is spread."
+ },
+ "userAccounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserAccount"
+ },
+ "title": "The list of user accounts to be created on each node in the pool."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the pool as metadata.",
+ "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code."
+ },
+ "startTask": {
+ "$ref": "#/definitions/StartTask",
+ "title": "A task specified to run on each compute node as it joins the pool.",
+ "description": "In an PATCH (update) operation, this property can be set to an empty object to remove the start task from the pool."
+ },
+ "certificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateReference"
+ },
+ "title": "The list of certificates to be installed on each compute node in the pool.",
+ "description": "For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory."
+ },
+ "applicationPackages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "The list of application packages to be installed on each compute node in the pool.",
+ "description": "Changes to application package references affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged. There is a maximum of 10 application package references on any given pool."
+ },
+ "applicationLicenses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The list of application licenses the Batch service will make available on each compute node in the pool.",
+ "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, pool creation will fail."
+ },
+ "resizeOperationStatus": {
+ "$ref": "#/definitions/ResizeOperationStatus",
+ "title": "Contains details about the current or last completed resize operation.",
+ "readOnly": true
+ },
+ "mountConfiguration": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountConfiguration"
+ },
+ "title": "A list of file systems to mount on each node in the pool.",
+ "description": "This supports Azure Files, NFS, CIFS/SMB, and Blobfuse."
+ }
+ },
+ "description": "Pool properties."
+ },
+ "BatchPoolIdentity": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the Batch Pool.",
+ "enum": [
+ "UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "PoolIdentityType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "UserAssigned",
+ "description": "Batch pool has user assigned identities with it."
+ },
+ {
+ "value": "None",
+ "description": "Batch pool has no identity associated with it. Setting `None` in update pool will remove existing identities."
+ }
+ ]
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "description": "The list of user identities associated with the Batch pool.",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserAssignedIdentities"
+ }
+ }
+ },
+ "description": "The identity of the Batch pool, if configured. If the pool identity is updated during update an existing pool, only the new vms which are created after the pool shrinks to 0 will have the updated identities",
+ "required": [
+ "type"
+ ]
+ },
+ "DeploymentConfiguration": {
+ "type": "object",
+ "properties": {
+ "cloudServiceConfiguration": {
+ "$ref": "#/definitions/CloudServiceConfiguration",
+ "title": "The cloud service configuration for the pool.",
+ "description": "This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'."
+ },
+ "virtualMachineConfiguration": {
+ "$ref": "#/definitions/VirtualMachineConfiguration",
+ "title": "The virtual machine configuration for the pool.",
+ "description": "This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified."
+ }
+ },
+ "title": "Deployment configuration properties."
+ },
+ "ScaleSettings": {
+ "type": "object",
+ "properties": {
+ "fixedScale": {
+ "$ref": "#/definitions/FixedScaleSettings",
+ "title": "Fixed scale settings for the pool.",
+ "description": "This property and autoScale are mutually exclusive and one of the properties must be specified."
+ },
+ "autoScale": {
+ "$ref": "#/definitions/AutoScaleSettings",
+ "title": "AutoScale settings for the pool.",
+ "description": "This property and fixedScale are mutually exclusive and one of the properties must be specified."
+ }
+ },
+ "title": "Scale settings for the pool",
+ "description": "Defines the desired size of the pool. This can either be 'fixedScale' where the requested targetDedicatedNodes is specified, or 'autoScale' which defines a formula which is periodically reevaluated. If this property is not specified, the pool will have a fixed scale with 0 targetDedicatedNodes."
+ },
+ "AutoScaleSettings": {
+ "type": "object",
+ "properties": {
+ "formula": {
+ "type": "string",
+ "title": "A formula for the desired number of compute nodes in the pool.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/batch/batch-automatic-scaling",
+ "description": "Create an automatic scaling formula for scaling compute nodes in a Batch pool"
+ }
+ },
+ "evaluationInterval": {
+ "type": "string",
+ "format": "duration",
+ "title": "The time interval at which to automatically adjust the pool size according to the autoscale formula.",
+ "description": "If omitted, the default value is 15 minutes (PT15M)."
+ }
+ },
+ "required": [
+ "formula"
+ ],
+ "title": "AutoScale settings for the pool."
+ },
+ "FixedScaleSettings": {
+ "type": "object",
+ "properties": {
+ "resizeTimeout": {
+ "type": "string",
+ "format": "duration",
+ "title": "The timeout for allocation of compute nodes to the pool.",
+ "description": "The default value is 15 minutes. Timeout values use ISO 8601 format. For example, use PT10M for 10 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the request with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "targetDedicatedNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of dedicated compute nodes in the pool.",
+ "description": "At least one of targetDedicatedNodes, targetLowPriorityNodes must be set."
+ },
+ "targetLowPriorityNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of low-priority compute nodes in the pool.",
+ "description": "At least one of targetDedicatedNodes, targetLowPriorityNodes must be set."
+ },
+ "nodeDeallocationOption": {
+ "title": "Determines what to do with a node and its running task(s) if the pool size is decreasing.",
+ "description": "If omitted, the default value is Requeue.",
+ "$ref": "#/definitions/ComputeNodeDeallocationOption"
+ }
+ },
+ "title": "Fixed scale settings for the pool."
+ },
+ "ComputeNodeDeallocationOption": {
+ "type": "string",
+ "title": "Determines what to do with a node and its running task(s) after it has been selected for deallocation.",
+ "enum": [
+ "Requeue",
+ "Terminate",
+ "TaskCompletion",
+ "RetainedData"
+ ],
+ "x-ms-enum": {
+ "name": "ComputeNodeDeallocationOption",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Requeue",
+ "description": "Terminate running task processes and requeue the tasks. The tasks will run again when a node is available. Remove nodes as soon as tasks have been terminated."
+ },
+ {
+ "value": "Terminate",
+ "description": "Terminate running tasks. The tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Remove nodes as soon as tasks have been terminated."
+ },
+ {
+ "value": "TaskCompletion",
+ "description": "Allow currently running tasks to complete. Schedule no new tasks while waiting. Remove nodes when all tasks have completed."
+ },
+ {
+ "value": "RetainedData",
+ "description": "Allow currently running tasks to complete, then wait for all task data retention periods to expire. Schedule no new tasks while waiting. Remove nodes when all task retention periods have expired."
+ }
+ ]
+ }
+ },
+ "CertificateReference": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "The fully qualified ID of the certificate to install on the pool. This must be inside the same batch account as the pool."
+ },
+ "storeLocation": {
+ "type": "string",
+ "title": "The location of the certificate store on the compute node into which to install the certificate.",
+ "description": "The default value is currentUser. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.",
+ "enum": [
+ "CurrentUser",
+ "LocalMachine"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateStoreLocation",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "CurrentUser",
+ "description": "Certificates should be installed to the CurrentUser certificate store."
+ },
+ {
+ "value": "LocalMachine",
+ "description": "Certificates should be installed to the LocalMachine certificate store."
+ }
+ ]
+ }
+ },
+ "storeName": {
+ "type": "string",
+ "title": "The name of the certificate store on the compute node into which to install the certificate.",
+ "description": "This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My."
+ },
+ "visibility": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "x-nullable": false,
+ "enum": [
+ "StartTask",
+ "Task",
+ "RemoteUser"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateVisibility",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "StartTask",
+ "description": "The certificate should be visible to the user account under which the start task is run. Note that if AutoUser Scope is Pool for both the StartTask and a Task, this certificate will be visible to the Task as well."
+ },
+ {
+ "value": "Task",
+ "description": "The certificate should be visible to the user accounts under which job tasks are run."
+ },
+ {
+ "value": "RemoteUser",
+ "description": "The certificate should be visible to the user accounts under which users remotely access the node."
+ }
+ ]
+ }
+ },
+ "title": "Which user accounts on the compute node should have access to the private data of the certificate."
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "title": "A reference to a certificate to be installed on compute nodes in a pool. This must exist inside the same account as the pool."
+ },
+ "ApplicationPackageReference": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "The ID of the application package to install. This must be inside the same batch account as the pool. This can either be a reference to a specific version or the default version if one exists."
+ },
+ "version": {
+ "type": "string",
+ "title": "The version of the application to deploy. If omitted, the default version is deployed.",
+ "description": "If this is omitted, and no default version is specified for this application, the request fails with the error code InvalidApplicationPackageReferences. If you are calling the REST API directly, the HTTP status code is 409."
+ }
+ },
+ "title": "Link to an application package inside the batch account",
+ "required": [
+ "id"
+ ]
+ },
+ "ResizeError": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResizeError"
+ },
+ "title": "Additional details about the error."
+ }
+ },
+ "title": "An error that occurred when resizing a pool.",
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "AutoScaleRunError": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AutoScaleRunError"
+ },
+ "title": "Additional details about the error."
+ }
+ },
+ "title": "An error that occurred when autoscaling a pool.",
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "AutoScaleRun": {
+ "type": "object",
+ "properties": {
+ "evaluationTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the autoscale formula was last evaluated."
+ },
+ "results": {
+ "type": "string",
+ "title": "The final values of all variables used in the evaluation of the autoscale formula.",
+ "description": "Each variable value is returned in the form $variable=value, and variables are separated by semicolons."
+ },
+ "error": {
+ "$ref": "#/definitions/AutoScaleRunError",
+ "title": "Details of the error encountered evaluating the autoscale formula on the pool, if the evaluation was unsuccessful."
+ }
+ },
+ "required": [
+ "evaluationTime"
+ ],
+ "title": "The results and errors from an execution of a pool autoscale formula."
+ },
+ "VirtualMachineConfiguration": {
+ "type": "object",
+ "properties": {
+ "imageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "title": "A reference to the Azure Virtual Machines Marketplace Image or the custom Virtual Machine Image to use."
+ },
+ "nodeAgentSkuId": {
+ "type": "string",
+ "title": "The SKU of the Batch node agent to be provisioned on compute nodes in the pool.",
+ "description": "The Batch node agent is a program that runs on each node in the pool, and provides the command-and-control interface between the node and the Batch service. There are different implementations of the node agent, known as SKUs, for different operating systems. You must specify a node agent SKU which matches the selected image reference. To get the list of supported node agent SKUs along with their list of verified image references, see the 'List supported node agent SKUs' operation."
+ },
+ "windowsConfiguration": {
+ "$ref": "#/definitions/WindowsConfiguration",
+ "title": "Windows operating system settings on the virtual machine.",
+ "description": "This property must not be specified if the imageReference specifies a Linux OS image."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataDisk"
+ },
+ "title": "The configuration for data disks attached to the compute nodes in the pool.",
+ "description": "This property must be specified if the compute nodes in the pool need to have empty data disks attached to them."
+ },
+ "licenseType": {
+ "type": "string",
+ "title": "The type of on-premises license to be used when deploying the operating system.",
+ "description": "This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are:\n\n Windows_Server - The on-premises license is for Windows Server.\n Windows_Client - The on-premises license is for Windows Client.\n"
+ },
+ "containerConfiguration": {
+ "$ref": "#/definitions/ContainerConfiguration",
+ "title": "The container configuration for the pool.",
+ "description": "If specified, setup is performed on each node in the pool to allow tasks to run in containers. All regular tasks and job manager tasks run on this pool must specify the containerSettings property, and all other tasks may specify it."
+ },
+ "diskEncryptionConfiguration": {
+ "$ref": "#/definitions/DiskEncryptionConfiguration",
+ "title": "The disk encryption configuration for the pool.",
+ "description": "If specified, encryption is performed on each node in the pool during node provisioning."
+ },
+ "nodePlacementConfiguration": {
+ "$ref": "#/definitions/NodePlacementConfiguration",
+ "title": "The node placement configuration for the pool.",
+ "description": "This configuration will specify rules on how nodes in the pool will be physically allocated."
+ },
+ "extensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMExtension"
+ },
+ "title": "The virtual machine extension for the pool.",
+ "description": "If specified, the extensions mentioned in this configuration will be installed on each node."
+ },
+ "osDisk": {
+ "$ref": "#/definitions/OSDisk",
+ "title": "Settings for the operating system disk of the Virtual Machine.",
+ "description": "Contains configuration for ephemeral OSDisk settings."
+ }
+ },
+ "required": [
+ "imageReference",
+ "nodeAgentSkuId"
+ ],
+ "title": "The configuration for compute nodes in a pool based on the Azure Virtual Machines infrastructure."
+ },
+ "ContainerRegistry": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string",
+ "x-ms-client-name": "userName",
+ "title": "The user name to log into the registry server."
+ },
+ "password": {
+ "type": "string",
+ "title": "The password to log into the registry server."
+ },
+ "registryServer": {
+ "type": "string",
+ "title": "The registry URL.",
+ "description": "If omitted, the default is \"docker.io\"."
+ },
+ "identityReference": {
+ "title": "The reference to the user assigned identity to use to access an Azure Container Registry instead of username and password.",
+ "$ref": "#/definitions/ComputeNodeIdentityReference"
+ }
+ },
+ "title": "A private container registry."
+ },
+ "DiskEncryptionConfiguration": {
+ "type": "object",
+ "properties": {
+ "targets": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "x-nullable": false,
+ "title": "The disks to encrypt on each compute node.",
+ "description": "If omitted, no disks on the compute nodes in the pool will be encrypted.",
+ "enum": [
+ "OsDisk",
+ "TemporaryDisk"
+ ],
+ "x-ms-enum": {
+ "name": "DiskEncryptionTarget",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "OsDisk",
+ "description": "The OS Disk on the compute node is encrypted.",
+ "name": "OsDisk"
+ },
+ {
+ "value": "TemporaryDisk",
+ "description": "The temporary disk on the compute node is encrypted. On Linux this encryption applies to other partitions (such as those on mounted data disks) when encryption occurs at boot time.",
+ "name": "TemporaryDisk"
+ }
+ ]
+ }
+ },
+ "title": "The list of disk targets Batch Service will encrypt on the compute node",
+ "description": "On Linux pool, only \"TemporaryDisk\" is supported; on Windows pool, \"OsDisk\" and \"TemporaryDisk\" must be specified."
+ }
+ },
+ "description": "The disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image."
+ },
+ "ContainerConfiguration": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "title": "The container technology to be used.",
+ "enum": [
+ "DockerCompatible"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "DockerCompatible",
+ "description": "A Docker compatible container technology will be used to launch the containers."
+ }
+ ]
+ }
+ },
+ "containerImageNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The collection of container image names.",
+ "description": "This is the full image reference, as would be specified to \"docker pull\". An image will be sourced from the default Docker registry unless the image is fully qualified with an alternative registry."
+ },
+ "containerRegistries": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerRegistry"
+ },
+ "title": "Additional private registries from which containers can be pulled.",
+ "description": "If any images must be downloaded from a private registry which requires credentials, then those credentials must be provided here."
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "title": "The configuration for container-enabled pools."
+ },
+ "NodePlacementPolicyType": {
+ "type": "string",
+ "title": "The placement policy for allocating nodes in the pool.",
+ "description": "The default value is regional.",
+ "enum": [
+ "Regional",
+ "Zonal"
+ ],
+ "x-ms-enum": {
+ "name": "NodePlacementPolicyType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Regional",
+ "description": "All nodes in the pool will be allocated in the same region."
+ },
+ {
+ "value": "Zonal",
+ "description": "Nodes in the pool will be spread across different zones with best effort balancing.",
+ "name": "Zonal"
+ }
+ ]
+ }
+ },
+ "NodePlacementConfiguration": {
+ "title": "Node placement configuration for batch pools.",
+ "description": "Allocation configuration used by Batch Service to provision the nodes.",
+ "type": "object",
+ "properties": {
+ "policy": {
+ "$ref": "#/definitions/NodePlacementPolicyType",
+ "title": "Node placement Policy type on Batch Pools.",
+ "description": "Allocation policy used by Batch Service to provision the nodes. If not specified, Batch will use the regional policy."
+ }
+ }
+ },
+ "VMExtension": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the virtual machine extension."
+ },
+ "publisher": {
+ "type": "string",
+ "title": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "title": "The type of the extensions."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "title": "The version of script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "settings": {
+ "type": "object",
+ "title": "JSON formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "x-ms-secret": true,
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. "
+ },
+ "provisionAfterExtensions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The collection of extension names.",
+ "description": "Collection of extension names after which this extension needs to be provisioned."
+ }
+ },
+ "required": [
+ "name",
+ "publisher",
+ "type"
+ ],
+ "title": "The configuration for virtual machine extensions."
+ },
+ "WindowsConfiguration": {
+ "type": "object",
+ "properties": {
+ "enableAutomaticUpdates": {
+ "type": "boolean",
+ "title": "Whether automatic updates are enabled on the virtual machine.",
+ "description": "If omitted, the default value is true."
+ }
+ },
+ "title": "Windows operating system settings to apply to the virtual machine."
+ },
+ "ImageReference": {
+ "type": "object",
+ "properties": {
+ "publisher": {
+ "type": "string",
+ "title": "The publisher of the Azure Virtual Machines Marketplace image.",
+ "description": "For example, Canonical or MicrosoftWindowsServer."
+ },
+ "offer": {
+ "type": "string",
+ "title": "The offer type of the Azure Virtual Machines Marketplace image.",
+ "description": "For example, UbuntuServer or WindowsServer."
+ },
+ "sku": {
+ "type": "string",
+ "title": "The SKU of the Azure Virtual Machines Marketplace image.",
+ "description": "For example, 18.04-LTS or 2019-Datacenter."
+ },
+ "version": {
+ "type": "string",
+ "title": "The version of the Azure Virtual Machines Marketplace image.",
+ "description": "A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'."
+ },
+ "id": {
+ "type": "string",
+ "title": "The ARM resource identifier of the Shared Image Gallery Image. Compute Nodes in the Pool will be created using this Image Id. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{versionId}.",
+ "description": "This property is mutually exclusive with other properties. The Shared Image Gallery image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration."
+ }
+ },
+ "title": "A reference to an Azure Virtual Machines Marketplace image or the Azure Image resource of a custom Virtual Machine. To get the list of all imageReferences verified by Azure Batch, see the 'List supported node agent SKUs' operation."
+ },
+ "DataDisk": {
+ "type": "object",
+ "properties": {
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The logical unit number.",
+ "description": "The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive."
+ },
+ "caching": {
+ "$ref": "#/definitions/CachingType",
+ "title": "The type of caching to be enabled for the data disks.",
+ "description": "Values are:\n\n none - The caching mode for the disk is not enabled.\n readOnly - The caching mode for the disk is read only.\n readWrite - The caching mode for the disk is read and write.\n\n The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The initial disk size in GB when creating new data disk."
+ },
+ "storageAccountType": {
+ "title": "The storage account type to be used for the data disk.",
+ "description": "If omitted, the default is \"Standard_LRS\". Values are:\n\n Standard_LRS - The data disk should use standard locally redundant storage.\n Premium_LRS - The data disk should use premium locally redundant storage.",
+ "$ref": "#/definitions/StorageAccountType"
+ }
+ },
+ "required": [
+ "lun",
+ "diskSizeGB"
+ ],
+ "description": "Settings which will be used by the data disks associated to Compute Nodes in the Pool. When using attached data disks, you need to mount and format the disks from within a VM to use them."
+ },
+ "TaskSchedulingPolicy": {
+ "type": "object",
+ "properties": {
+ "nodeFillType": {
+ "type": "string",
+ "title": "How tasks should be distributed across compute nodes.",
+ "enum": [
+ "Spread",
+ "Pack"
+ ],
+ "x-ms-enum": {
+ "name": "ComputeNodeFillType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Spread",
+ "description": "Tasks should be assigned evenly across all nodes in the pool."
+ },
+ {
+ "value": "Pack",
+ "description": "As many tasks as possible (taskSlotsPerNode) should be assigned to each node in the pool before any tasks are assigned to the next node in the pool."
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "nodeFillType"
+ ],
+ "title": "Specifies how tasks should be distributed across compute nodes."
+ },
+ "LinuxUserConfiguration": {
+ "type": "object",
+ "properties": {
+ "uid": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The user ID of the user account.",
+ "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid."
+ },
+ "gid": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The group ID for the user account.",
+ "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid."
+ },
+ "sshPrivateKey": {
+ "type": "string",
+ "title": "The SSH private key for the user account.",
+ "description": "The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done)."
+ }
+ },
+ "title": "Properties used to create a user account on a Linux node."
+ },
+ "WindowsUserConfiguration": {
+ "type": "object",
+ "properties": {
+ "loginMode": {
+ "type": "string",
+ "title": "Login mode for user",
+ "description": "Specifies login mode for the user. The default value for VirtualMachineConfiguration pools is interactive mode and for CloudServiceConfiguration pools is batch mode.",
+ "enum": [
+ "Batch",
+ "Interactive"
+ ],
+ "x-ms-enum": {
+ "name": "LoginMode",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Batch",
+ "description": "The LOGON32_LOGON_BATCH Win32 login mode. The batch login mode is recommended for long running parallel processes."
+ },
+ {
+ "value": "Interactive",
+ "description": "The LOGON32_LOGON_INTERACTIVE Win32 login mode. Some applications require having permissions associated with the interactive login mode. If this is the case for an application used in your task, then this option is recommended."
+ }
+ ]
+ }
+ }
+ },
+ "title": "Properties used to create a user account on a Windows node."
+ },
+ "UserAccount": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the user account."
+ },
+ "password": {
+ "type": "string",
+ "title": "The password for the user account."
+ },
+ "elevationLevel": {
+ "title": "The elevation level of the user account.",
+ "description": "nonAdmin - The auto user is a standard user without elevated access. admin - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.",
+ "$ref": "#/definitions/ElevationLevel"
+ },
+ "linuxUserConfiguration": {
+ "title": "The Linux-specific user configuration for the user account.",
+ "description": "This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.",
+ "$ref": "#/definitions/LinuxUserConfiguration"
+ },
+ "windowsUserConfiguration": {
+ "title": "The Windows-specific user configuration for the user account.",
+ "description": "This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.",
+ "$ref": "#/definitions/WindowsUserConfiguration"
+ }
+ },
+ "required": [
+ "name",
+ "password"
+ ],
+ "title": "Properties used to create a user on an Azure Batch node."
+ },
+ "StartTask": {
+ "type": "object",
+ "properties": {
+ "commandLine": {
+ "type": "string",
+ "title": "The command line of the start task.",
+ "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. Required if any other properties of the startTask are specified."
+ },
+ "resourceFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceFile"
+ },
+ "title": "A list of files that the Batch service will download to the compute node before running the command line."
+ },
+ "environmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "A list of environment variable settings for the start task."
+ },
+ "userIdentity": {
+ "$ref": "#/definitions/UserIdentity",
+ "title": "The user identity under which the start task runs.",
+ "description": "If omitted, the task runs as a non-administrative user unique to the task."
+ },
+ "maxTaskRetryCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The maximum number of times the task may be retried.",
+ "description": "The Batch service retries a task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task. If the maximum retry count is -1, the Batch service retries the task without limit."
+ },
+ "waitForSuccess": {
+ "type": "boolean",
+ "title": "Whether the Batch service should wait for the start task to complete successfully (that is, to exit with exit code 0) before scheduling any tasks on the compute node.",
+ "description": "If true and the start task fails on a compute node, the Batch service retries the start task up to its maximum retry count (maxTaskRetryCount). If the task has still not completed successfully after all retries, then the Batch service marks the compute node unusable, and will not schedule tasks to it. This condition can be detected via the node state and scheduling error detail. If false, the Batch service will not wait for the start task to complete. In this case, other tasks can start executing on the compute node while the start task is still running; and even if the start task fails, new tasks will continue to be scheduled on the node. The default is true."
+ },
+ "containerSettings": {
+ "$ref": "#/definitions/TaskContainerSettings",
+ "title": "The settings for the container under which the start task runs.",
+ "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container."
+ }
+ },
+ "title": "A task which is run when a compute node joins a pool in the Azure Batch service, or when the compute node is rebooted or reimaged.",
+ "description": "In some cases the start task may be re-run even though the node was not rebooted. Due to this, start tasks should be idempotent and exit gracefully if the setup they're performing has already been done. Special care should be taken to avoid start tasks which create breakaway process or install/launch services from the start task working directory, as this will block Batch from being able to re-run the start task."
+ },
+ "TaskContainerSettings": {
+ "type": "object",
+ "properties": {
+ "containerRunOptions": {
+ "type": "string",
+ "title": "Additional options to the container create command.",
+ "description": "These additional options are supplied as arguments to the \"docker create\" command, in addition to those controlled by the Batch Service."
+ },
+ "imageName": {
+ "type": "string",
+ "title": "The image to use to create the container in which the task will run.",
+ "description": "This is the full image reference, as would be specified to \"docker pull\". If no tag is provided as part of the image name, the tag \":latest\" is used as a default."
+ },
+ "registry": {
+ "$ref": "#/definitions/ContainerRegistry",
+ "title": "The private registry which contains the container image.",
+ "description": "This setting can be omitted if was already provided at pool creation."
+ },
+ "workingDirectory": {
+ "type": "string",
+ "title": "A flag to indicate where the container task working directory is. The default is 'taskWorkingDirectory'.",
+ "enum": [
+ "TaskWorkingDirectory",
+ "ContainerImageDefault"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerWorkingDirectory",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "TaskWorkingDirectory",
+ "description": "Use the standard Batch service task working directory, which will contain the Task resource files populated by Batch."
+ },
+ {
+ "value": "ContainerImageDefault",
+ "description": "Using container image defined working directory. Beware that this directory will not contain the resource files downloaded by Batch."
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "imageName"
+ ],
+ "title": "The container settings for a task."
+ },
+ "ResourceFile": {
+ "type": "object",
+ "properties": {
+ "autoStorageContainerName": {
+ "type": "string",
+ "title": "The storage container name in the auto storage account.",
+ "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified."
+ },
+ "storageContainerUrl": {
+ "type": "string",
+ "title": "The URL of the blob container within Azure Blob Storage.",
+ "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable from compute nodes. There are three ways to get such a URL for a container in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the container, use a managed identity with read and list permissions, or set the ACL for the container to allow public access."
+ },
+ "httpUrl": {
+ "type": "string",
+ "title": "The URL of the file to download.",
+ "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. If the URL points to Azure Blob Storage, it must be readable from compute nodes. There are three ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, use a managed identity with read permission, or set the ACL for the blob or its container to allow public access."
+ },
+ "blobPrefix": {
+ "type": "string",
+ "title": "The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded.",
+ "description": "The property is valid only when autoStorageContainerName or storageContainerUrl is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded."
+ },
+ "filePath": {
+ "type": "string",
+ "title": "The location on the compute node to which to download the file, relative to the task's working directory.",
+ "description": "If the httpUrl property is specified, the filePath is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the autoStorageContainerName or storageContainerUrl property is specified, filePath is optional and is the directory to download the files to. In the case where filePath is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the task's working directory (for example by using '..')."
+ },
+ "fileMode": {
+ "type": "string",
+ "title": "The file permission mode attribute in octal format.",
+ "description": "This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file."
+ },
+ "identityReference": {
+ "title": "The reference to the user assigned identity to use to access Azure Blob Storage specified by storageContainerUrl or httpUrl",
+ "$ref": "#/definitions/ComputeNodeIdentityReference"
+ }
+ },
+ "title": "A single file or multiple files to be downloaded to a compute node."
+ },
+ "EnvironmentSetting": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the environment variable."
+ },
+ "value": {
+ "type": "string",
+ "title": "The value of the environment variable."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "title": "An environment variable to be set on a task process."
+ },
+ "UserIdentity": {
+ "type": "object",
+ "properties": {
+ "userName": {
+ "type": "string",
+ "title": "The name of the user identity under which the task is run.",
+ "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both."
+ },
+ "autoUser": {
+ "$ref": "#/definitions/AutoUserSpecification",
+ "title": "The auto user under which the task is run.",
+ "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both."
+ }
+ },
+ "title": "The definition of the user identity under which the task is run.",
+ "description": "Specify either the userName or autoUser property, but not both."
+ },
+ "UserAssignedIdentities": {
+ "type": "object",
+ "description": "The list of associated user identities.",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "ComputeNodeIdentityReference": {
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The ARM resource id of the user assigned identity."
+ }
+ },
+ "description": "The reference to a user assigned identity associated with the Batch pool which a compute node will use."
+ },
+ "AutoUserSpecification": {
+ "type": "object",
+ "properties": {
+ "scope": {
+ "type": "string",
+ "title": "The scope for the auto user",
+ "description": "The default value is Pool. If the pool is running Windows a value of Task should be specified if stricter isolation between tasks is required. For example, if the task mutates the registry in a way which could impact other tasks, or if certificates have been specified on the pool which should not be accessible by normal tasks but should be accessible by start tasks.",
+ "enum": [
+ "Task",
+ "Pool"
+ ],
+ "x-ms-enum": {
+ "name": "AutoUserScope",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Task",
+ "description": "Specifies that the service should create a new user for the task."
+ },
+ {
+ "value": "Pool",
+ "description": "Specifies that the task runs as the common auto user account which is created on every node in a pool."
+ }
+ ]
+ }
+ },
+ "elevationLevel": {
+ "title": "The elevation level of the auto user.",
+ "description": "The default value is nonAdmin.",
+ "$ref": "#/definitions/ElevationLevel"
+ }
+ },
+ "title": "Specifies the parameters for the auto user that runs a task on the Batch service."
+ },
+ "ElevationLevel": {
+ "type": "string",
+ "title": "The elevation level of the user.",
+ "enum": [
+ "NonAdmin",
+ "Admin"
+ ],
+ "x-ms-enum": {
+ "name": "ElevationLevel",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "NonAdmin",
+ "description": "The user is a standard user without elevated access."
+ },
+ {
+ "value": "Admin",
+ "description": "The user is a user with elevated access and operates with full Administrator permissions."
+ }
+ ]
+ }
+ },
+ "StorageAccountType": {
+ "type": "string",
+ "title": "The storage account type for use in creating data disks.",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS"
+ ],
+ "x-ms-enum": {
+ "name": "StorageAccountType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Standard_LRS",
+ "description": "The data disk should use standard locally redundant storage."
+ },
+ {
+ "value": "Premium_LRS",
+ "description": "The data disk should use premium locally redundant storage."
+ }
+ ]
+ }
+ },
+ "CachingType": {
+ "type": "string",
+ "title": "The type of caching to enable for the disk.",
+ "enum": [
+ "None",
+ "ReadOnly",
+ "ReadWrite"
+ ],
+ "x-ms-enum": {
+ "name": "CachingType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "None",
+ "description": "The caching mode for the disk is not enabled."
+ },
+ {
+ "value": "ReadOnly",
+ "description": "The caching mode for the disk is read only."
+ },
+ {
+ "value": "ReadWrite",
+ "description": "The caching mode for the disk is read and write."
+ }
+ ]
+ }
+ },
+ "DiffDiskPlacement": {
+ "type": "string",
+ "title": "Specifies the ephemeral disk placement for operating system disk for all VMs in the pool.",
+ "description": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements",
+ "enum": [
+ "CacheDisk"
+ ],
+ "x-ms-enum": {
+ "name": "DiffDiskPlacement",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "CacheDisk",
+ "description": "The Ephemeral OS Disk is stored on the VM cache.",
+ "name": "CacheDisk"
+ }
+ ]
+ }
+ },
+ "DiffDiskSettings": {
+ "type": "object",
+ "properties": {
+ "placement": {
+ "$ref": "#/definitions/DiffDiskPlacement",
+ "title": "Specifies the ephemeral disk placement for operating system disk for all VMs in the pool.",
+ "description": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements."
+ }
+ },
+ "title": "Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine."
+ },
+ "OSDisk": {
+ "type": "object",
+ "properties": {
+ "ephemeralOSDiskSettings": {
+ "$ref": "#/definitions/DiffDiskSettings",
+ "title": "Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine."
+ }
+ },
+ "title": "Settings for the operating system disk of the virtual machine."
+ },
+ "IPAddressProvisioningType": {
+ "type": "string",
+ "title": "The provisioning type for Public IP Addresses for the Batch Pool.",
+ "enum": [
+ "BatchManaged",
+ "UserManaged",
+ "NoPublicIPAddresses"
+ ],
+ "x-ms-enum": {
+ "name": "IPAddressProvisioningType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "BatchManaged",
+ "description": "A public IP will be created and managed by Batch. There may be multiple public IPs depending on the size of the Pool."
+ },
+ {
+ "value": "UserManaged",
+ "description": "Public IPs are provided by the user and will be used to provision the Compute Nodes."
+ },
+ {
+ "value": "NoPublicIPAddresses",
+ "description": "No public IP Address will be created for the Compute Nodes in the Pool."
+ }
+ ]
+ }
+ },
+ "PublicIPAddressConfiguration": {
+ "type": "object",
+ "properties": {
+ "provision": {
+ "$ref": "#/definitions/IPAddressProvisioningType",
+ "title": "The provisioning type for Public IP Addresses for the pool",
+ "description": "The default value is BatchManaged"
+ },
+ "ipAddressIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The list of public IPs which the Batch service will use when provisioning Compute Nodes.",
+ "description": "The number of IPs specified here limits the maximum size of the Pool - 100 dedicated nodes or 100 low-priority nodes can be allocated for each public IP. For example, a pool needing 250 dedicated VMs would need at least 3 public IPs specified. Each element of this collection is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}."
+ }
+ },
+ "description": "The public IP Address configuration of the networking configuration of a Pool."
+ },
+ "NetworkConfiguration": {
+ "type": "object",
+ "properties": {
+ "subnetId": {
+ "type": "string",
+ "title": "The ARM resource identifier of the virtual network subnet which the compute nodes of the pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}.",
+ "description": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For cloudServiceConfiguration pools, only 'classic' VNETs are supported. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration",
+ "externalDocs": {
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor",
+ "description": "Setting up RBAC for Azure Batch VNets"
+ }
+ },
+ "endpointConfiguration": {
+ "$ref": "#/definitions/PoolEndpointConfiguration",
+ "title": "The configuration for endpoints on compute nodes in the Batch pool.",
+ "description": "Pool endpoint configuration is only supported on pools with the virtualMachineConfiguration property."
+ },
+ "publicIPAddressConfiguration": {
+ "$ref": "#/definitions/PublicIPAddressConfiguration",
+ "title": "The Public IPAddress configuration for Compute Nodes in the Batch Pool.",
+ "description": "This property is only supported on Pools with the virtualMachineConfiguration property."
+ }
+ },
+ "description": "The network configuration for a pool."
+ },
+ "CloudServiceConfiguration": {
+ "type": "object",
+ "properties": {
+ "osFamily": {
+ "type": "string",
+ "title": "The Azure Guest OS family to be installed on the virtual machines in the pool.",
+ "description": "Possible values are: 2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1. 3 - OS Family 3, equivalent to Windows Server 2012. 4 - OS Family 4, equivalent to Windows Server 2012 R2. 5 - OS Family 5, equivalent to Windows Server 2016. 6 - OS Family 6, equivalent to Windows Server 2019. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)."
+ },
+ "osVersion": {
+ "type": "string",
+ "title": "The Azure Guest OS version to be installed on the virtual machines in the pool.",
+ "description": "The default value is * which specifies the latest operating system version for the specified OS family."
+ }
+ },
+ "required": [
+ "osFamily"
+ ],
+ "title": "The configuration for nodes in a pool based on the Azure Cloud Services platform."
+ },
+ "MetadataItem": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the metadata item."
+ },
+ "value": {
+ "type": "string",
+ "title": "The value of the metadata item."
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "title": "A name-value pair associated with a Batch service resource.",
+ "description": "The Batch service does not assign any meaning to this metadata; it is solely for the use of user code."
+ },
+ "ResizeOperationStatus": {
+ "type": "object",
+ "properties": {
+ "targetDedicatedNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of dedicated compute nodes in the pool."
+ },
+ "targetLowPriorityNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of low-priority compute nodes in the pool."
+ },
+ "resizeTimeout": {
+ "type": "string",
+ "format": "duration",
+ "title": "The timeout for allocation of compute nodes to the pool or removal of compute nodes from the pool.",
+ "description": "The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "nodeDeallocationOption": {
+ "title": "Determines what to do with a node and its running task(s) if the pool size is decreasing.",
+ "description": "The default value is requeue.",
+ "$ref": "#/definitions/ComputeNodeDeallocationOption"
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time when this resize operation was started."
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResizeError"
+ },
+ "title": "Details of any errors encountered while performing the last resize on the pool.",
+ "description": "This property is set only if an error occurred during the last pool resize, and only when the pool allocationState is Steady."
+ }
+ },
+ "title": "Details about the current or last completed resize operation.",
+ "description": "Describes either the current operation (if the pool AllocationState is Resizing) or the previously completed operation (if the AllocationState is Steady)."
+ },
+ "PoolEndpointConfiguration": {
+ "type": "object",
+ "properties": {
+ "inboundNatPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundNatPool"
+ },
+ "title": "A list of inbound NAT pools that can be used to address specific ports on an individual compute node externally.",
+ "description": "The maximum number of inbound NAT pools per Batch pool is 5. If the maximum number of inbound NAT pools is exceeded the request fails with HTTP status code 400. This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses."
+ }
+ },
+ "required": [
+ "inboundNatPools"
+ ],
+ "title": "The endpoint configuration for a pool."
+ },
+ "InboundNatPool": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the endpoint.",
+ "description": "The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400."
+ },
+ "protocol": {
+ "type": "string",
+ "title": "The protocol of the endpoint.",
+ "enum": [
+ "TCP",
+ "UDP"
+ ],
+ "x-ms-enum": {
+ "name": "InboundEndpointProtocol",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "TCP",
+ "description": "Use TCP for the endpoint."
+ },
+ {
+ "value": "UDP",
+ "description": "Use UDP for the endpoint."
+ }
+ ]
+ }
+ },
+ "backendPort": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The port number on the compute node.",
+ "description": "This must be unique within a Batch pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400."
+ },
+ "frontendPortRangeStart": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The first port number in the range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes.",
+ "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400."
+ },
+ "frontendPortRangeEnd": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The last port number in the range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes.",
+ "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400."
+ },
+ "networkSecurityGroupRules": {
+ "type": "array",
+ "title": "A list of network security group rules that will be applied to the endpoint.",
+ "description": "The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400.",
+ "items": {
+ "$ref": "#/definitions/NetworkSecurityGroupRule"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "protocol",
+ "backendPort",
+ "frontendPortRangeStart",
+ "frontendPortRangeEnd"
+ ],
+ "title": "A inbound NAT pool that can be used to address specific ports on compute nodes in a Batch pool externally."
+ },
+ "NetworkSecurityGroupRule": {
+ "type": "object",
+ "properties": {
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The priority for this rule.",
+ "description": "Priorities within a pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any reserved or duplicate values are provided the request fails with HTTP status code 400."
+ },
+ "access": {
+ "type": "string",
+ "title": "The action that should be taken for a specified IP address, subnet range or tag.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkSecurityGroupRuleAccess",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Allow",
+ "description": "Allow access."
+ },
+ {
+ "value": "Deny",
+ "description": "Deny access."
+ }
+ ]
+ }
+ },
+ "sourceAddressPrefix": {
+ "type": "string",
+ "title": "The source address prefix or tag to match for the rule.",
+ "description": "Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400."
+ },
+ "sourcePortRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The source port ranges to match for the rule.",
+ "description": "Valid values are '*' (for all ports 0 - 65535) or arrays of ports or port ranges (i.e. 100-200). The ports should in the range of 0 to 65535 and the port ranges or ports can't overlap. If any other values are provided the request fails with HTTP status code 400. Default value will be *."
+ }
+ },
+ "required": [
+ "priority",
+ "access",
+ "sourceAddressPrefix"
+ ],
+ "title": "A network security group rule to apply to an inbound endpoint."
+ },
+ "ListPrivateLinkResourcesResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ },
+ "description": "The collection of returned private link resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token."
+ }
+ },
+ "description": "Values returned by the List operation."
+ },
+ "ListPrivateEndpointConnectionsResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The collection of returned private endpoint connection."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token."
+ }
+ },
+ "description": "Values returned by the List operation."
+ },
+ "ListPoolsResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Pool"
+ },
+ "description": "The collection of returned pools."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token."
+ }
+ },
+ "description": "Values returned by the List operation."
+ },
+ "CloudError": {
+ "type": "object",
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "description": "The body of the error response.",
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from the Batch service."
+ },
+ "CloudErrorBody": {
+ "type": "object",
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Batch service."
+ },
+ "SkuCapability": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the feature."
+ },
+ "value": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The value of the feature."
+ }
+ },
+ "description": "A SKU capability, such as the number of cores."
+ },
+ "SupportedSku": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the SKU."
+ },
+ "familyName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The family name of the SKU."
+ },
+ "capabilities": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/SkuCapability"
+ },
+ "description": "A collection of capabilities which this SKU supports."
+ }
+ },
+ "description": "Describes a Batch supported SKU."
+ },
+ "SupportedSkusResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SupportedSku"
+ },
+ "description": "The list of SKUs available for the Batch service in the location."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The Batch List supported SKUs operation response."
+ },
+ "Operation": {
+ "title": "A REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "title": "The operation name.",
+ "description": "This is of the format {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "title": "The object that describes the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "title": "Friendly name of the resource provider.",
+ "type": "string"
+ },
+ "operation": {
+ "title": "The operation type.",
+ "description": "For example: read, write, delete, or listKeys/action",
+ "type": "string"
+ },
+ "resource": {
+ "title": "The resource type on which the operation is performed.",
+ "type": "string"
+ },
+ "description": {
+ "title": "The friendly name of the operation",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "title": "The intended executor of the operation.",
+ "type": "string"
+ },
+ "properties": {
+ "title": "Properties of the operation.",
+ "type": "object"
+ }
+ }
+ },
+ "OperationListResult": {
+ "title": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "title": "The list of operations supported by the resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "CheckNameAvailabilityParameters": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name to check for availability"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Batch/batchAccounts"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Microsoft.Batch/batchAccounts",
+ "description": "The Batch account resource type.",
+ "name": "BatchAccounts"
+ }
+ ]
+ },
+ "description": "The resource type."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "Parameters for a check name availability request."
+ },
+ "CheckNameAvailabilityResult": {
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "Gets a boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or invalid and cannot be used."
+ },
+ "reason": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "NameAvailabilityReason",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "The requested name is invalid."
+ },
+ {
+ "value": "AlreadyExists",
+ "description": "The requested name is already in use."
+ }
+ ]
+ },
+ "description": "Gets the reason that a Batch account name could not be used. The Reason element is only returned if NameAvailable is false."
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets an error message explaining the Reason value in more detail."
+ }
+ },
+ "description": "The CheckNameAvailability operation response."
+ },
+ "MountConfiguration": {
+ "type": "object",
+ "properties": {
+ "azureBlobFileSystemConfiguration": {
+ "$ref": "#/definitions/AzureBlobFileSystemConfiguration",
+ "title": "The Azure Storage Container to mount using blob FUSE on each node.",
+ "description": "This property is mutually exclusive with all other properties."
+ },
+ "nfsMountConfiguration": {
+ "$ref": "#/definitions/NFSMountConfiguration",
+ "title": "The NFS file system to mount on each node.",
+ "description": "This property is mutually exclusive with all other properties."
+ },
+ "cifsMountConfiguration": {
+ "$ref": "#/definitions/CIFSMountConfiguration",
+ "title": "The CIFS/SMB file system to mount on each node.",
+ "description": "This property is mutually exclusive with all other properties."
+ },
+ "azureFileShareConfiguration": {
+ "$ref": "#/definitions/AzureFileShareConfiguration",
+ "title": "The Azure File Share to mount on each node.",
+ "description": "This property is mutually exclusive with all other properties."
+ }
+ },
+ "title": "The file system to mount on each node."
+ },
+ "AzureBlobFileSystemConfiguration": {
+ "type": "object",
+ "properties": {
+ "accountName": {
+ "type": "string",
+ "title": "The Azure Storage Account name."
+ },
+ "containerName": {
+ "type": "string",
+ "title": "The Azure Blob Storage Container name."
+ },
+ "accountKey": {
+ "type": "string",
+ "title": "The Azure Storage Account key.",
+ "description": "This property is mutually exclusive with both sasKey and identity; exactly one must be specified."
+ },
+ "sasKey": {
+ "type": "string",
+ "title": "The Azure Storage SAS token.",
+ "description": "This property is mutually exclusive with both accountKey and identity; exactly one must be specified."
+ },
+ "blobfuseOptions": {
+ "type": "string",
+ "title": "Additional command line options to pass to the mount command.",
+ "description": "These are 'net use' options in Windows and 'mount' options in Linux."
+ },
+ "relativeMountPath": {
+ "type": "string",
+ "title": "The relative path on the compute node where the file system will be mounted",
+ "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable."
+ },
+ "identityReference": {
+ "title": "The reference to the user assigned identity to use to access containerName",
+ "description": "This property is mutually exclusive with both accountKey and sasKey; exactly one must be specified.",
+ "$ref": "#/definitions/ComputeNodeIdentityReference"
+ }
+ },
+ "required": [
+ "accountName",
+ "containerName",
+ "relativeMountPath"
+ ],
+ "title": "Information used to connect to an Azure Storage Container using Blobfuse."
+ },
+ "NFSMountConfiguration": {
+ "type": "object",
+ "properties": {
+ "source": {
+ "type": "string",
+ "title": "The URI of the file system to mount."
+ },
+ "relativeMountPath": {
+ "type": "string",
+ "title": "The relative path on the compute node where the file system will be mounted",
+ "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable."
+ },
+ "mountOptions": {
+ "type": "string",
+ "title": "Additional command line options to pass to the mount command.",
+ "description": "These are 'net use' options in Windows and 'mount' options in Linux."
+ }
+ },
+ "required": [
+ "source",
+ "relativeMountPath"
+ ],
+ "title": "Information used to connect to an NFS file system."
+ },
+ "CIFSMountConfiguration": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string",
+ "title": "The user to use for authentication against the CIFS file system."
+ },
+ "source": {
+ "type": "string",
+ "title": "The URI of the file system to mount."
+ },
+ "relativeMountPath": {
+ "type": "string",
+ "title": "The relative path on the compute node where the file system will be mounted",
+ "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable."
+ },
+ "mountOptions": {
+ "type": "string",
+ "title": "Additional command line options to pass to the mount command.",
+ "description": "These are 'net use' options in Windows and 'mount' options in Linux."
+ },
+ "password": {
+ "type": "string",
+ "title": "The password to use for authentication against the CIFS file system."
+ }
+ },
+ "required": [
+ "username",
+ "source",
+ "password",
+ "relativeMountPath"
+ ],
+ "title": "Information used to connect to a CIFS file system."
+ },
+ "AzureFileShareConfiguration": {
+ "type": "object",
+ "properties": {
+ "accountName": {
+ "type": "string",
+ "title": "The Azure Storage account name."
+ },
+ "azureFileUrl": {
+ "type": "string",
+ "title": "The Azure Files URL.",
+ "description": "This is of the form 'https://{account}.file.core.windows.net/'."
+ },
+ "accountKey": {
+ "type": "string",
+ "title": "The Azure Storage account key."
+ },
+ "relativeMountPath": {
+ "type": "string",
+ "title": "The relative path on the compute node where the file system will be mounted",
+ "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable."
+ },
+ "mountOptions": {
+ "type": "string",
+ "title": "Additional command line options to pass to the mount command.",
+ "description": "These are 'net use' options in Windows and 'mount' options in Linux."
+ }
+ },
+ "required": [
+ "accountName",
+ "azureFileUrl",
+ "accountKey",
+ "relativeMountPath"
+ ],
+ "title": "Information used to connect to an Azure Fileshare."
+ },
+ "OutboundEnvironmentEndpointCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OutboundEnvironmentEndpoint"
+ },
+ "description": "The collection of outbound network dependency endpoints returned by the listing operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token."
+ }
+ },
+ "description": "Values returned by the List operation."
+ },
+ "OutboundEnvironmentEndpoint": {
+ "type": "object",
+ "properties": {
+ "category": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The type of service that the Batch service connects to."
+ },
+ "endpoints": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/EndpointDependency"
+ },
+ "description": "The endpoints for this service to which the Batch service makes outbound calls."
+ }
+ },
+ "description": "A collection of related endpoints from the same service for which the Batch service requires outbound access."
+ },
+ "EndpointDependency": {
+ "type": "object",
+ "properties": {
+ "domainName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The domain name of the dependency. Domain names may be fully qualified or may contain a * wildcard."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Human-readable supplemental information about the dependency and when it is applicable."
+ },
+ "endpointDetails": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/EndpointDetail"
+ },
+ "description": "The list of connection details for this endpoint."
+ }
+ },
+ "description": "A domain name and connection details used to access a dependency."
+ },
+ "EndpointDetail": {
+ "type": "object",
+ "properties": {
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The port an endpoint is connected to."
+ }
+ },
+ "description": "Details about the connection between the Batch service and the endpoint."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to be used with the HTTP request."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group that contains the Batch account.",
+ "x-ms-parameter-location": "method"
+ },
+ "AccountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]+$",
+ "minLength": 3,
+ "maxLength": 24,
+ "description": "The name of the Batch account.",
+ "x-ms-parameter-location": "method"
+ },
+ "CertificateNameParameter": {
+ "name": "certificateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[\\w]+-[\\w]+$",
+ "minLength": 5,
+ "maxLength": 45,
+ "description": "The identifier for the certificate. This must be made up of algorithm and thumbprint separated by a dash, and must match the certificate data in the request. For example SHA1-a3d1c5.",
+ "x-ms-parameter-location": "method"
+ },
+ "PoolNameParameter": {
+ "name": "poolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9_-]+$",
+ "minLength": 1,
+ "maxLength": 64,
+ "description": "The pool name. This must be unique within the account.",
+ "x-ms-parameter-location": "method"
+ },
+ "PrivateLinkResourceNameParameter": {
+ "name": "privateLinkResourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9_-]+\\.?[a-fA-F0-9-]*$",
+ "minLength": 1,
+ "maxLength": 101,
+ "description": "The private link resource name. This must be unique within the account.",
+ "x-ms-parameter-location": "method"
+ },
+ "PrivateEndpointConnectionNameParameter": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9_-]+\\.?[a-fA-F0-9-]*$",
+ "minLength": 1,
+ "maxLength": 101,
+ "description": "The private endpoint connection name. This must be unique within the account.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApplicationNameParameter": {
+ "name": "applicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9_-]+$",
+ "minLength": 1,
+ "maxLength": 64,
+ "description": "The name of the application. This must be unique within the account.",
+ "x-ms-parameter-location": "method"
+ },
+ "VersionNameParameter": {
+ "name": "versionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9_-][a-zA-Z0-9_.-]*$",
+ "minLength": 1,
+ "maxLength": 64,
+ "description": "The version of the application.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationCreate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationCreate.json
new file mode 100644
index 000000000000..909806f24dea
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationCreate.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1",
+ "parameters": {
+ "properties": {
+ "allowUpdates": false,
+ "displayName": "myAppName"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D64F8EBB3DC411\""
+ },
+ "body": {
+ "type": "Microsoft.Batch/batchAccounts/applications",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1",
+ "name": "app1",
+ "etag": "W/\"0x8D64F8EBB3DC411\"",
+ "properties": {
+ "allowUpdates": false,
+ "displayName": "myAppName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationDelete.json
new file mode 100644
index 000000000000..d409bbd11a81
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationGet.json
new file mode 100644
index 000000000000..c9524d3f4bdd
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D64F915BDF7F00\""
+ },
+ "body": {
+ "type": "Microsoft.Batch/batchAccounts/applications",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1",
+ "name": "app1",
+ "etag": "W/\"0x8D64F915BDF7F00\"",
+ "properties": {
+ "allowUpdates": true,
+ "displayName": "Sample Application"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationList.json
new file mode 100644
index 000000000000..21bfc6d9e13f
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.Batch/batchAccounts/applications",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1",
+ "name": "app1",
+ "etag": "W/\"0x8D64F91A9089879\"",
+ "properties": {
+ "allowUpdates": false,
+ "defaultVersion": "1"
+ }
+ },
+ {
+ "type": "Microsoft.Batch/batchAccounts/applications",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app2",
+ "name": "app1",
+ "etag": "W/\"0x8D64F91A9089879\"",
+ "properties": {
+ "allowUpdates": false,
+ "defaultVersion": "2.0",
+ "displayName": "myAppName"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationPackageActivate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationPackageActivate.json
new file mode 100644
index 000000000000..c70bfe5da986
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationPackageActivate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1",
+ "versionName": "1",
+ "parameters": {
+ "format": "zip"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D64FEC83A3B436\""
+ },
+ "body": {
+ "type": "Microsoft.Batch/batchAccounts/applications/versions",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1",
+ "name": "1",
+ "etag": "W/\"0x8D64FEC83A3B436\"",
+ "properties": {
+ "state": "Active",
+ "format": "zip",
+ "lastActivationTime": "2017-06-27T18:48:09.9330991Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationPackageCreate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationPackageCreate.json
new file mode 100644
index 000000000000..361e1f558d4e
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationPackageCreate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1",
+ "versionName": "1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D64FEC83A3B436\""
+ },
+ "body": {
+ "type": "Microsoft.Batch/batchAccounts/applications/versions",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1",
+ "name": "1",
+ "etag": "W/\"0x8D64FEC83A3B436\"",
+ "properties": {
+ "storageUrl": "http://mystorage1.blob.core.windows.net/myapp?mysas",
+ "storageUrlExpiry": "2017-06-27T18:48:09.9330991Z",
+ "state": "Pending"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationPackageDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationPackageDelete.json
new file mode 100644
index 000000000000..ddf9acde6edb
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationPackageDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1",
+ "versionName": "1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationPackageGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationPackageGet.json
new file mode 100644
index 000000000000..0984d18eb28c
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationPackageGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1",
+ "versionName": "1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D64FEC83A3B436\""
+ },
+ "body": {
+ "type": "Microsoft.Batch/batchAccounts/applications/versions",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1",
+ "name": "1",
+ "etag": "W/\"0x8D64FEC83A3B436\"",
+ "properties": {
+ "state": "Active",
+ "format": "zip",
+ "lastActivationTime": "2017-06-27T18:48:09.9330991Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationPackageList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationPackageList.json
new file mode 100644
index 000000000000..d153122bd715
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationPackageList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.Batch/batchAccounts/applications/versions",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1.0",
+ "name": "1.0",
+ "etag": "W/\"0x8D64FF0B9F47F67\"",
+ "properties": {
+ "state": "Pending"
+ }
+ },
+ {
+ "type": "Microsoft.Batch/batchAccounts/applications/versions",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/2.0",
+ "name": "2.0",
+ "etag": "W/\"0x8D64FF0B9F47F67\"",
+ "properties": {
+ "state": "Active",
+ "format": "zip",
+ "lastActivationTime": "2017-06-27T18:48:09.9330991Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationUpdate.json
new file mode 100644
index 000000000000..42892e7deaa2
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/ApplicationUpdate.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1",
+ "parameters": {
+ "properties": {
+ "allowUpdates": true,
+ "displayName": "myAppName",
+ "defaultVersion": "2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D64F915BDF7F00\""
+ },
+ "body": {
+ "type": "Microsoft.Batch/batchAccounts/applications",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1",
+ "name": "app1",
+ "etag": "W/\"0x8D64F915BDF7F00\"",
+ "properties": {
+ "allowUpdates": true,
+ "displayName": "myAppName",
+ "defaultVersion": "2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountCreate_BYOS.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountCreate_BYOS.json
new file mode 100644
index 000000000000..29b21d222829
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountCreate_BYOS.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "location": "japaneast",
+ "properties": {
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage"
+ },
+ "poolAllocationMode": "UserSubscription",
+ "keyVaultReference": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample",
+ "url": "http://sample.vault.azure.net/"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "name": "sampleacct",
+ "location": "japaneast",
+ "properties": {
+ "accountEndpoint": "sampleacct.japaneast.batch.azure.com",
+ "provisioningState": "Succeeded",
+ "poolAllocationMode": "UserSubscription",
+ "dedicatedCoreQuota": 20,
+ "lowPriorityCoreQuota": 20,
+ "poolQuota": 20,
+ "activeJobAndJobScheduleQuota": 20,
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage",
+ "lastKeySync": "2016-03-10T23:48:38.9878479Z"
+ },
+ "keyVaultReference": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample",
+ "url": "http://sample.vault.azure.net/"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountCreate_Default.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountCreate_Default.json
new file mode 100644
index 000000000000..8e81717f624f
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountCreate_Default.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "location": "japaneast",
+ "properties": {
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "name": "sampleacct",
+ "location": "japaneast",
+ "properties": {
+ "accountEndpoint": "sampleacct.japaneast.batch.azure.com",
+ "provisioningState": "Succeeded",
+ "poolAllocationMode": "BatchService",
+ "dedicatedCoreQuota": 20,
+ "lowPriorityCoreQuota": 20,
+ "poolQuota": 20,
+ "activeJobAndJobScheduleQuota": 20,
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage",
+ "lastKeySync": "2016-03-10T23:48:38.9878479Z"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountCreate_SystemAssignedIdentity.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountCreate_SystemAssignedIdentity.json
new file mode 100644
index 000000000000..2ebc4373a6dc
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountCreate_SystemAssignedIdentity.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "location": "japaneast",
+ "properties": {
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage"
+ }
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "name": "sampleacct",
+ "location": "japaneast",
+ "properties": {
+ "accountEndpoint": "sampleacct.japaneast.batch.azure.com",
+ "provisioningState": "Succeeded",
+ "poolAllocationMode": "BatchService",
+ "dedicatedCoreQuota": 20,
+ "lowPriorityCoreQuota": 20,
+ "poolQuota": 20,
+ "activeJobAndJobScheduleQuota": 20,
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage",
+ "lastKeySync": "2016-03-10T23:48:38.9878479Z"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "identity": {
+ "principalId": "1a2e532b-9900-414c-8600-cfc6126628d7",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountCreate_UserAssignedIdentity.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountCreate_UserAssignedIdentity.json
new file mode 100644
index 000000000000..73de0288d389
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountCreate_UserAssignedIdentity.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "location": "japaneast",
+ "properties": {
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "name": "sampleacct",
+ "location": "japaneast",
+ "properties": {
+ "accountEndpoint": "sampleacct.japaneast.batch.azure.com",
+ "provisioningState": "Succeeded",
+ "poolAllocationMode": "BatchService",
+ "dedicatedCoreQuota": 20,
+ "lowPriorityCoreQuota": 20,
+ "poolQuota": 20,
+ "activeJobAndJobScheduleQuota": 20,
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage",
+ "lastKeySync": "2016-03-10T23:48:38.9878479Z"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ },
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountDelete.json
new file mode 100644
index 000000000000..d658fe606052
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountGet.json
new file mode 100644
index 000000000000..2f851af7c9d4
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleacct",
+ "location": "japaneast",
+ "properties": {
+ "accountEndpoint": "sampleacct.japaneast.batch.azure.com",
+ "provisioningState": "Succeeded",
+ "poolAllocationMode": "BatchService",
+ "dedicatedCoreQuota": 20,
+ "lowPriorityCoreQuota": 20,
+ "poolQuota": 20,
+ "activeJobAndJobScheduleQuota": 20,
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage",
+ "lastKeySync": "2016-03-10T23:48:38.9878479Z"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountGetKeys.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountGetKeys.json
new file mode 100644
index 000000000000..5fdacf853c00
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountGetKeys.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "accountName": "sampleacct",
+ "primary": "AAAA==",
+ "secondary": "BBBB=="
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountList.json
new file mode 100644
index 000000000000..338b00394731
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "sampleacct",
+ "location": "japaneast",
+ "properties": {
+ "accountEndpoint": "sampleacct.japaneast.batch.azure.com",
+ "provisioningState": "Succeeded",
+ "poolAllocationMode": "BatchService",
+ "dedicatedCoreQuota": 20,
+ "lowPriorityCoreQuota": 20,
+ "poolQuota": 20,
+ "activeJobAndJobScheduleQuota": 20,
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage",
+ "lastKeySync": "2016-03-10T23:48:38.9878479Z"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountListByResourceGroup.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountListByResourceGroup.json
new file mode 100644
index 000000000000..4cd2ef5733f2
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountListByResourceGroup.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "sampleacct",
+ "location": "japaneast",
+ "properties": {
+ "accountEndpoint": "sampleacct.japaneast.batch.azure.com",
+ "provisioningState": "Succeeded",
+ "poolAllocationMode": "BatchService",
+ "dedicatedCoreQuota": 20,
+ "lowPriorityCoreQuota": 20,
+ "poolQuota": 20,
+ "activeJobAndJobScheduleQuota": 20,
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage",
+ "lastKeySync": "2016-03-10T23:48:38.9878479Z"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountListOutboundNetworkDependenciesEndpoints.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountListOutboundNetworkDependenciesEndpoints.json
new file mode 100644
index 000000000000..63d7df270e92
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountListOutboundNetworkDependenciesEndpoints.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "category": "Azure Batch",
+ "endpoints": [
+ {
+ "domainName": "japaneast.batch.azure.com",
+ "description": "Applicable to all Azure Batch pools.",
+ "endpointDetails": [
+ {
+ "port": 443
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Azure Storage",
+ "endpoints": [
+ {
+ "domainName": "sampleautostorageaccountname.blob.core.windows.net",
+ "description": "AutoStorage endpoint for this Batch account. Applicable to all Azure Batch pools under this account.",
+ "endpointDetails": [
+ {
+ "port": 443
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Microsoft Package Repository",
+ "endpoints": [
+ {
+ "domainName": "packages.microsoft.com",
+ "description": "Only applicable to pools containing a Mount Configuration. Learn about Mount Configurations in Batch at https://docs.microsoft.com/en-us/azure/batch/virtual-file-mount.",
+ "endpointDetails": [
+ {
+ "port": 443
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Azure Key Vault",
+ "endpoints": [
+ {
+ "domainName": "*.vault.azure.net",
+ "description": "Only applicable to pools containing a Disk Encryption Configuration and whose VM size does not support encryption at host. Learn more about disk encryption in Azure Batch at https://docs.microsoft.com/en-us/azure/batch/disk-encryption. Learn more about encryption at host and supported VM sizes at https://docs.microsoft.com/en-us/azure/virtual-machines/disks-enable-host-based-encryption-portal.",
+ "endpointDetails": [
+ {
+ "port": 443
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountRegenerateKey.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountRegenerateKey.json
new file mode 100644
index 000000000000..b72485394ea8
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountRegenerateKey.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "keyName": "Primary"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "accountName": "sampleacct",
+ "primary": "AAAA==",
+ "secondary": "BBBB=="
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountSynchronizeAutoStorageKeys.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountSynchronizeAutoStorageKeys.json
new file mode 100644
index 000000000000..4b4f6b4ca88f
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountSynchronizeAutoStorageKeys.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountUpdate.json
new file mode 100644
index 000000000000..59888836a2bd
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/BatchAccountUpdate.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleacct",
+ "location": "japaneast",
+ "properties": {
+ "accountEndpoint": "sampleacct.japaneast.batch.azure.com",
+ "provisioningState": "Succeeded",
+ "poolAllocationMode": "BatchService",
+ "dedicatedCoreQuota": 20,
+ "lowPriorityCoreQuota": 20,
+ "poolQuota": 20,
+ "activeJobAndJobScheduleQuota": 20,
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage",
+ "lastKeySync": "2016-03-10T23:48:38.9878479Z"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateCancelDeletion.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateCancelDeletion.json
new file mode 100644
index 000000000000..ced3220fbf77
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateCancelDeletion.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDD513C3EDBB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "type": "Microsoft.Batch/batchAccounts/certificates",
+ "etag": "W/\"0x8D4EDD513C3EDBB\"",
+ "properties": {
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z",
+ "previousProvisioningState": "Failed",
+ "previousProvisioningStateTransitionTime": "2017-07-21T00:22:54.3299195Z",
+ "format": "Pfx",
+ "publicData": "MIICrjCCAZagAwI..."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateCreate_Full.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateCreate_Full.json
new file mode 100644
index 000000000000..b2cbab29061d
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateCreate_Full.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "parameters": {
+ "properties": {
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "data": "MIIJsgIBAzCCCW4GCSqGSIb3DQE...",
+ "password": "",
+ "format": "Pfx"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDD5118668F7\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "type": "Microsoft.Batch/batchAccounts/certificates",
+ "etag": "W/\"0x8D4EDD5118668F7\"",
+ "properties": {
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z",
+ "format": "Pfx",
+ "publicData": "MIICrjCCAZagAwI..."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateCreate_Minimal.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateCreate_Minimal.json
new file mode 100644
index 000000000000..ace5bd33881c
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateCreate_Minimal.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "parameters": {
+ "properties": {
+ "data": "MIIJsgIBAzCCCW4GCSqGSIb3DQE...",
+ "password": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDD5118668F7\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "type": "Microsoft.Batch/batchAccounts/certificates",
+ "etag": "W/\"0x8D4EDD5118668F7\"",
+ "properties": {
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z",
+ "format": "Pfx",
+ "publicData": "MIICrjCCAZagAwI..."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateCreate_MinimalCer.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateCreate_MinimalCer.json
new file mode 100644
index 000000000000..30d1ade78cc5
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateCreate_MinimalCer.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "parameters": {
+ "properties": {
+ "data": "MIICrjCCAZagAwI...",
+ "format": "Cer"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDD5118668F7\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "type": "Microsoft.Batch/batchAccounts/certificates",
+ "etag": "W/\"0x8D4EDD5118668F7\"",
+ "properties": {
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z",
+ "format": "Cer",
+ "publicData": "MIICrjCCAZagAwI..."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateDelete.json
new file mode 100644
index 000000000000..a85c4a909bdb
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "api-version": "2021-06-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Retry-After": "15",
+ "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/certificateOperationResults/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e-8D4EDFF164A11C9?api-version=2021-06-01"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateGet.json
new file mode 100644
index 000000000000..87ecf056c30e
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "api-version": "2021-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDD5118668F7\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "type": "Microsoft.Batch/batchAccounts/certificates",
+ "etag": "W/\"0x8D4EDD5118668F7\"",
+ "properties": {
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z",
+ "format": "Pfx",
+ "publicData": "MIICrjCCAZagAwI..."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateGetWithDeletionError.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateGetWithDeletionError.json
new file mode 100644
index 000000000000..fc87ca11c1d0
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateGetWithDeletionError.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "api-version": "2021-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDD5118668F7\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "type": "Microsoft.Batch/batchAccounts/certificates",
+ "etag": "W/\"0x8D4EDD5118668F7\"",
+ "properties": {
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "provisioningState": "Failed",
+ "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z",
+ "previousProvisioningState": "Deleting",
+ "previousProvisioningStateTransitionTime": "2017-07-21T00:15:25.5625498Z",
+ "format": "Pfx",
+ "publicData": "MIICrjCCAZagAwI...",
+ "deleteCertificateError": {
+ "code": "NodesReferencingCertificate",
+ "message": "The specified certificate is being used by the below mentioned node(s)\nRequestId:2dc78afc-b15b-42d2-8c85-39cb61a0799e\nTime:2017-08-28T10:22:52.8633406Z",
+ "target": "BatchAccount",
+ "details": [
+ {
+ "code": "Nodes",
+ "message": "node1, node3"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateList.json
new file mode 100644
index 000000000000..bd6a8eac84cb
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "api-version": "2021-06-01",
+ "maxResults": "1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "type": "Microsoft.Batch/batchAccounts/certificates",
+ "etag": "W/\"0x8D4EDD5118668F7\"",
+ "properties": {
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z",
+ "format": "Pfx",
+ "publicData": "MIICrjCCAZagAwI..."
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates?api-version=2021-06-01&$skiptoken=NPK%3D28%3A2857p428pug%2022F53A7734C947B8NRK%3D45%3Asha1-c23dc7f22edc793856a7506fe66397ccb4a33b46SM%3D5%3AFalse"
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateListWithFilter.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateListWithFilter.json
new file mode 100644
index 000000000000..3a408d38e71e
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateListWithFilter.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "api-version": "2021-06-01",
+ "$filter": "properties/provisioningStateTransitionTime gt '2017-05-01' or properties/provisioningState eq 'Failed'",
+ "$select": "properties/format,properties/provisioningState"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "type": "Microsoft.Batch/batchAccounts/certificates",
+ "etag": "W/\"0x8D4EDD5118668F7\"",
+ "properties": {
+ "provisioningState": "Failed",
+ "format": "Pfx"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-aeb228ffb0bf67a793d61dce263ebd16949f15a1",
+ "name": "sha1-aeb228ffb0bf67a793d61dce263ebd16949f15a1",
+ "type": "Microsoft.Batch/batchAccounts/certificates",
+ "etag": "W/\"0x8D4EDD5118572E0\"",
+ "properties": {
+ "provisioningState": "Failed",
+ "format": "Cer"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateUpdate.json
new file mode 100644
index 000000000000..ace5bd33881c
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/CertificateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "parameters": {
+ "properties": {
+ "data": "MIIJsgIBAzCCCW4GCSqGSIb3DQE...",
+ "password": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDD5118668F7\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "type": "Microsoft.Batch/batchAccounts/certificates",
+ "etag": "W/\"0x8D4EDD5118668F7\"",
+ "properties": {
+ "thumbprintAlgorithm": "sha1",
+ "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z",
+ "format": "Pfx",
+ "publicData": "MIICrjCCAZagAwI..."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/LocationCheckNameAvailability_AlreadyExists.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/LocationCheckNameAvailability_AlreadyExists.json
new file mode 100644
index 000000000000..67f0be3d1c3d
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/LocationCheckNameAvailability_AlreadyExists.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "locationName": "japaneast",
+ "parameters": {
+ "name": "existingaccountname",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "An account named 'existingaccountname' is already in use."
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/LocationCheckNameAvailability_Available.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/LocationCheckNameAvailability_Available.json
new file mode 100644
index 000000000000..a870b1274550
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/LocationCheckNameAvailability_Available.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "locationName": "japaneast",
+ "parameters": {
+ "name": "newaccountname",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/LocationGetQuotas.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/LocationGetQuotas.json
new file mode 100644
index 000000000000..5ed6271a895b
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/LocationGetQuotas.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "locationName": "japaneast"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "accountQuota": 1
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/LocationListCloudServiceSkus.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/LocationListCloudServiceSkus.json
new file mode 100644
index 000000000000..10b6677cc4df
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/LocationListCloudServiceSkus.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "locationName": "japaneast"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Small",
+ "familyName": "standardA0_A7Family",
+ "capabilities": [
+ {
+ "name": "MaxResourceVolumeMB",
+ "value": "20480"
+ },
+ {
+ "name": "vCPUs",
+ "value": "1"
+ },
+ {
+ "name": "HyperVGenerations",
+ "value": "V1"
+ },
+ {
+ "name": "MemoryGB",
+ "value": "0.75"
+ },
+ {
+ "name": "LowPriorityCapable",
+ "value": "False"
+ },
+ {
+ "name": "vCPUsAvailable",
+ "value": "1"
+ },
+ {
+ "name": "EphemeralOSDiskSupported",
+ "value": "False"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/LocationListVirtualMachineSkus.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/LocationListVirtualMachineSkus.json
new file mode 100644
index 000000000000..50d0d6c8bb0a
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/LocationListVirtualMachineSkus.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "locationName": "japaneast"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Standard_D1_v2",
+ "familyName": "standardDFamily",
+ "capabilities": [
+ {
+ "name": "MaxResourceVolumeMB",
+ "value": "20480"
+ },
+ {
+ "name": "vCPUs",
+ "value": "1"
+ },
+ {
+ "name": "HyperVGenerations",
+ "value": "V1"
+ },
+ {
+ "name": "MemoryGB",
+ "value": "0.75"
+ },
+ {
+ "name": "LowPriorityCapable",
+ "value": "False"
+ },
+ {
+ "name": "vCPUsAvailable",
+ "value": "1"
+ },
+ {
+ "name": "EphemeralOSDiskSupported",
+ "value": "False"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_CloudServiceConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_CloudServiceConfiguration.json
new file mode 100644
index 000000000000..d287c8c2bf52
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_CloudServiceConfiguration.json
@@ -0,0 +1,227 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01",
+ "parameters": {
+ "properties": {
+ "displayName": "my-pool-name",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Enabled",
+ "taskSlotsPerNode": 13,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Pack"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "4",
+ "osVersion": "WA-GUEST-OS-4.45_201708-01"
+ }
+ },
+ "networkConfiguration": {
+ "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123",
+ "publicIPAddressConfiguration": {
+ "provision": "UserManaged",
+ "ipAddressIds": [
+ "/subscriptions/subid1/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135",
+ "/subscriptions/subid2/resourceGroups/rg24/providers/Microsoft.Network/publicIPAddresses/ip268"
+ ]
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 6,
+ "targetLowPriorityNodes": 28,
+ "resizeTimeout": "PT8M",
+ "nodeDeallocationOption": "TaskCompletion"
+ }
+ },
+ "metadata": [
+ {
+ "name": "metadata-1",
+ "value": "value-1"
+ },
+ {
+ "name": "metadata-2",
+ "value": "value-2"
+ }
+ ],
+ "startTask": {
+ "commandLine": "cmd /c SET",
+ "resourceFiles": [
+ {
+ "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file",
+ "filePath": "c:\\temp\\gohere",
+ "fileMode": "777"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "MYSET",
+ "value": "1234"
+ }
+ ],
+ "userIdentity": {
+ "autoUser": {
+ "scope": "Pool",
+ "elevationLevel": "Admin"
+ }
+ },
+ "maxTaskRetryCount": 6,
+ "waitForSuccess": true
+ },
+ "userAccounts": [
+ {
+ "name": "username1",
+ "password": "",
+ "elevationLevel": "Admin",
+ "linuxUserConfiguration": {
+ "sshPrivateKey": "sshprivatekeyvalue",
+ "uid": 1234,
+ "gid": 4567
+ }
+ }
+ ],
+ "applicationPackages": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234",
+ "version": "asdf"
+ }
+ ],
+ "certificates": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567",
+ "storeLocation": "LocalMachine",
+ "storeName": "MY",
+ "visibility": [
+ "RemoteUser"
+ ]
+ }
+ ],
+ "applicationLicenses": [
+ "app-license0",
+ "app-license1"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Enabled",
+ "taskSlotsPerNode": 13,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Pack"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "4",
+ "osVersion": "WA-GUEST-OS-4.45_201708-01"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 6,
+ "targetLowPriorityNodes": 28,
+ "resizeTimeout": "PT8M",
+ "nodeDeallocationOption": "TaskCompletion"
+ }
+ },
+ "networkConfiguration": {
+ "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123",
+ "publicIPAddressConfiguration": {
+ "provision": "UserManaged",
+ "ipAddressIds": [
+ "/subscriptions/subid1/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135",
+ "/subscriptions/subid2/resourceGroups/rg24/providers/Microsoft.Network/publicIPAddresses/ip268"
+ ]
+ }
+ },
+ "metadata": [
+ {
+ "name": "metadata-1",
+ "value": "value-1"
+ },
+ {
+ "name": "metadata-2",
+ "value": "value-2"
+ }
+ ],
+ "startTask": {
+ "commandLine": "cmd /c SET",
+ "resourceFiles": [
+ {
+ "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file",
+ "filePath": "c:\\temp\\gohere",
+ "fileMode": "777"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "MYSET",
+ "value": "1234"
+ }
+ ],
+ "userIdentity": {
+ "autoUser": {
+ "scope": "Pool",
+ "elevationLevel": "Admin"
+ }
+ },
+ "maxTaskRetryCount": 6,
+ "waitForSuccess": true
+ },
+ "userAccounts": [
+ {
+ "name": "username1",
+ "elevationLevel": "Admin",
+ "linuxUserConfiguration": {
+ "uid": 1234,
+ "gid": 4567
+ }
+ }
+ ],
+ "applicationPackages": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234",
+ "version": "asdf"
+ }
+ ],
+ "certificates": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567",
+ "storeLocation": "LocalMachine",
+ "storeName": "MY",
+ "visibility": [
+ "RemoteUser"
+ ]
+ }
+ ],
+ "applicationLicenses": [
+ "app-license0",
+ "app-license1"
+ ],
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json
new file mode 100644
index 000000000000..d7ab25768f80
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01",
+ "parameters": {
+ "properties": {
+ "vmSize": "STANDARD_D4",
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "5"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 3
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "taskSlotsPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "5",
+ "osVersion": "*"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 3,
+ "targetLowPriorityNodes": 0,
+ "resizeTimeout": "PT15M"
+ }
+ },
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0,
+ "resizeOperationStatus": {
+ "startTime": "2017-08-28T10:22:55.9407275Z",
+ "targetDedicatedNodes": 3,
+ "nodeDeallocationOption": "Requeue",
+ "resizeTimeout": "PT15M"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json
new file mode 100644
index 000000000000..16e0ea605d59
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01",
+ "parameters": {
+ "properties": {
+ "vmSize": "STANDARD_D4",
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "UbuntuServer",
+ "sku": "18.04-LTS",
+ "version": "latest"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 18.04"
+ }
+ },
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicatedNodes=1",
+ "evaluationInterval": "PT5M"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "taskSlotsPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "UbuntuServer",
+ "sku": "18.04-LTS",
+ "version": "latest"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 18.04"
+ }
+ },
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicatedNodes=1",
+ "evaluationInterval": "PT5M"
+ }
+ },
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_NoPublicIPAddresses.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_NoPublicIPAddresses.json
new file mode 100644
index 000000000000..9a0dbeda4d0e
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_NoPublicIPAddresses.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01",
+ "parameters": {
+ "properties": {
+ "vmSize": "STANDARD_D4",
+ "networkConfiguration": {
+ "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123",
+ "publicIPAddressConfiguration": {
+ "provision": "NoPublicIPAddresses"
+ }
+ },
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 18.04"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Steady",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "taskSlotsPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "networkConfiguration": {
+ "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123",
+ "publicIPAddressConfiguration": {
+ "provision": "NoPublicIPAddresses"
+ }
+ },
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 18.04"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 0,
+ "targetLowPriorityNodes": 0
+ }
+ },
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_PublicIPs.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_PublicIPs.json
new file mode 100644
index 000000000000..af9496e8a1e0
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_PublicIPs.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01",
+ "parameters": {
+ "properties": {
+ "vmSize": "STANDARD_D4",
+ "networkConfiguration": {
+ "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123",
+ "publicIPAddressConfiguration": {
+ "provision": "UserManaged",
+ "ipAddressIds": [
+ "/subscriptions/subid1/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135"
+ ]
+ }
+ },
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 18.04"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Steady",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "taskSlotsPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "networkConfiguration": {
+ "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123",
+ "publicIPAddressConfiguration": {
+ "provision": "UserManaged",
+ "ipAddressIds": [
+ "/subscriptions/subid1/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135"
+ ]
+ }
+ },
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 18.04"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 0,
+ "targetLowPriorityNodes": 0
+ }
+ },
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_SharedImageGallery.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_SharedImageGallery.json
new file mode 100644
index 000000000000..c103a6d700e6
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_SharedImageGallery.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01",
+ "parameters": {
+ "properties": {
+ "vmSize": "STANDARD_D4",
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 18.04"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Steady",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "taskSlotsPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 18.04"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 0,
+ "targetLowPriorityNodes": 0
+ }
+ },
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_UserAssignedIdentities.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_UserAssignedIdentities.json
new file mode 100644
index 000000000000..8d14cdff7015
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_UserAssignedIdentities.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "9999-09-09",
+ "parameters": {
+ "properties": {
+ "vmSize": "STANDARD_D4",
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "UbuntuServer",
+ "sku": "18.04-LTS",
+ "version": "latest"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 18.04"
+ }
+ },
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicatedNodes=1",
+ "evaluationInterval": "PT5M"
+ }
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {},
+ "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2020-10-01T10:22:55.9407275Z",
+ "creationTime": "2020-10-01T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2020-10-01T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2020-10-01T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "taskSlotsPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "UbuntuServer",
+ "sku": "18.04-LTS",
+ "version": "latest"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 18.04"
+ }
+ },
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicatedNodes=1",
+ "evaluationInterval": "PT5M"
+ }
+ },
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ },
+ "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": {
+ "principalId": "principalId2",
+ "clientId": "clientId2"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_VirtualMachineConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_VirtualMachineConfiguration.json
new file mode 100644
index 000000000000..e2339d74cfe6
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_VirtualMachineConfiguration.json
@@ -0,0 +1,200 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01",
+ "parameters": {
+ "properties": {
+ "vmSize": "STANDARD_D4",
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2016-Datacenter-SmallDisk",
+ "version": "latest"
+ },
+ "nodeAgentSkuId": "batch.node.windows amd64",
+ "windowsConfiguration": {
+ "enableAutomaticUpdates": false
+ },
+ "licenseType": "Windows_Server",
+ "dataDisks": [
+ {
+ "lun": 0,
+ "caching": "ReadWrite",
+ "diskSizeGB": 30,
+ "storageAccountType": "Premium_LRS"
+ },
+ {
+ "lun": 1,
+ "caching": "None",
+ "diskSizeGB": 200,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "diskEncryptionConfiguration": {
+ "targets": [
+ "OsDisk",
+ "TemporaryDisk"
+ ]
+ },
+ "nodePlacementConfiguration": {
+ "policy": "Zonal"
+ },
+ "osDisk": {
+ "ephemeralOSDiskSettings": {
+ "placement": "CacheDisk"
+ }
+ }
+ }
+ },
+ "networkConfiguration": {
+ "endpointConfiguration": {
+ "inboundNatPools": [
+ {
+ "name": "testnat",
+ "protocol": "TCP",
+ "backendPort": 12001,
+ "frontendPortRangeStart": 15000,
+ "frontendPortRangeEnd": 15100,
+ "networkSecurityGroupRules": [
+ {
+ "access": "Allow",
+ "sourceAddressPrefix": "192.100.12.45",
+ "priority": 150,
+ "sourcePortRanges": [
+ "1",
+ "2"
+ ]
+ },
+ {
+ "access": "Deny",
+ "sourceAddressPrefix": "*",
+ "priority": 3500,
+ "sourcePortRanges": [
+ "*"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicatedNodes=1",
+ "evaluationInterval": "PT5M"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "taskSlotsPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2016-Datacenter-SmallDisk",
+ "version": "latest"
+ },
+ "nodeAgentSkuId": "batch.node.windows amd64",
+ "windowsConfiguration": {
+ "enableAutomaticUpdates": false
+ },
+ "licenseType": "Windows_Server",
+ "dataDisks": [
+ {
+ "lun": 0,
+ "caching": "ReadWrite",
+ "diskSizeGB": 30,
+ "storageAccountType": "Premium_LRS"
+ },
+ {
+ "lun": 1,
+ "caching": "None",
+ "diskSizeGB": 200,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "diskEncryptionConfiguration": {
+ "targets": [
+ "OsDisk",
+ "TemporaryDisk"
+ ]
+ },
+ "nodePlacementConfiguration": {
+ "policy": "Zonal"
+ }
+ }
+ },
+ "networkConfiguration": {
+ "endpointConfiguration": {
+ "inboundNatPools": [
+ {
+ "name": "testnat",
+ "protocol": "TCP",
+ "backendPort": 12001,
+ "frontendPortRangeStart": 15000,
+ "frontendPortRangeEnd": 15100,
+ "networkSecurityGroupRules": [
+ {
+ "access": "Allow",
+ "sourceAddressPrefix": "192.100.12.45",
+ "priority": 150,
+ "sourcePortRanges": [
+ "1",
+ "2"
+ ]
+ },
+ {
+ "access": "Deny",
+ "sourceAddressPrefix": "*",
+ "priority": 3500,
+ "sourcePortRanges": [
+ "*"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicatedNodes=1",
+ "evaluationInterval": "PT5M"
+ }
+ },
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_VirtualMachineConfiguration_Extensions.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_VirtualMachineConfiguration_Extensions.json
new file mode 100644
index 000000000000..9325f7da91bc
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolCreate_VirtualMachineConfiguration_Extensions.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01",
+ "parameters": {
+ "properties": {
+ "vmSize": "STANDARD_D4",
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicatedNodes=1",
+ "evaluationInterval": "PT5M"
+ }
+ },
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "0001-com-ubuntu-server-focal",
+ "sku": "20_04-lts"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 20.04",
+ "extensions": [
+ {
+ "name": "batchextension1",
+ "type": "SecurityMonitoringForLinux",
+ "publisher": "Microsoft.Azure.Security.Monitoring",
+ "typeHandlerVersion": "1.0",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "settingsKey": "settingsValue"
+ },
+ "protectedSettings": {
+ "protectedSettingsKey": "protectedSettingsValue"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "taskSlotsPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicatedNodes=1",
+ "evaluationInterval": "PT5M"
+ }
+ },
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0,
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "0001-com-ubuntu-server-focal",
+ "sku": "20_04-lts"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 20.04",
+ "extensions": [
+ {
+ "name": "batchextension1",
+ "type": "SecurityMonitoringForLinux",
+ "publisher": "Microsoft.Azure.Security.Monitoring",
+ "typeHandlerVersion": "1.0",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "settingsKey": "settingsValue"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolDelete.json
new file mode 100644
index 000000000000..7f55ae2263b4
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "202": {
+ "headers": {
+ "Retry-After": "15",
+ "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/poolOperationResults/delete-testpool-8D4EDFF164A11C9?api-version=2021-06-01"
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolDisableAutoScale.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolDisableAutoScale.json
new file mode 100644
index 000000000000..0b23169f027f
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolDisableAutoScale.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "taskSlotsPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "UbuntuServer",
+ "sku": "18.04-LTS",
+ "version": "latest"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 18.04"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 3,
+ "targetLowPriorityNodes": 0,
+ "resizeTimeout": "PT15M"
+ }
+ },
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolGet.json
new file mode 100644
index 000000000000..adbc2f8990a2
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolGet.json
@@ -0,0 +1,155 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Enabled",
+ "taskSlotsPerNode": 13,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Pack"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "4",
+ "osVersion": "WA-GUEST-OS-4.45_201708-01"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 6,
+ "targetLowPriorityNodes": 28,
+ "resizeTimeout": "PT8M"
+ }
+ },
+ "networkConfiguration": {
+ "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123",
+ "endpointConfiguration": {
+ "inboundNatPools": [
+ {
+ "name": "testnat",
+ "protocol": "TCP",
+ "backendPort": 12001,
+ "frontendPortRangeStart": 15000,
+ "frontendPortRangeEnd": 15100,
+ "networkSecurityGroupRules": [
+ {
+ "access": "Allow",
+ "sourceAddressPrefix": "192.100.12.45",
+ "priority": 150,
+ "sourcePortRanges": [
+ "123",
+ "22"
+ ]
+ },
+ {
+ "access": "Deny",
+ "sourceAddressPrefix": "*",
+ "priority": 3500,
+ "sourcePortRanges": [
+ "*"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "metadata": [
+ {
+ "name": "metadata-1",
+ "value": "value-1"
+ },
+ {
+ "name": "metadata-2",
+ "value": "value-2"
+ }
+ ],
+ "startTask": {
+ "commandLine": "cmd /c SET",
+ "resourceFiles": [
+ {
+ "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file",
+ "filePath": "c:\\temp\\gohere",
+ "fileMode": "777"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "MYSET",
+ "value": "1234"
+ }
+ ],
+ "userIdentity": {
+ "autoUser": {
+ "scope": "Pool",
+ "elevationLevel": "Admin"
+ }
+ },
+ "maxTaskRetryCount": 6,
+ "waitForSuccess": true
+ },
+ "userAccounts": [
+ {
+ "name": "username1",
+ "elevationLevel": "Admin",
+ "linuxUserConfiguration": {
+ "uid": 1234,
+ "gid": 4567
+ }
+ }
+ ],
+ "applicationPackages": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234",
+ "version": "asdf"
+ }
+ ],
+ "certificates": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567",
+ "storeLocation": "LocalMachine",
+ "storeName": "MY",
+ "visibility": [
+ "RemoteUser"
+ ]
+ }
+ ],
+ "applicationLicenses": [
+ "app-license0",
+ "app-license1"
+ ],
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0,
+ "resizeOperationStatus": {
+ "startTime": "2017-08-28T10:22:55.9407275Z",
+ "targetDedicatedNodes": 6,
+ "targetLowPriorityNodes": 28,
+ "nodeDeallocationOption": "TaskCompletion",
+ "resizeTimeout": "PT8M"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolGet_VirtualMachineConfiguration_Extensions.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolGet_VirtualMachineConfiguration_Extensions.json
new file mode 100644
index 000000000000..7c40ec9eec97
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolGet_VirtualMachineConfiguration_Extensions.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Enabled",
+ "taskSlotsPerNode": 13,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Pack"
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 6,
+ "targetLowPriorityNodes": 28,
+ "resizeTimeout": "PT8M"
+ }
+ },
+ "resizeOperationStatus": {
+ "startTime": "2017-08-28T10:22:55.9407275Z",
+ "targetDedicatedNodes": 6,
+ "targetLowPriorityNodes": 28,
+ "nodeDeallocationOption": "TaskCompletion",
+ "resizeTimeout": "PT8M"
+ },
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0,
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "0001-com-ubuntu-server-focal",
+ "sku": "20_04-lts"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 20.04",
+ "extensions": [
+ {
+ "name": "batchextension1",
+ "type": "SecurityMonitoringForLinux",
+ "publisher": "Microsoft.Azure.Security.Monitoring",
+ "typeHandlerVersion": "1.0",
+ "autoUpgradeMinorVersion": true,
+ "settings": {
+ "settingsKey": "settingsValue"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolList.json
new file mode 100644
index 000000000000..13f89b4cfa54
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolList.json
@@ -0,0 +1,161 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Steady",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Enabled",
+ "taskSlotsPerNode": 13,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Pack"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "4",
+ "osVersion": "WA-GUEST-OS-4.45_201708-01"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 6,
+ "targetLowPriorityNodes": 28,
+ "resizeTimeout": "PT8M"
+ }
+ },
+ "networkConfiguration": {
+ "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123",
+ "endpointConfiguration": {
+ "inboundNatPools": [
+ {
+ "name": "testnat",
+ "protocol": "TCP",
+ "backendPort": 12001,
+ "frontendPortRangeStart": 15000,
+ "frontendPortRangeEnd": 15100,
+ "networkSecurityGroupRules": [
+ {
+ "access": "Allow",
+ "sourceAddressPrefix": "192.100.12.45",
+ "priority": 150,
+ "sourcePortRanges": [
+ "*"
+ ]
+ },
+ {
+ "access": "Deny",
+ "sourceAddressPrefix": "*",
+ "priority": 3500,
+ "sourcePortRanges": [
+ "*"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "metadata": [
+ {
+ "name": "metadata-1",
+ "value": "value-1"
+ },
+ {
+ "name": "metadata-2",
+ "value": "value-2"
+ }
+ ],
+ "startTask": {
+ "commandLine": "cmd /c SET",
+ "resourceFiles": [
+ {
+ "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file",
+ "filePath": "c:\\temp\\gohere",
+ "fileMode": "777"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "MYSET",
+ "value": "1234"
+ }
+ ],
+ "userIdentity": {
+ "autoUser": {
+ "scope": "Pool",
+ "elevationLevel": "Admin"
+ }
+ },
+ "maxTaskRetryCount": 6,
+ "waitForSuccess": true
+ },
+ "userAccounts": [
+ {
+ "name": "username1",
+ "elevationLevel": "Admin",
+ "linuxUserConfiguration": {
+ "uid": 1234,
+ "gid": 4567
+ }
+ }
+ ],
+ "applicationPackages": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234",
+ "version": "asdf"
+ }
+ ],
+ "certificates": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567",
+ "storeLocation": "LocalMachine",
+ "storeName": "MY",
+ "visibility": [
+ "RemoteUser"
+ ]
+ }
+ ],
+ "applicationLicenses": [
+ "app-license0",
+ "app-license1"
+ ],
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0,
+ "resizeOperationStatus": {
+ "startTime": "2017-08-28T10:22:55.9407275Z",
+ "targetDedicatedNodes": 6,
+ "targetLowPriorityNodes": 28,
+ "nodeDeallocationOption": "TaskCompletion",
+ "resizeTimeout": "PT8M",
+ "errors": [
+ {
+ "code": "AllocationTimedout",
+ "message": "Desired number of dedicated nodes could not be allocated as the resize timeout was reached"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolListWithFilter.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolListWithFilter.json
new file mode 100644
index 000000000000..f715e4a42f1f
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolListWithFilter.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01",
+ "$filter": "startswith(name, 'po') or (properties/allocationState eq 'Steady' and properties/provisioningStateTransitionTime lt datetime'2017-02-02')",
+ "$select": "properties/allocationState,properties/provisioningStateTransitionTime,properties/currentDedicatedNodes,properties/currentLowPriorityNodes",
+ "maxResults": "50"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Steady",
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 2
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/pooltest",
+ "name": "pooltest",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "provisioningStateTransitionTime": "2017-08-26T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "currentDedicatedNodes": 4,
+ "currentLowPriorityNodes": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolStopResize.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolStopResize.json
new file mode 100644
index 000000000000..dae287e6958a
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolStopResize.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Steady",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "taskSlotsPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "UbuntuServer",
+ "sku": "18.04-LTS",
+ "version": "latest"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 18.04"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 3,
+ "targetLowPriorityNodes": 0,
+ "resizeTimeout": "PT15M"
+ }
+ },
+ "resizeOperationStatus": {
+ "startTime": "2017-08-28T10:22:55.9407275Z",
+ "targetDedicatedNodes": 1,
+ "nodeDeallocationOption": "Requeue",
+ "resizeTimeout": "PT10M"
+ },
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolUpdate_EnableAutoScale.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolUpdate_EnableAutoScale.json
new file mode 100644
index 000000000000..11f1859c57db
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolUpdate_EnableAutoScale.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01",
+ "parameters": {
+ "properties": {
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicatedNodes=34"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-29T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "taskSlotsPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "5",
+ "osVersion": "*"
+ }
+ },
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicated=34",
+ "evaluationInterval": "PT15M"
+ }
+ },
+ "autoScaleRun": {
+ "evaluationTime": "2017-08-29T10:22:55.9407275Z",
+ "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue"
+ },
+ "currentDedicatedNodes": 12,
+ "currentLowPriorityNodes": 0,
+ "resizeOperationStatus": {
+ "startTime": "2017-08-29T10:22:55.9407275Z",
+ "targetDedicatedNodes": 34,
+ "nodeDeallocationOption": "Requeue",
+ "resizeTimeout": "PT15M"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolUpdate_OtherProperties.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolUpdate_OtherProperties.json
new file mode 100644
index 000000000000..f21c7af76372
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolUpdate_OtherProperties.json
@@ -0,0 +1,115 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01",
+ "parameters": {
+ "properties": {
+ "metadata": [
+ {
+ "name": "key1",
+ "value": "value1"
+ }
+ ],
+ "applicationPackages": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_5678",
+ "version": "1.0"
+ }
+ ],
+ "certificates": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567",
+ "storeLocation": "LocalMachine",
+ "storeName": "MY"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-29T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "taskSlotsPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "5",
+ "osVersion": "*"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 1,
+ "targetLowPriorityNodes": 0,
+ "resizeTimeout": "PT8M",
+ "nodeDeallocationOption": "TaskCompletion"
+ }
+ },
+ "autoScaleRun": {
+ "evaluationTime": "2017-08-29T10:22:55.9407275Z",
+ "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue"
+ },
+ "currentDedicatedNodes": 12,
+ "currentLowPriorityNodes": 0,
+ "resizeOperationStatus": {
+ "startTime": "2017-08-29T10:22:55.9407275Z",
+ "targetDedicatedNodes": 8,
+ "nodeDeallocationOption": "TaskCompletion",
+ "resizeTimeout": "PT8M"
+ },
+ "metadata": [
+ {
+ "name": "key1",
+ "value": "value1"
+ }
+ ],
+ "applicationPackages": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_5678",
+ "version": "1.0"
+ }
+ ],
+ "certificates": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567",
+ "storeLocation": "LocalMachine",
+ "storeName": "MY",
+ "visibility": [
+ "StartTask",
+ "Task",
+ "RemoteUser"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolUpdate_RemoveStartTask.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolUpdate_RemoveStartTask.json
new file mode 100644
index 000000000000..afcb4bce62ff
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolUpdate_RemoveStartTask.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01",
+ "parameters": {
+ "properties": {
+ "startTask": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-29T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "taskSlotsPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "5",
+ "osVersion": "*"
+ }
+ },
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicated=34",
+ "evaluationInterval": "PT15M"
+ }
+ },
+ "autoScaleRun": {
+ "evaluationTime": "2017-08-29T10:22:55.9407275Z",
+ "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue"
+ },
+ "currentDedicatedNodes": 12,
+ "currentLowPriorityNodes": 0,
+ "resizeOperationStatus": {
+ "startTime": "2017-08-29T10:22:55.9407275Z",
+ "targetDedicatedNodes": 34,
+ "nodeDeallocationOption": "Requeue",
+ "resizeTimeout": "PT15M"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolUpdate_ResizePool.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolUpdate_ResizePool.json
new file mode 100644
index 000000000000..597f1fa0ceae
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PoolUpdate_ResizePool.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2021-06-01",
+ "parameters": {
+ "properties": {
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 5,
+ "targetLowPriorityNodes": 0,
+ "resizeTimeout": "PT8M",
+ "nodeDeallocationOption": "TaskCompletion"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-29T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "taskSlotsPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "5",
+ "osVersion": "*"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 1,
+ "targetLowPriorityNodes": 0,
+ "resizeTimeout": "PT8M",
+ "nodeDeallocationOption": "TaskCompletion"
+ }
+ },
+ "autoScaleRun": {
+ "evaluationTime": "2017-08-29T10:22:55.9407275Z",
+ "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue"
+ },
+ "currentDedicatedNodes": 12,
+ "currentLowPriorityNodes": 0,
+ "resizeOperationStatus": {
+ "startTime": "2017-08-29T10:22:55.9407275Z",
+ "targetDedicatedNodes": 8,
+ "nodeDeallocationOption": "TaskCompletion",
+ "resizeTimeout": "PT8M"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateBatchAccountCreate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateBatchAccountCreate.json
new file mode 100644
index 000000000000..9626d5c7ee10
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateBatchAccountCreate.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "location": "japaneast",
+ "properties": {
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage"
+ },
+ "keyVaultReference": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample",
+ "url": "http://sample.vault.azure.net/"
+ },
+ "publicNetworkAccess": "Disabled"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "name": "sampleacct",
+ "location": "japaneast",
+ "properties": {
+ "accountEndpoint": "sampleacct.japaneast.batch.azure.com",
+ "provisioningState": "Succeeded",
+ "poolAllocationMode": "UserSubscription",
+ "dedicatedCoreQuota": 20,
+ "lowPriorityCoreQuota": 20,
+ "poolQuota": 20,
+ "activeJobAndJobScheduleQuota": 20,
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage",
+ "lastKeySync": "2016-03-10T23:48:38.9878479Z"
+ },
+ "keyVaultReference": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample",
+ "url": "http://sample.vault.azure.net/"
+ },
+ "publicNetworkAccess": "Disabled"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateBatchAccountGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateBatchAccountGet.json
new file mode 100644
index 000000000000..689f0182af96
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateBatchAccountGet.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2021-06-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleacct",
+ "location": "japaneast",
+ "properties": {
+ "accountEndpoint": "sampleacct.japaneast.batch.azure.com",
+ "provisioningState": "Succeeded",
+ "poolAllocationMode": "BatchService",
+ "dedicatedCoreQuota": 20,
+ "lowPriorityCoreQuota": 20,
+ "poolQuota": 20,
+ "activeJobAndJobScheduleQuota": 20,
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage",
+ "lastKeySync": "2016-03-10T23:48:38.9878479Z"
+ },
+ "publicNetworkAccess": "Disabled",
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnections/testprivateEndpointConnection.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0",
+ "name": "testprivateEndpointConnection.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0",
+ "type": "Microsoft.Batch/batchAccounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Network/privateEndpoints/testprivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by xyz.abc@company.com"
+ }
+ }
+ }
+ ]
+ },
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateEndpointConnectionGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateEndpointConnectionGet.json
new file mode 100644
index 000000000000..e046801ea1e4
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateEndpointConnectionGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "privateEndpointConnectionName": "testprivateEndpointConnection5testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0",
+ "api-version": "2021-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnections/testprivateEndpointConnection5testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0",
+ "name": "testprivateEndpointConnection5testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0",
+ "type": "Microsoft.Batch/batchAccounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Network/privateEndpoints/testprivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by xyz.abc@company.com"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateEndpointConnectionUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateEndpointConnectionUpdate.json
new file mode 100644
index 000000000000..8a15b89d3a1a
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateEndpointConnectionUpdate.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "privateEndpointConnectionName": "testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0",
+ "api-version": "2021-06-01",
+ "parameters": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by xyz.abc@company.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnections/testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0",
+ "name": "testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0",
+ "type": "Microsoft.Batch/batchAccounts/privateEndpointConnections",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Network/privateEndpoints/testprivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by xyz.abc@company.com"
+ }
+ }
+ }
+ },
+ "204": {},
+ "202": {
+ "headers": {
+ "Retry-After": "15",
+ "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnectionProxyResults/Updating$testprivateEndpointConnection5.24d6b4b5$e65c-4330-bbe9-3a290d62f8e0-8D4EDFF164A11C9?api-version=2021-06-01"
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateEndpointConnectionsList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateEndpointConnectionsList.json
new file mode 100644
index 000000000000..bcaca06284a0
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateEndpointConnectionsList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "privateEndpointConnectionName": "testprivateEndpointConnection",
+ "api-version": "2021-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnections/testprivateEndpointConnection",
+ "name": "testprivateEndpointConnection",
+ "type": "Microsoft.Batch/batchAccounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Network/privateEndpoints/testprivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by xyz.abc@company.com"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateLinkResourceGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateLinkResourceGet.json
new file mode 100644
index 000000000000..34f90b597826
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateLinkResourceGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "privateLinkResourceName": "sampleacct",
+ "api-version": "2021-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateLinkResources/sampleacct",
+ "name": "sampleacct",
+ "type": "Microsoft.Batch/batchAccounts/privateLinkResources",
+ "properties": {
+ "groupId": "batchAccount",
+ "requiredMembers": [
+ "batchAccount"
+ ],
+ "requiredZoneNames": [
+ "privatelink.japaneast.batch.azure.com"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateLinkResourcesList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateLinkResourcesList.json
new file mode 100644
index 000000000000..97078372522b
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/examples/PrivateLinkResourcesList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "privateLinkResourceName": "testprivateLinkResource",
+ "api-version": "2021-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateLinkResources/testprivateLinkResource",
+ "name": "testprivateLinkResource",
+ "type": "Microsoft.Batch/batchAccounts/privateLinkResources",
+ "properties": {
+ "groupId": "batchAccount",
+ "requiredMembers": [
+ "batchAccount"
+ ],
+ "requiredZoneNames": [
+ "privatelink.japaneast.batch.azure.com"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/readme.go.md b/specification/batch/resource-manager/readme.go.md
index e209c4d48fa6..cf96dea9bd46 100644
--- a/specification/batch/resource-manager/readme.go.md
+++ b/specification/batch/resource-manager/readme.go.md
@@ -1,6 +1,5 @@
-
-## Go
+# Go
These settings apply only when `--go` is specified on the command line.
@@ -11,9 +10,11 @@ go:
clear-output-folder: true
```
-### Go multi-api
+## Go multi-api
+
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-06
- tag: package-2021-01
- tag: package-2020-09
- tag: package-2020-05
@@ -27,6 +28,15 @@ batch:
- tag: package-2015-12
```
+### Tag: package-2021-06 and go
+
+These settings apply only when `--tag=package-2021-06 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-06' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-06-01/$(namespace)
+```
+
### Tag: package-2021-01 and go
These settings apply only when `--tag=package-2021-01 --go` is specified on the command line.
diff --git a/specification/batch/resource-manager/readme.md b/specification/batch/resource-manager/readme.md
index 6f8b4e786064..61332e05cd70 100644
--- a/specification/batch/resource-manager/readme.md
+++ b/specification/batch/resource-manager/readme.md
@@ -25,8 +25,19 @@ To see additional help and options, run:
These are the global settings for the Batch API.
``` yaml
+title: BatchManagementClient
+description: Batch Client
openapi-type: arm
-tag: package-2021-01
+tag: package-2021-06
+```
+
+### Tag: package-2021-06
+
+These settings apply only when `--tag=package-2021-06` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-06'
+input-file:
+ - Microsoft.Batch/stable/2021-06-01/BatchManagement.json
```
### Tag: package-2021-01
@@ -107,33 +118,64 @@ Note that this setting should be removed once [this GitHub bug](https://github.c
``` yaml
directive:
+ - suppress: R2001
+ where: $.definitions.Operation.properties.properties
+ reason: Breaking change.
+
+ - suppress: R2017
+ where:
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}"].put
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}"].put
+ reason: Matching service response.
+
- suppress: R2063
- from: BatchManagement.json
reason: Bug in linter
- - from:
- - 2017-09-01/BatchManagement.json
- - 2017-05-01/BatchManagement.json
- - 2017-01-01/BatchManagement.json
- - 2015-12-01/BatchManagement.json
+
+ - suppress: R2066
where:
- - $.definitions.Application
- - $.definitions.ApplicationPackage
- suppress:
- - R2020
- reason: Proxy resource written prior to ARM guidelines update and would require breaking changes to fix. The shape of the entity will be corrected in future next API versions.
- - from:
- - 2017-09-01/BatchManagement.json
- - 2017-05-01/BatchManagement.json
- - 2017-01-01/BatchManagement.json
- - 2015-12-01/BatchManagement.json
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}/cancelDelete"].post.operationId
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/listKeys"].post.operationId
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/regenerateKeys"].post.operationId
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/syncAutoStorageKeys"].post.operationId
+ reason: This is fine as long as the OperationIds are all unique (as they presently are), and fixing it would likely involve a breaking change.
+
+ - suppress: R3018
+ where:
+ - $.definitions.ApplicationProperties.properties.allowUpdates
+ - $.definitions.BatchAccountProperties.properties.dedicatedCoreQuotaPerVMFamilyEnforced
+ - $.definitions.CheckNameAvailabilityResult.properties.nameAvailable
+ - $.definitions.StartTask.properties.waitForSuccess
+ - $.definitions.VMExtension.properties.autoUpgradeMinorVersion
+ - $.definitions.WindowsConfiguration.properties.enableAutomaticUpdates
+ reason: Breaking change.
+
+ - suppress: R3018
+ where:
+ - $.definitions.Operation.properties.isDataAction
+ reason: Boolean required for operations schema.
+
+ - suppress: R4009
where:
- - $.definitions.Application.properties
- - $.definitions.ApplicationPackage.properties
- suppress:
- - R3006
- reason: Proxy resource written prior to ARM guidelines update and would require breaking changes to fix. The shape of the entity will be corrected in future API versions.
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}"].get
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}"].patch
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}"].put
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}"].get
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}"].patch
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}"].put
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}"].get
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}"].put
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}"].get
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}"].patch
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}"].put
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}"].get
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}"].put
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}"].patch
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}"].patch
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}"].get
+ - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateLinkResources/{privateLinkResourceName}"].get
+ reason: Service missing headers.
+
- suppress: OBJECT_MISSING_REQUIRED_PROPERTY
- from: BatchManagement.json
where: $.definitions.UserAccount
reason: This field contains a secret (password) and is not returned on a get (but is required on a PUT/PATCH). Previous discussions with the modelling team had said that this was the correct way to model this type of field.
```
@@ -167,7 +209,7 @@ input-file:
---
-# Code Generation
+## Code Generation
## Swagger to SDK
@@ -177,7 +219,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
@@ -189,7 +230,7 @@ swagger-to-sdk:
- repo: azure-resource-manager-schemas
```
-## C#
+## C\#
These settings apply only when `--csharp` is specified on the command line.
Please also specify `--csharp-sdks-folder=`.
@@ -286,6 +327,3 @@ generate-interface: true
```
`
-
-
-
diff --git a/specification/batch/resource-manager/readme.nodejs.md b/specification/batch/resource-manager/readme.nodejs.md
index 50afafe7c4fc..c54c92a3c9b0 100644
--- a/specification/batch/resource-manager/readme.nodejs.md
+++ b/specification/batch/resource-manager/readme.nodejs.md
@@ -1,4 +1,4 @@
-## Node.js
+# Node.js
These settings apply only when `--nodejs` is specified on the command line.
Please also specify `--node-sdks-folder=`.
diff --git a/specification/batch/resource-manager/readme.python.md b/specification/batch/resource-manager/readme.python.md
index 66e1624afbd8..4d29c125de77 100644
--- a/specification/batch/resource-manager/readme.python.md
+++ b/specification/batch/resource-manager/readme.python.md
@@ -1,22 +1,10 @@
-## Python
+# 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.batch
- package-name: azure-mgmt-batch
- clear-output-folder: true
-```
-
``` yaml $(python) && $(track2)
-python-mode: create
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
namespace: azure.mgmt.batch
@@ -25,18 +13,12 @@ package-version: 14.0.0b1
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
no-namespace-folders: true
output-folder: $(python-sdks-folder)/batch/azure-mgmt-batch/azure/mgmt/batch
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/batch/azure-mgmt-batch/azure/mgmt/batch
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
basic-setup-py: true
output-folder: $(python-sdks-folder)/batch/azure-mgmt-batch
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/batch/azure-mgmt-batch
```
diff --git a/specification/batch/resource-manager/readme.ruby.md b/specification/batch/resource-manager/readme.ruby.md
index eb5052b24524..05bb60ad1152 100644
--- a/specification/batch/resource-manager/readme.ruby.md
+++ b/specification/batch/resource-manager/readme.ruby.md
@@ -1,4 +1,4 @@
-## Ruby
+# Ruby
These settings apply only when `--ruby` is specified on the command line.
@@ -8,7 +8,7 @@ package-version: "0.16.0"
azure-arm: true
```
-### Ruby multi-api
+## Ruby multi-api
``` yaml $(ruby) && $(multiapi)
batch:
diff --git a/specification/batch/resource-manager/readme.typescript.md b/specification/batch/resource-manager/readme.typescript.md
index 2db481be9600..bd6ffddf3dea 100644
--- a/specification/batch/resource-manager/readme.typescript.md
+++ b/specification/batch/resource-manager/readme.typescript.md
@@ -1,4 +1,4 @@
-## TypeScript
+# TypeScript
These settings apply only when `--typescript` is specified on the command line.
Please also specify `--typescript-sdks-folder=`.
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/BatchAI.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/BatchAI.json
deleted file mode 100644
index 05b6f9f5945e..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/BatchAI.json
+++ /dev/null
@@ -1,2991 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "BatchAI",
- "description": "The Azure BatchAI Management API.",
- "version": "2017-09-01-preview",
- "x-ms-code-generation-settings": {
- "name": "BatchAIManagementClient"
- }
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "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.BatchAI/operations": {
- "get": {
- "tags": [
- "Operations"
- ],
- "operationId": "Operations_List",
- "description": "Lists available operations for the Microsoft.BatchAI provider.",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/OperationListResult"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List of available operations for Batch AI Resource Provider": {
- "$ref": "./examples/OperationList.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}": {
- "put": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_Create",
- "description": "Adds a cluster. A cluster is a collection of compute nodes. Multiple jobs can be run on the same cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ClusterCreateParameters"
- },
- "description": "The parameters to provide for cluster creation."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the cluster entity.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "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 cluster": {
- "$ref": "./examples/PutCluster.json"
- }
- }
- },
- "patch": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_Update",
- "description": "Update the properties of a given cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ClusterUpdateParameters"
- },
- "description": "Additional parameters for cluster update."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the Cluster entity.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-examples": {
- "Patch cluster": {
- "$ref": "./examples/PatchCluster.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_Delete",
- "description": "Deletes a Cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful."
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "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 cluster": {
- "$ref": "./examples/DeleteCluster.json"
- }
- }
- },
- "get": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_Get",
- "description": "Gets information about the specified Cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains information about the cluster.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-examples": {
- "Get cluster": {
- "$ref": "./examples/GetCluster.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}/listRemoteLoginInformation": {
- "post": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_ListRemoteLoginInformation",
- "description": "Get the IP address, port of all the compute nodes in the cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the list of IP addresses.",
- "schema": {
- "$ref": "#/definitions/RemoteLoginInformationListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Get a cluster's remote-login-information": {
- "$ref": "./examples/ClusterListRemoteLoginInfo.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/clusters": {
- "get": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_List",
- "description": "Gets information about the Clusters associated with the subscription.",
- "parameters": [
- {
- "$ref": "#/parameters/FilterParameter"
- },
- {
- "$ref": "#/parameters/SelectParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a list of Cluster entities associated with the subscription.",
- "schema": {
- "$ref": "#/definitions/ClusterListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List clusters": {
- "$ref": "./examples/ListCluster.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters": {
- "get": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_ListByResourceGroup",
- "description": "Gets information about the Clusters associated within the specified resource group.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/FilterParameter"
- },
- {
- "$ref": "#/parameters/SelectParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a list of Cluster entities associated with the resource group.",
- "schema": {
- "$ref": "#/definitions/ClusterListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List clusters": {
- "$ref": "./examples/ListClusterByResourceGroup.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}": {
- "put": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_Create",
- "description": "Adds a Job that gets executed on a cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/JobCreateParameters"
- },
- "description": "The parameters to provide for job creation."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the job entity.",
- "schema": {
- "$ref": "#/definitions/Job"
- }
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "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 job": {
- "$ref": "./examples/PutJob.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_Delete",
- "description": "Deletes the specified Batch AI job.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful."
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "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 job": {
- "$ref": "./examples/DeleteJob.json"
- }
- }
- },
- "get": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_Get",
- "description": "Gets information about the specified Batch AI job.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the Batch AI job entity.",
- "schema": {
- "$ref": "#/definitions/Job"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-examples": {
- "Get job": {
- "$ref": "./examples/GetJob.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listRemoteLoginInformation": {
- "post": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_ListRemoteLoginInformation",
- "description": "Gets the IP address and port information of all the compute nodes which are used for job execution.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains compute node remote login information.",
- "schema": {
- "$ref": "#/definitions/RemoteLoginInformationListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Get a job's remote-login-information ": {
- "$ref": "./examples/JobListRemoteLoginInfo.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/terminate": {
- "post": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_Terminate",
- "description": "Terminates a job.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful."
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "Terminate job": {
- "$ref": "./examples/TerminateJob.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/jobs": {
- "get": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_List",
- "description": "Gets information about the jobs associated with the subscription.",
- "parameters": [
- {
- "$ref": "#/parameters/FilterParameter"
- },
- {
- "$ref": "#/parameters/SelectParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a list of Batch AI job entities associated with the subscription.",
- "schema": {
- "$ref": "#/definitions/JobListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List jobs": {
- "$ref": "./examples/ListJob.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs": {
- "get": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_ListByResourceGroup",
- "description": "Gets information about the Batch AI jobs associated within the specified resource group.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/FilterParameter"
- },
- {
- "$ref": "#/parameters/SelectParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a list of Job entities associated with the resource group.",
- "schema": {
- "$ref": "#/definitions/JobListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List jobs": {
- "$ref": "./examples/ListJobByResourceGroup.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listOutputFiles": {
- "post": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_ListOutputFiles",
- "description": "List all files inside the given output directory (Only if the output directory is on Azure File Share or Azure Storage container).",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "$ref": "#/parameters/OutputDirectoryIdParameter"
- },
- {
- "$ref": "#/parameters/DownloadLinkExpiryParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the list of job files.",
- "schema": {
- "$ref": "#/definitions/FileListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List a job's files": {
- "$ref": "./examples/ListOutputFiles.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers/{fileServerName}": {
- "put": {
- "tags": [
- "FileServer"
- ],
- "operationId": "FileServers_Create",
- "description": "Creates a file server.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/FileServerNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/FileServerCreateParameters"
- },
- "description": "The parameters to provide for file server creation."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the file server entity.",
- "schema": {
- "$ref": "#/definitions/FileServer"
- }
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "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 file server": {
- "$ref": "./examples/PutFileServer.json"
- }
- }
- },
- "delete": {
- "tags": [
- "FileServer"
- ],
- "operationId": "FileServers_Delete",
- "description": "Delete a file Server.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/FileServerNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful."
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "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 file server": {
- "$ref": "./examples/DeleteFileServer.json"
- }
- }
- },
- "get": {
- "tags": [
- "FileServer"
- ],
- "operationId": "FileServers_Get",
- "description": "Gets information about the specified Cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/FileServerNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains information about the FileServer.",
- "schema": {
- "$ref": "#/definitions/FileServer"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-examples": {
- "Get file server": {
- "$ref": "./examples/GetFileServer.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/fileServers": {
- "get": {
- "tags": [
- "FileServer"
- ],
- "operationId": "FileServers_List",
- "description": "To list all the file servers available under the given subscription (and across all resource groups within that subscription)",
- "parameters": [
- {
- "$ref": "#/parameters/FilterParameter"
- },
- {
- "$ref": "#/parameters/SelectParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a formatted list of clusters and their properties.",
- "schema": {
- "$ref": "#/definitions/FileServerListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List file servers": {
- "$ref": "./examples/ListFileServer.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers": {
- "get": {
- "tags": [
- "FileServer"
- ],
- "operationId": "FileServers_ListByResourceGroup",
- "description": "Gets a formatted list of file servers and their properties associated within the specified resource group.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/FilterParameter"
- },
- {
- "$ref": "#/parameters/SelectParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a list of formatted file servers and their properties associated with the resource group.",
- "schema": {
- "$ref": "#/definitions/FileServerListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List file servers": {
- "$ref": "./examples/ListFileServerByResourceGroup.json"
- }
- }
- }
- }
- },
- "definitions": {
- "FileServerBaseProperties": {
- "properties": {
- "vmSize": {
- "type": "string",
- "title": "The size of the virtual machine of the file server.",
- "description": "For information about available VM sizes for fileservers from the Virtual Machines Marketplace, see Sizes for Virtual Machines (Linux)."
- },
- "sshConfiguration": {
- "title": "SSH settings for the file server.",
- "$ref": "#/definitions/SshConfiguration"
- },
- "dataDisks": {
- "title": "Settings for the data disk which would be created for the file server.",
- "$ref": "#/definitions/DataDisks"
- },
- "subnet": {
- "title": "Specifies the identifier of the subnet.",
- "$ref": "#/definitions/ResourceId"
- }
- },
- "required": [
- "vmSize",
- "sshConfiguration",
- "dataDisks"
- ],
- "description": "The properties of a file server."
- },
- "FileServerListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/FileServer"
- },
- "description": "The collection of File Servers."
- },
- "nextLink": {
- "type": "string",
- "description": "The continuation token."
- }
- },
- "description": "Values returned by the List operation."
- },
- "DataDisks": {
- "properties": {
- "diskSizeInGB": {
- "type": "integer",
- "format": "int32",
- "readOnly": false,
- "title": "Initial disk size in GB for blank data disks, and the new desired size for resizing existing data disks."
- },
- "cachingType": {
- "type": "string",
- "readOnly": true,
- "title": "None, ReadOnly, ReadWrite. Default value is None. This property is not patchable.",
- "default": "none",
- "enum": [
- "none",
- "readonly",
- "readwrite"
- ],
- "x-ms-enum": {
- "name": "CachingType",
- "modelAsString": false
- }
- },
- "diskCount": {
- "type": "integer",
- "format": "int32",
- "readOnly": false,
- "title": "Number of data disks to be attached to the VM. RAID level 0 will be applied in the case of multiple disks."
- },
- "storageAccountType": {
- "type": "string",
- "readOnly": false,
- "title": "Specifies the type of storage account to be used on the disk. Possible values are: Standard_LRS or Premium_LRS.",
- "enum": [
- "Standard_LRS",
- "Premium_LRS"
- ],
- "x-ms-enum": {
- "name": "StorageAccountType",
- "modelAsString": true
- }
- }
- },
- "required": [
- "diskSizeInGB",
- "diskCount",
- "storageAccountType"
- ],
- "description": "Settings for the data disk which would be created for the File Server."
- },
- "KeyVaultSecretReference": {
- "properties": {
- "sourceVault": {
- "title": "Fully qualified resource Id for the Key Vault.",
- "$ref": "#/definitions/ResourceId"
- },
- "secretUrl": {
- "type": "string",
- "title": "The URL referencing a secret in a Key Vault."
- }
- },
- "required": [
- "sourceVault",
- "secretUrl"
- ],
- "description": "Describes a reference to Key Vault Secret."
- },
- "KeyVaultKeyReference": {
- "properties": {
- "sourceVault": {
- "title": "Fully qualified resource Id for the Key Vault.",
- "$ref": "#/definitions/ResourceId"
- },
- "keyUrl": {
- "type": "string",
- "title": "The URL referencing a key in a Key Vault."
- }
- },
- "required": [
- "sourceVault",
- "keyUrl"
- ],
- "description": "Describes a reference to Key Vault Key."
- },
- "MountSettings": {
- "properties": {
- "mountPoint": {
- "type": "string",
- "title": "Path where the NFS is mounted on the Server."
- },
- "fileServerPublicIP": {
- "type": "string",
- "title": "Public IP of the File Server VM."
- },
- "fileServerInternalIP": {
- "type": "string",
- "title": "Internal subnet IP which can be used to access the file Server from within the subnet."
- },
- "fileServerType": {
- "type": "string",
- "title": "Type of the fileserver e.g. nfs, glusterfs etc.",
- "enum": [
- "nfs",
- "glusterfs"
- ],
- "x-ms-enum": {
- "name": "FileServerType",
- "modelAsString": true
- }
- }
- },
- "description": "Details of the File Server."
- },
- "SshConfiguration": {
- "properties": {
- "publicIPsToAllow": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "title": "List of source IP ranges to allow SSH connection to VM.",
- "description": "Default value is '*' can be used to match all source IPs. Maximum number of publicIPs that can be specified are 400."
- },
- "userAccountSettings": {
- "title": "Settings for user account of VMs.",
- "$ref": "#/definitions/UserAccountSettings"
- }
- },
- "required": [
- "userAccountSettings"
- ],
- "description": "SSH configuration settings for the VM"
- },
- "FileServerCreateParameters": {
- "properties": {
- "location": {
- "type": "string",
- "description": "The region in which to create the File Server."
- },
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "The user specified tags associated with the File Server."
- },
- "properties": {
- "$ref": "#/definitions/FileServerBaseProperties",
- "description": "The properties of the File Server.",
- "x-ms-client-flatten": true
- }
- },
- "required": [
- "location"
- ],
- "description": "Parameters supplied to the Create operation."
- },
- "FileServerProperties": {
- "properties": {
- "vmSize": {
- "type": "string",
- "title": "The size of the virtual machine of the File Server.",
- "description": "For information about available VM sizes for File Server from the Virtual Machines Marketplace, see Sizes for Virtual Machines (Linux)."
- },
- "sshConfiguration": {
- "title": "SSH settings for the File Server.",
- "$ref": "#/definitions/SshConfiguration"
- },
- "dataDisks": {
- "title": "Settings for the data disk which would be created for the File Server.",
- "$ref": "#/definitions/DataDisks"
- },
- "subnet": {
- "title": "Specifies the identifier of the subnet.",
- "$ref": "#/definitions/ResourceId"
- },
- "mountSettings": {
- "title": "Details of the File Server.",
- "readOnly": true,
- "$ref": "#/definitions/MountSettings"
- },
- "provisioningStateTransitionTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "Time when the status was changed."
- },
- "creationTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "Time when the FileServer was created."
- },
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "x-nullable": false,
- "title": "Specifies the provisioning state of the File Server.",
- "description": "Possible values: creating - The File Server is getting created. updating - The File Server creation has been accepted and it is getting updated. deleting - The user has requested that the File Server be deleted, and it is in the process of being deleted. failed - The File Server creation has failed with the specified errorCode. Details about the error code are specified in the message field. succeeded - The File Server creation has succeeded.",
- "enum": [
- "creating",
- "updating",
- "deleting",
- "succeeded",
- "failed"
- ],
- "x-ms-enum": {
- "name": "FileServerProvisioningState",
- "modelAsString": false
- }
- }
- },
- "description": "File server specific properties."
- },
- "FileServer": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/FileServerProperties",
- "description": "The properties associated with the File Server."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "description": "Contains information about the File Server."
- },
- "ClusterBaseProperties": {
- "properties": {
- "vmSize": {
- "type": "string",
- "title": "The size of the virtual machines in the cluster.",
- "description": "All virtual machines in a cluster are the same size. For information about available VM sizes for clusters using images from the Virtual Machines Marketplace (see Sizes for Virtual Machines (Linux) or Sizes for Virtual Machines (Windows). Batch AI service supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
- },
- "vmPriority": {
- "type": "string",
- "title": "dedicated or lowpriority.",
- "description": "Default is dedicated.",
- "default": "dedicated",
- "enum": [
- "dedicated",
- "lowpriority"
- ],
- "x-ms-enum": {
- "name": "VmPriority",
- "modelAsString": false
- }
- },
- "scaleSettings": {
- "$ref": "#/definitions/ScaleSettings",
- "title": "Desired scale for the cluster."
- },
- "virtualMachineConfiguration": {
- "title": "Settings for OS image and mounted data volumes.",
- "$ref": "#/definitions/VirtualMachineConfiguration"
- },
- "nodeSetup": {
- "title": "Setup to be done on all compute nodes in the cluster.",
- "$ref": "#/definitions/NodeSetup"
- },
- "userAccountSettings": {
- "title": "Settings for user account that will be created on all compute nodes of the cluster.",
- "$ref": "#/definitions/UserAccountSettings"
- },
- "subnet": {
- "title": "Specifies the identifier of the subnet. ",
- "$ref": "#/definitions/ResourceId"
- }
- },
- "required": [
- "vmSize",
- "userAccountSettings"
- ],
- "description": "The properties of a Cluster."
- },
- "ClusterUpdateProperties": {
- "properties": {
- "scaleSettings": {
- "$ref": "#/definitions/ScaleSettings",
- "title": "Desired scale for the cluster"
- }
- },
- "description": "The properties of a Cluster that need to be updated."
- },
- "DeallocationOption": {
- "type": "string",
- "title": "Specifies when compute nodes may be removed from the cluster, if the cluster size is decreasing.",
- "description": "Possible values are: requeue - Terminate running jobs and requeue them. The jobs will run again. Remove compute nodes as soon as jobs have been terminated. terminate - Terminate running jobs. The jobs will not run again. Remove compute nodes as soon as jobs have been terminated. jobcompletion - Allow currently running jobs to complete. Schedule no new jobs while waiting. Remove compute nodes when all jobs have completed. The default value is requeue.",
- "default": "requeue",
- "enum": [
- "requeue",
- "terminate",
- "waitforjobcompletion",
- "unknown"
- ],
- "x-ms-enum": {
- "name": "DeallocationOption",
- "modelAsString": false
- }
- },
- "ScaleSettings": {
- "properties": {
- "manual": {
- "$ref": "#/definitions/ManualScaleSettings",
- "title": "The scale for the cluster by manual settings"
- },
- "autoScale": {
- "$ref": "#/definitions/AutoScaleSettings",
- "title": "The scale for the cluster by autoscale settings"
- }
- },
- "description": "At least one of manual or autoScale settings must be specified. Only one of manual or autoScale settings can be specified. If autoScale settings are specified, the system automatically scales the cluster up and down (within the supplied limits) based on the pending jobs on the cluster."
- },
- "AutoScaleSettings": {
- "properties": {
- "minimumNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Specifies the minimum number of compute nodes the cluster can have."
- },
- "maximumNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Specifies the maximum number of compute nodes the cluster can have."
- },
- "initialNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Specifies the number of compute nodes to allocate on cluster creation. Note that this value is used only during cluster creation.",
- "default": 0
- }
- },
- "required": [
- "minimumNodeCount",
- "maximumNodeCount"
- ],
- "description": "The system automatically scales the cluster up and down (within minimumNodeCount and maximumNodeCount) based on the pending and running jobs on the cluster."
- },
- "ManualScaleSettings": {
- "properties": {
- "targetNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "The desired number of compute nodes in the Cluster.",
- "default": 0,
- "description": "Default is 0. If autoScaleSettings are not specified, then the Cluster starts with this target."
- },
- "nodeDeallocationOption": {
- "title": "Determines what to do with the job(s) running on compute node if the Cluster size is decreasing.",
- "description": "The default value is requeue.",
- "default": "requeue",
- "$ref": "#/definitions/DeallocationOption"
- }
- },
- "required": [
- "targetNodeCount"
- ],
- "description": "Manual scale settings for the cluster."
- },
- "VirtualMachineConfiguration": {
- "properties": {
- "imageReference": {
- "title": "Reference to OS image.",
- "$ref": "#/definitions/ImageReference"
- }
- },
- "description": "Settings for OS image."
- },
- "ImageReference": {
- "properties": {
- "publisher": {
- "type": "string",
- "title": "Publisher of the image."
- },
- "offer": {
- "type": "string",
- "title": "Offer of the image."
- },
- "sku": {
- "type": "string",
- "title": "SKU of the image."
- },
- "version": {
- "type": "string",
- "title": "Version of the image"
- }
- },
- "required": [
- "publisher",
- "offer",
- "sku"
- ],
- "description": "The image reference."
- },
- "NodeStateCounts": {
- "properties": {
- "idleNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of compute nodes in idle state."
- },
- "runningNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of compute nodes which are running jobs."
- },
- "preparingNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of compute nodes which are being prepared."
- },
- "unusableNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of compute nodes which are unusable."
- },
- "leavingNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of compute nodes which are leaving the cluster."
- }
- },
- "required": [
- "idleNodeCount",
- "runningNodeCount",
- "preparingNodeCount",
- "unusableNodeCount",
- "leavingNodeCount"
- ],
- "description": "Counts of various compute node states on the cluster."
- },
- "UserAccountSettings": {
- "properties": {
- "adminUserName": {
- "type": "string",
- "title": "Specifies the name of the administrator account."
- },
- "adminUserSshPublicKey": {
- "type": "string",
- "title": "SSH public keys used to authenticate with linux based VMs. This does not get returned in a GET response body."
- },
- "adminUserPassword": {
- "type": "string",
- "title": "Admin user Password (linux only). This does not get returned in a GET response body."
- }
- },
- "required": [
- "adminUserName"
- ],
- "description": "Settings for user account that gets created on each on the nodes of a cluster."
- },
- "NodeSetup": {
- "properties": {
- "setupTask": {
- "title": "Specifies a setup task which can be used to customize the compute nodes of the cluster. The NodeSetup task runs every time a VM is rebooted. For that reason the task code needs to be idempotent. Generally it is used to either download static data that is required for all jobs that run on the cluster VMs or to download/install software.",
- "$ref": "#/definitions/SetupTask"
- },
- "mountVolumes": {
- "title": "Information on shared volumes to be used by jobs.",
- "$ref": "#/definitions/MountVolumes"
- }
- },
- "description": "Use this to prepare the VM. NOTE: The volumes specified in mountVolumes are mounted first and then the setupTask is run. Therefore the setup task can use local mountPaths in its execution."
- },
- "SetupTask": {
- "properties": {
- "commandLine": {
- "type": "string",
- "title": "Command Line to start Setup process."
- },
- "environmentVariables": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EnvironmentSetting"
- },
- "title": "Collection of environment settings."
- },
- "runElevated": {
- "type": "boolean",
- "title": "Specifies whether to run the setup task in elevated mode. The default value is false.",
- "default": false
- },
- "stdOutErrPathPrefix": {
- "type": "string",
- "description": "The path where the Batch AI service will upload the stdout and stderror of setup task."
- }
- },
- "required": [
- "commandLine",
- "stdOutErrPathPrefix"
- ],
- "description": "Specifies a setup task which can be used to customize the compute nodes of the cluster."
- },
- "ClusterCreateParameters": {
- "properties": {
- "location": {
- "type": "string",
- "description": "The region in which to create the cluster."
- },
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "The user specified tags associated with the Cluster."
- },
- "properties": {
- "$ref": "#/definitions/ClusterBaseProperties",
- "description": "The properties of the Cluster.",
- "x-ms-client-flatten": true
- }
- },
- "required": [
- "location"
- ],
- "description": "Parameters supplied to the Create operation."
- },
- "ClusterUpdateParameters": {
- "properties": {
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "The user specified tags associated with the Cluster."
- },
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ClusterUpdateProperties",
- "description": "The properties of the Cluster."
- }
- },
- "description": "Parameters supplied to the Update operation."
- },
- "ClusterProperties": {
- "properties": {
- "vmSize": {
- "type": "string",
- "title": "The size of the virtual machines in the cluster.",
- "description": "All virtual machines in a cluster are the same size. For information about available VM sizes for clusters using images from the Virtual Machines Marketplace (see Sizes for Virtual Machines (Linux) or Sizes for Virtual Machines (Windows). Batch AI service supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
- },
- "vmPriority": {
- "type": "string",
- "title": "dedicated or lowpriority.",
- "description": "The default value is dedicated. The node can get preempted while the task is running if lowpriority is chosen. This is best suited if the workload is checkpointing and can be restarted.",
- "default": "dedicated",
- "enum": [
- "dedicated",
- "lowpriority"
- ],
- "x-ms-enum": {
- "name": "VmPriority",
- "modelAsString": false
- }
- },
- "scaleSettings": {
- "$ref": "#/definitions/ScaleSettings",
- "title": "Desired scale for the Cluster."
- },
- "virtualMachineConfiguration": {
- "title": "Settings for OS image and mounted data volumes.",
- "$ref": "#/definitions/VirtualMachineConfiguration"
- },
- "nodeSetup": {
- "title": "Setup to be done on all compute nodes in the Cluster.",
- "$ref": "#/definitions/NodeSetup"
- },
- "userAccountSettings": {
- "title": "Settings for user account of compute nodes.",
- "$ref": "#/definitions/UserAccountSettings"
- },
- "subnet": {
- "title": "Specifies the identifier of the subnet.",
- "$ref": "#/definitions/ResourceId"
- },
- "creationTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "The creation time of the cluster."
- },
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "x-nullable": false,
- "title": "Specifies the provisioning state of the cluster.",
- "description": "Possible value are: creating - Specifies that the cluster is being created. succeeded - Specifies that the cluster has been created successfully. failed - Specifies that the cluster creation has failed. deleting - Specifies that the cluster is being deleted.",
- "enum": [
- "creating",
- "succeeded",
- "failed",
- "deleting"
- ],
- "x-ms-enum": {
- "name": "ProvisioningState",
- "modelAsString": false
- }
- },
- "provisioningStateTransitionTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "The provisioning state transition time of the cluster."
- },
- "allocationState": {
- "type": "string",
- "readOnly": true,
- "title": "Indicates whether the cluster is resizing.",
- "description": "Possible values are: steady and resizing. steady state indicates that the cluster is not resizing. There are no changes to the number of compute nodes in the cluster in progress. A cluster enters this state when it is created and when no operations are being performed on the cluster to change the number of compute nodes. resizing state indicates that the cluster is resizing; that is, compute nodes are being added to or removed from the cluster.",
- "enum": [
- "steady",
- "resizing"
- ],
- "x-ms-enum": {
- "name": "AllocationState",
- "modelAsString": false
- }
- },
- "allocationStateTransitionTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "The time at which the cluster entered its current allocation state."
- },
- "errors": {
- "title": "Contains details of various errors on the cluster including resize and node setup task",
- "description": "This element contains all the errors encountered by various compute nodes during node setup.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/BatchAIError"
- }
- },
- "currentNodeCount": {
- "type": "integer",
- "readOnly": true,
- "format": "int32",
- "title": "The number of compute nodes currently assigned to the cluster."
- },
- "nodeStateCounts": {
- "title": "Counts of various node states on the cluster.",
- "readOnly": true,
- "$ref": "#/definitions/NodeStateCounts"
- }
- },
- "description": "Job specific properties."
- },
- "Cluster": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ClusterProperties",
- "description": "The properties associated with the Cluster."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "description": "Contains information about a Cluster."
- },
- "ClusterListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Cluster"
- },
- "description": "The collection of returned Clusters."
- },
- "nextLink": {
- "type": "string",
- "description": "The continuation token."
- }
- },
- "description": "Values returned by the List Clusters operation."
- },
- "JobBaseProperties": {
- "properties": {
- "experimentName": {
- "type": "string",
- "description": "Describe the experiment information of the job"
- },
- "priority": {
- "type": "integer",
- "format": "int32",
- "title": "Priority associated with the job.",
- "description": "Priority associated with the job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0.",
- "default": 0
- },
- "cluster": {
- "title": "Specifies the Id of the cluster on which this job will run.",
- "$ref": "#/definitions/ResourceId"
- },
- "nodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of compute nodes to run the job on.",
- "description": "The job will be gang scheduled on that many compute nodes"
- },
- "containerSettings": {
- "title": "If provided the job will run in the specified container.",
- "description": "If the container was downloaded as part of cluster setup then the same container image will be used. If not provided, the job will run on the VM.",
- "$ref": "#/definitions/ContainerSettings"
- },
- "cntkSettings": {
- "title": "Specifies the settings for CNTK (aka Microsoft Cognitive Toolkit) job.",
- "$ref": "#/definitions/CNTKsettings"
- },
- "tensorFlowSettings": {
- "title": "Specifies the settings for Tensor Flow job.",
- "$ref": "#/definitions/TensorFlowSettings"
- },
- "caffeSettings": {
- "title": "Specifies the settings for Caffe job.",
- "$ref": "#/definitions/CaffeSettings"
- },
- "caffe2Settings": {
- "title": "Specifies the settings for Caffe2 job.",
- "$ref": "#/definitions/Caffe2Settings"
- },
- "chainerSettings": {
- "title": "Specifies the settings for Chainer job.",
- "$ref": "#/definitions/ChainerSettings"
- },
- "customToolkitSettings": {
- "title": "Specifies the settings for custom tool kit job.",
- "$ref": "#/definitions/CustomToolkitSettings"
- },
- "jobPreparation": {
- "title": "Specifies the command line to be executed before tool kit is launched.",
- "description": "The specified actions will run on all the nodes that are part of the job",
- "$ref": "#/definitions/JobPreparation"
- },
- "stdOutErrPathPrefix": {
- "type": "string",
- "description": "The path where the Batch AI service will upload stdout and stderror of the job."
- },
- "inputDirectories": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/InputDirectory"
- },
- "title": "Specifies the list of input directories for the Job."
- },
- "outputDirectories": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/OutputDirectory"
- },
- "title": "Specifies the list of output directories where the models will be created. ."
- },
- "environmentVariables": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EnvironmentSetting"
- },
- "title": "Additional environment variables to set on the job.",
- "description": "Batch AI service sets the following environment variables for all jobs: AZ_BATCHAI_INPUT_id, AZ_BATCHAI_OUTPUT_id, AZ_BATCHAI_NUM_GPUS_PER_NODE. For distributed TensorFlow jobs, following additional environment variables are set by the Batch AI Service: AZ_BATCHAI_PS_HOSTS, AZ_BATCHAI_WORKER_HOSTS"
- },
- "constraints": {
- "properties": {
- "maxWallClockTime": {
- "type": "string",
- "format": "duration",
- "title": "Max time the job can run.",
- "description": "Default Value = 1 week.",
- "default": "7.00:00:00"
- }
- },
- "description": "Constraints associated with the Job."
- }
- },
- "required": [
- "cluster",
- "nodeCount",
- "stdOutErrPathPrefix"
- ],
- "description": "The properties of a Batch AI job."
- },
- "JobCreateParameters": {
- "properties": {
- "location": {
- "type": "string",
- "description": "The region in which to create the job."
- },
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "The user specified tags associated with the job."
- },
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/JobBaseProperties",
- "description": "The properties of the Job."
- }
- },
- "required": [
- "location"
- ],
- "description": "Parameters supplied to the Create operation."
- },
- "JobProperties": {
- "properties": {
- "experimentName": {
- "type": "string",
- "description": "Describe the experiment information of the job"
- },
- "priority": {
- "type": "integer",
- "format": "int32",
- "title": "Priority associated with the job.",
- "description": "Priority associated with the job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0.",
- "default": 0
- },
- "cluster": {
- "title": "Specifies the Id of the cluster on which this job will run.",
- "$ref": "#/definitions/ResourceId"
- },
- "nodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of compute nodes to run the job on.",
- "description": "The job will be gang scheduled on that many compute nodes"
- },
- "containerSettings": {
- "title": "If provided the job will run in the specified container.",
- "description": "If the container was downloaded as part of cluster setup then the same container image will be used. If not provided, the job will run on the VM.",
- "$ref": "#/definitions/ContainerSettings"
- },
- "toolType": {
- "title": "The toolkit type of this job.",
- "description": "Possible values are: cntk, tensorflow, caffe, caffe2, chainer, custom.",
- "$ref": "#/definitions/ToolType"
- },
- "cntkSettings": {
- "title": "Specifies the settings for CNTK (aka Microsoft Cognitive Toolkit) job.",
- "$ref": "#/definitions/CNTKsettings"
- },
- "tensorFlowSettings": {
- "title": "Specifies the settings for Tensor Flow job.",
- "$ref": "#/definitions/TensorFlowSettings"
- },
- "caffeSettings": {
- "title": "Specifies the settings for Caffe job.",
- "$ref": "#/definitions/CaffeSettings"
- },
- "chainerSettings": {
- "title": "Specifies the settings for Chainer job.",
- "$ref": "#/definitions/ChainerSettings"
- },
- "customToolkitSettings": {
- "title": "Specifies the settings for custom tool kit job.",
- "$ref": "#/definitions/CustomToolkitSettings"
- },
- "jobPreparation": {
- "title": "Specifies the actions to be performed before tool kit is launched.",
- "description": "The specified actions will run on all the nodes that are part of the job",
- "$ref": "#/definitions/JobPreparation"
- },
- "stdOutErrPathPrefix": {
- "type": "string",
- "description": "The path where the Batch AI service will upload stdout and stderror of the job."
- },
- "inputDirectories": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/InputDirectory"
- },
- "title": "Specifies the list of input directories for the Job."
- },
- "outputDirectories": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/OutputDirectory"
- },
- "title": "Specifies the list of output directories where the models will be created. ."
- },
- "environmentVariables": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EnvironmentSetting"
- },
- "title": "Additional environment variables to be passed to the job.",
- "description": "Batch AI services sets the following environment variables for all jobs: AZ_BATCHAI_INPUT_id, AZ_BATCHAI_OUTPUT_id, AZ_BATCHAI_NUM_GPUS_PER_NODE, For distributed TensorFlow jobs, following additional environment variables are set by the Batch AI Service: AZ_BATCHAI_PS_HOSTS, AZ_BATCHAI_WORKER_HOSTS."
- },
- "constraints": {
- "properties": {
- "maxWallClockTime": {
- "type": "string",
- "format": "duration",
- "title": "Max time the job can run.",
- "description": "Default Value = 1 week.",
- "default": "7.00:00:00"
- }
- },
- "description": "Constraints associated with the Job."
- },
- "creationTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "The job creation time.",
- "description": "The creation time of the job."
- },
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "x-nullable": false,
- "description": "The provisioned state of the Batch AI job",
- "enum": [
- "creating",
- "deleting",
- "succeeded",
- "failed"
- ],
- "x-ms-enum": {
- "name": "ProvisioningState",
- "modelAsString": false
- }
- },
- "provisioningStateTransitionTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "The time at which the job entered its current provisioning state.",
- "description": "The time at which the job entered its current provisioning state."
- },
- "executionState": {
- "type": "string",
- "title": "The current state of the job.",
- "description": "The current state of the job. Possible values are: queued - The job is queued and able to run. A job enters this state when it is created, or when it is awaiting a retry after a failed run. running - The job is running on a compute cluster. This includes job-level preparation such as downloading resource files or set up container specified on the job - it does not necessarily mean that the job command line has started executing. terminating - The job is terminated by the user, the terminate operation is in progress. succeeded - The job has completed running successfully and exited with exit code 0. failed - The job has finished unsuccessfully (failed with a non-zero exit code) and has exhausted its retry limit. A job is also marked as failed if an error occurred launching the job.",
- "enum": [
- "queued",
- "running",
- "terminating",
- "succeeded",
- "failed"
- ],
- "x-ms-enum": {
- "name": "ExecutionState",
- "modelAsString": false
- }
- },
- "executionStateTransitionTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "The time at which the job entered its current execution state.",
- "description": "The time at which the job entered its current execution state."
- },
- "executionInfo": {
- "properties": {
- "startTime": {
- "type": "string",
- "format": "date-time",
- "title": "The time at which the job started running.",
- "description": "'Running' corresponds to the running state. If the job has been restarted or retried, this is the most recent time at which the job started running. This property is present only for job that are in the running or completed state."
- },
- "endTime": {
- "type": "string",
- "format": "date-time",
- "title": "The time at which the job completed.",
- "description": "This property is only returned if the job is in completed state."
- },
- "exitCode": {
- "type": "integer",
- "format": "int32",
- "title": "The exit code of the job.",
- "description": "This property is only returned if the job is in completed state."
- },
- "errors": {
- "title": "Contains details of various errors encountered by the service during job execution",
- "type": "array",
- "items": {
- "$ref": "#/definitions/BatchAIError"
- }
- }
- },
- "required": [
- "startTime"
- ],
- "description": "Contains information about the execution of a job in the Azure Batch service."
- }
- },
- "description": "Job specific properties."
- },
- "Job": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/JobProperties",
- "description": "The properties associated with the job."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "description": "Contains information about the job."
- },
- "JobListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Job"
- },
- "description": "The collection of jobs."
- },
- "nextLink": {
- "type": "string",
- "description": "The continuation token."
- }
- },
- "description": "Values returned by the List operation."
- },
- "RemoteLoginInformation": {
- "properties": {
- "nodeId": {
- "type": "string",
- "description": "Id of the compute node"
- },
- "ipAddress": {
- "type": "string",
- "description": "ip address"
- },
- "port": {
- "type": "number",
- "format": "int32",
- "title": "port number"
- }
- },
- "description": "Contains remote login details to SSH/RDP to a compute node in cluster.",
- "required": [
- "nodeId",
- "ipAddress",
- "port"
- ]
- },
- "RemoteLoginInformationListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/RemoteLoginInformation"
- },
- "description": "The collection of returned remote login details."
- },
- "nextLink": {
- "type": "string",
- "description": "The continuation token."
- }
- },
- "description": "Values returned by the List operation."
- },
- "FileProperties": {
- "properties": {
- "lastModified": {
- "type": "string",
- "format": "date-time",
- "title": "The time at which the file was last modified.",
- "description": "The time at which the file was last modified."
- },
- "contentLength": {
- "type": "integer",
- "format": "int64",
- "title": "The file size.",
- "description": "The file size."
- }
- },
- "description": "File specific properties."
- },
- "File": {
- "properties": {
- "name": {
- "type": "string",
- "description": "file name"
- },
- "downloadUrl": {
- "type": "string",
- "title": "file download url, example: https://mystg.blob.core.windows.net/mycontainer/myModel_1.dnn",
- "description": "This will be returned only if the model has been archived. During job run, this won't be returned and customers can use SSH tunneling to download. Users can use Get Remote Login Information API to get the IP address and port information of all the compute nodes running the job."
- },
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/FileProperties",
- "description": "The properties associated with the file."
- }
- },
- "description": "Properties of the file.",
- "required": [
- "name",
- "downloadUrl"
- ]
- },
- "FileListResult": {
- "properties": {
- "value": {
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/File"
- },
- "description": "The collection of returned job files."
- },
- "nextLink": {
- "type": "string",
- "description": "The continuation token."
- }
- },
- "description": "Values returned by the List operation."
- },
- "ResourceId": {
- "properties": {
- "id": {
- "type": "string",
- "description": "The ID of the resource"
- }
- },
- "required": [
- "id"
- ],
- "description": "Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet.",
- "x-ms-azure-resource": true
- },
- "Resource": {
- "properties": {
- "id": {
- "readOnly": true,
- "type": "string",
- "description": "The ID of the resource"
- },
- "name": {
- "readOnly": true,
- "type": "string",
- "description": "The name of the resource"
- },
- "type": {
- "readOnly": true,
- "type": "string",
- "description": "The type of the resource"
- },
- "location": {
- "readOnly": true,
- "type": "string",
- "description": "The location of the resource"
- },
- "tags": {
- "readOnly": true,
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "The tags of the resource"
- }
- },
- "description": "A definition of an Azure resource.",
- "x-ms-azure-resource": true
- },
- "ToolType": {
- "type": "string",
- "description": "The toolkit type of this job.",
- "enum": [
- "cntk",
- "tensorflow",
- "caffe",
- "caffe2",
- "chainer",
- "custom"
- ],
- "x-ms-enum": {
- "name": "ToolType",
- "modelAsString": true
- }
- },
- "NameValuePair": {
- "properties": {
- "name": {
- "type": "string",
- "title": "The name in the name-value pair."
- },
- "value": {
- "type": "string",
- "title": "The value in the name-value pair."
- }
- },
- "description": "Represents a name-value pair."
- },
- "EnvironmentSetting": {
- "properties": {
- "name": {
- "type": "string",
- "title": "The name of the environment variable."
- },
- "value": {
- "type": "string",
- "title": "The value of the environment variable."
- }
- },
- "required": [
- "name"
- ],
- "description": "A collection of environment variables to set."
- },
- "LocalDataVolume": {
- "properties": {
- "hostPath": {
- "type": "string",
- "title": "The path on the host that is to be mounted as a directory in the container."
- },
- "localPath": {
- "type": "string",
- "title": "The container local path where the host directory is mounted."
- }
- },
- "description": "Represents mapping of host directories to directories in the container.",
- "required": [
- "hostPath",
- "localPath"
- ]
- },
- "ImageSourceRegistry": {
- "properties": {
- "serverUrl": {
- "type": "string",
- "title": "URL for image repository."
- },
- "image": {
- "type": "string",
- "title": "The name of the image in image repository."
- },
- "credentials": {
- "title": "Information to access the private Docker repository.",
- "$ref": "#/definitions/PrivateRegistryCredentials"
- }
- },
- "description": "Details of the container image such as name, URL and credentials.",
- "required": [
- "image"
- ]
- },
- "PrivateRegistryCredentials": {
- "properties": {
- "username": {
- "type": "string",
- "title": "User name to login."
- },
- "password": {
- "type": "string",
- "title": "Password to login.",
- "description": "One of password or passwordSecretReference must be specified."
- },
- "passwordSecretReference": {
- "title": "Specifies the location of the password, which is a Key Vault Secret.",
- "description": "Users can store their secrets in Azure KeyVault and pass it to the Batch AI Service to integrate with KeyVault. One of password or passwordSecretReference must be specified.",
- "$ref": "#/definitions/KeyVaultSecretReference"
- }
- },
- "description": "Credentials to access a container image in a private repository.",
- "required": [
- "username"
- ]
- },
- "ContainerSettings": {
- "properties": {
- "imageSourceRegistry": {
- "title": "Registry to download the container from.",
- "$ref": "#/definitions/ImageSourceRegistry"
- }
- },
- "description": "Settings for the container to be downloaded.",
- "required": [
- "imageSourceRegistry"
- ]
- },
- "InputDirectory": {
- "properties": {
- "id": {
- "type": "string",
- "title": "The id for the input directory.",
- "description": "It will be available for the job as an environment variable under AZ_BATCHAI_INPUT_id. The service will also provide the following environment variable: AZ_BATCHAI_PREV_OUTPUT_Name. The value of the variable will be populated if the job is being retried after a previous failure, otherwise it will be set to nothing."
- },
- "path": {
- "type": "string",
- "title": "The path to the input directory."
- }
- },
- "description": "Input directory for the job.",
- "required": [
- "id",
- "path"
- ]
- },
- "OutputDirectory": {
- "properties": {
- "id": {
- "type": "string",
- "title": "The name for the output directory.",
- "description": "It will be available for the job as an environment variable under AZ_BATCHAI_OUTPUT_id."
- },
- "pathPrefix": {
- "type": "string",
- "title": "The prefix path where the output directory will be created.",
- "description": "NOTE: This is an absolute path to prefix. E.g. $AZ_BATCHAI_MOUNT_ROOT/MyNFS/MyLogs."
- },
- "pathSuffix": {
- "type": "string",
- "title": "The suffix path where the output directory will be created.",
- "description": "The suffix path where the output directory will be created."
- },
- "type": {
- "type": "string",
- "title": "An enumeration, which specifies the type of job output directory.",
- "description": "Default value is Custom. The possible values are Model, Logs, Summary, and Custom. Users can use multiple enums for a single directory. Eg. outPutType='Model,Logs, Summary'",
- "default": "custom",
- "enum": [
- "model",
- "logs",
- "summary",
- "custom"
- ],
- "x-ms-enum": {
- "name": "OutputType",
- "modelAsString": true
- }
- },
- "createNew": {
- "type": "boolean",
- "title": "True to create new directory.",
- "description": "Default is true. If false, then the directory is not created and can be any directory path that the user specifies.",
- "default": true
- }
- },
- "description": "Output directory for the job.",
- "required": [
- "id",
- "pathPrefix"
- ]
- },
- "AzureStorageCredentialsInfo": {
- "properties": {
- "accountKey": {
- "type": "string",
- "title": "Storage account key.",
- "description": "One of accountKey or accountKeySecretReference must be specified."
- },
- "accountKeySecretReference": {
- "title": "Specifies the location of the storage account key, which is a Key Vault Secret.",
- "description": "Users can store their secrets in Azure KeyVault and pass it to the Batch AI Service to integrate with KeyVault. One of accountKey or accountKeySecretReference must be specified.",
- "$ref": "#/definitions/KeyVaultSecretReference"
- }
- },
- "description": "Credentials to access Azure File Share."
- },
- "AzureFileShareReference": {
- "properties": {
- "accountName": {
- "type": "string",
- "title": "Name of the storage account."
- },
- "azureFileUrl": {
- "type": "string",
- "title": "URL to access the Azure File."
- },
- "credentials": {
- "title": "Information of the Azure File credentials.",
- "$ref": "#/definitions/AzureStorageCredentialsInfo"
- },
- "relativeMountPath": {
- "type": "string",
- "title": "Specifies the relative path on the compute node where the Azure file share will be mounted.",
- "description": "Note that all file shares will be mounted under $AZ_BATCHAI_MOUNT_ROOT location."
- },
- "fileMode": {
- "type": "string",
- "title": "Specifies the file mode.",
- "description": "Default value is 0777. Valid only if OS is linux.",
- "default": "0777"
- },
- "directoryMode": {
- "type": "string",
- "title": "Specifies the directory Mode.",
- "description": "Default value is 0777. Valid only if OS is linux.",
- "default": "0777"
- }
- },
- "description": "Details of the Azure File Share to mount on the cluster.",
- "required": [
- "accountName",
- "azureFileUrl",
- "credentials",
- "relativeMountPath"
- ]
- },
- "AzureBlobFileSystemReference": {
- "properties": {
- "accountName": {
- "type": "string",
- "title": "Name of the Azure Blob Storage account."
- },
- "containerName": {
- "type": "string",
- "title": "Name of the Azure Blob Storage container to mount on the cluster."
- },
- "credentials": {
- "title": "Information of the Azure Blob Storage account credentials.",
- "$ref": "#/definitions/AzureStorageCredentialsInfo"
- },
- "relativeMountPath": {
- "type": "string",
- "title": "Specifies the relative path on the compute node where the Azure Blob file system will be mounted.",
- "description": "Note that all blob file systems will be mounted under $AZ_BATCHAI_MOUNT_ROOT location."
- },
- "mountOptions": {
- "type": "string",
- "title": "Specifies the various mount options that can be used to configure Blob file system."
- }
- },
- "description": "Provides required information, for the service to be able to mount Azure Blob Storage container on the cluster nodes.",
- "required": [
- "accountName",
- "containerName",
- "credentials",
- "relativeMountPath"
- ]
- },
- "FileServerReference": {
- "properties": {
- "fileServer": {
- "title": "Reference to the file server resource.",
- "$ref": "#/definitions/ResourceId"
- },
- "sourceDirectory": {
- "type": "string",
- "title": "Specifies the source directory in File Server that needs to be mounted.",
- "description": "If this property is not specified, the entire File Server will be mounted."
- },
- "relativeMountPath": {
- "type": "string",
- "title": "Specifies the relative path on the compute node where the File Server will be mounted.",
- "description": "Note that all file shares will be mounted under $AZ_BATCHAI_MOUNT_ROOT location."
- },
- "mountOptions": {
- "type": "string",
- "title": "Specifies the mount options for File Server."
- }
- },
- "description": "Provides required information, for the service to be able to mount Azure FileShare on the cluster nodes.",
- "required": [
- "fileServer",
- "relativeMountPath"
- ]
- },
- "UnmanagedFileSystemReference": {
- "properties": {
- "mountCommand": {
- "title": "Command used to mount the unmanaged file system.",
- "type": "string"
- },
- "relativeMountPath": {
- "type": "string",
- "title": "Specifies the relative path on the compute cluster node where the file system will be mounted.",
- "description": "Note that all file shares will be mounted under $AZ_BATCHAI_MOUNT_ROOT location."
- }
- },
- "description": "Details of the file system to mount on the compute cluster nodes.",
- "required": [
- "mountCommand",
- "relativeMountPath"
- ]
- },
- "MountVolumes": {
- "properties": {
- "azureFileShares": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AzureFileShareReference"
- },
- "title": "Azure File Share setup configuration.",
- "description": "References to Azure File Shares that are to be mounted to the cluster nodes."
- },
- "azureBlobFileSystems": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AzureBlobFileSystemReference"
- },
- "title": "Azure Blob FileSystem setup configuration.",
- "description": "References to Azure Blob FUSE that are to be mounted to the cluster nodes."
- },
- "fileServers": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/FileServerReference"
- },
- "title": "References to a list of file servers that are mounted to the cluster node."
- },
- "unmanagedFileSystems": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/UnmanagedFileSystemReference"
- },
- "title": "References to a list of file servers that are mounted to the cluster node."
- }
- },
- "description": "Details of volumes to mount on the cluster."
- },
- "CNTKsettings": {
- "properties": {
- "languageType": {
- "type": "string",
- "title": "Specifies the language type to use for launching CNTK (aka Microsoft Cognitive Toolkit) job.",
- "description": "Valid values are 'BrainScript' or 'Python'."
- },
- "configFilePath": {
- "type": "string",
- "title": "Specifies the path of the config file.",
- "description": "This property can be specified only if the languageType is 'BrainScript'."
- },
- "pythonScriptFilePath": {
- "type": "string",
- "title": "The path and file name of the python script to execute the job.",
- "description": "This property can be specified only if the languageType is 'Python'."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "The path to python interpreter.",
- "description": "This property can be specified only if the languageType is 'Python'."
- },
- "commandLineArgs": {
- "type": "string",
- "title": "Command line arguments that needs to be passed to the python script or CNTK.exe."
- },
- "processCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of processes parameter that is passed to MPI runtime.",
- "description": "The default value for this property is equal to nodeCount property"
- }
- },
- "description": "Specifies the settings for CNTK (aka Microsoft Cognitive Toolkit) job."
- },
- "CaffeSettings": {
- "properties": {
- "configFilePath": {
- "type": "string",
- "title": "Specifies the path of the config file.",
- "description": "This property cannot be specified if pythonScriptFilePath is specified."
- },
- "pythonScriptFilePath": {
- "type": "string",
- "title": "The path and file name of the python script to execute the job.",
- "description": "This property cannot be specified if configFilePath is specified."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "The path to python interpreter.",
- "description": "This property can be specified only if the pythonScriptFilePath is specified."
- },
- "commandLineArgs": {
- "type": "string",
- "title": "Command line arguments that needs to be passed to the Caffe job."
- },
- "processCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of processes parameter that is passed to MPI runtime.",
- "description": "The default value for this property is equal to nodeCount property"
- }
- },
- "description": "Specifies the settings for Caffe job."
- },
- "Caffe2Settings": {
- "properties": {
- "pythonScriptFilePath": {
- "type": "string",
- "title": "The path and file name of the python script to execute the job."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "The path to python interpreter."
- },
- "commandLineArgs": {
- "type": "string",
- "title": "Command line arguments that needs to be passed to the python script"
- }
- },
- "description": "Specifies the settings for Caffe2 job.",
- "required": [
- "pythonScriptFilePath"
- ]
- },
- "ChainerSettings": {
- "properties": {
- "pythonScriptFilePath": {
- "type": "string",
- "title": "The path and file name of the python script to execute the job."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "The path to python interpreter."
- },
- "commandLineArgs": {
- "type": "string",
- "title": "Command line arguments that needs to be passed to the python script"
- },
- "processCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of processes parameter that is passed to MPI runtime.",
- "description": "The default value for this property is equal to nodeCount property"
- }
- },
- "description": "Specifies the settings for Chainer job.",
- "required": [
- "pythonScriptFilePath"
- ]
- },
- "CustomToolkitSettings": {
- "properties": {
- "commandLine": {
- "type": "string",
- "title": "The command line to execute the custom toolkit Job."
- }
- },
- "description": "Specifies the settings for a custom tool kit job."
- },
- "JobPreparation": {
- "properties": {
- "commandLine": {
- "type": "string",
- "title": "The command line to execute.",
- "description": "If containerSettings is specified on the job, this commandLine will be executed in the same container as job. Otherwise it will be executed on the node."
- }
- },
- "description": "Specifies the settings for job preparation.",
- "required": [
- "commandLine"
- ]
- },
- "TensorFlowSettings": {
- "properties": {
- "pythonScriptFilePath": {
- "type": "string",
- "title": "The path and file name of the python script to execute the job."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "The path to python interpreter."
- },
- "masterCommandLineArgs": {
- "type": "string",
- "title": "Specifies the command line arguments for the master task."
- },
- "workerCommandLineArgs": {
- "type": "string",
- "title": "Specifies the command line arguments for the worker task.",
- "description": "This property is optional for single machine training."
- },
- "parameterServerCommandLineArgs": {
- "type": "string",
- "title": "Specifies the command line arguments for the parameter server task.",
- "description": "This property is optional for single machine training."
- },
- "workerCount": {
- "type": "integer",
- "format": "int32",
- "title": "The number of worker tasks.",
- "description": "If specified, the value must be less than or equal to (nodeCount * numberOfGPUs per VM). If not specified, the default value is equal to nodeCount. This property can be specified only for distributed TensorFlow training"
- },
- "parameterServerCount": {
- "type": "integer",
- "format": "int32",
- "title": "The number of parameter server tasks.",
- "description": "If specified, the value must be less than or equal to nodeCount. If not specified, the default value is equal to 1 for distributed TensorFlow training (This property is not applicable for single machine training). This property can be specified only for distributed TensorFlow training."
- }
- },
- "description": "Specifies the settings for TensorFlow job.",
- "required": [
- "pythonScriptFilePath",
- "masterCommandLineArgs"
- ]
- },
- "CloudError": {
- "x-ms-external": true,
- "properties": {
- "error": {
- "$ref": "#/definitions/CloudErrorBody",
- "description": "An error response from the Batch AI service."
- }
- },
- "description": "An error response from the Batch AI service."
- },
- "CloudErrorBody": {
- "x-ms-external": true,
- "properties": {
- "code": {
- "type": "string",
- "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
- },
- "message": {
- "type": "string",
- "description": "A message describing the error, intended to be suitable for display in a user interface."
- },
- "target": {
- "type": "string",
- "description": "The target of the particular error. For example, the name of the property in error."
- },
- "details": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/CloudErrorBody"
- },
- "description": "A list of additional details about the error."
- }
- },
- "description": "An error response from the Batch AI service."
- },
- "BatchAIError": {
- "properties": {
- "code": {
- "type": "string",
- "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
- },
- "message": {
- "type": "string",
- "description": "A message describing the error, intended to be suitable for display in a user interface."
- },
- "details": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/NameValuePair"
- },
- "description": "A list of additional details about the error."
- }
- },
- "description": "An error response from the Batch AI service."
- },
- "Operation": {
- "title": "A REST API operation",
- "description": "Details of a REST API operation",
- "type": "object",
- "properties": {
- "name": {
- "title": "The operation name.",
- "description": "This is of the format {provider}/{resource}/{operation}",
- "type": "string"
- },
- "display": {
- "description": "The object that describes the operation.",
- "properties": {
- "provider": {
- "title": "Friendly name of the resource provider.",
- "type": "string"
- },
- "operation": {
- "title": "The operation type.",
- "description": "For example: read, write, delete, or listKeys/action",
- "type": "string"
- },
- "resource": {
- "title": "The resource type on which the operation is performed.",
- "type": "string"
- },
- "description": {
- "title": "The friendly name of the operation",
- "type": "string"
- }
- }
- },
- "origin": {
- "title": "The intended executor of the operation.",
- "type": "string"
- },
- "properties": {
- "x-ms-client-flatten": true,
- "title": "Properties of the operation.",
- "type": "object"
- }
- }
- },
- "OperationListResult": {
- "title": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.",
- "description": "Contains the list of all operations supported by BatchAI resource provider",
- "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."
- }
- }
- }
- },
- "parameters": {
- "SubscriptionIdParameter": {
- "name": "subscriptionId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The subscriptionID for the Azure user."
- },
- "ResourceGroupNameParameter": {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Name of the resource group to which the resource belongs.",
- "required": true,
- "x-ms-parameter-location": "method",
- "type": "string",
- "pattern": "^[-\\w\\._]+$"
- },
- "ClusterNameParameter": {
- "name": "clusterName",
- "in": "path",
- "required": true,
- "type": "string",
- "pattern": "^[-\\w\\._]+$",
- "minLength": 1,
- "maxLength": 64,
- "x-ms-parameter-location": "method",
- "description": "The name of the cluster within the specified resource group. Cluster names can only contain a combination of alphanumeric characters along with dash (-) and underscore (_). The name must be from 1 through 64 characters long."
- },
- "JobNameParameter": {
- "name": "jobName",
- "in": "path",
- "required": true,
- "type": "string",
- "pattern": "^[-\\w\\._]+$",
- "minLength": 1,
- "maxLength": 64,
- "x-ms-parameter-location": "method",
- "description": "The name of the job within the specified resource group. Job names can only contain a combination of alphanumeric characters along with dash (-) and underscore (_). The name must be from 1 through 64 characters long."
- },
- "FileServerNameParameter": {
- "name": "fileServerName",
- "in": "path",
- "required": true,
- "type": "string",
- "pattern": "^[-\\w\\._]+$",
- "minLength": 1,
- "maxLength": 64,
- "x-ms-parameter-location": "method",
- "description": "The name of the file server within the specified resource group. File server names can only contain a combination of alphanumeric characters along with dash (-) and underscore (_). The name must be from 1 through 64 characters long."
- },
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "Specifies the version of API used for this request."
- },
- "SelectParameter": {
- "name": "$select",
- "in": "query",
- "required": false,
- "type": "string",
- "x-ms-parameter-location": "method",
- "description": "An OData $select clause. Used to select the properties to be returned in the GET response.",
- "x-ms-parameter-grouping": {
- "postfix": "Options"
- }
- },
- "FilterParameter": {
- "name": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "x-ms-parameter-location": "method",
- "description": "An OData $filter clause. Used to filter results that are returned in the GET response.",
- "x-ms-parameter-grouping": {
- "postfix": "Options"
- }
- },
- "MaxResultsParameter": {
- "name": "maxresults",
- "x-ms-client-name": "maxResults",
- "default": 1000,
- "minimum": 1,
- "maximum": 1000,
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-ms-parameter-location": "method",
- "description": "The maximum number of items to return in the response. A maximum of 1000 files can be returned.",
- "x-ms-parameter-grouping": {
- "postfix": "Options"
- }
- },
- "OutputDirectoryIdParameter": {
- "name": "outputdirectoryid",
- "in": "query",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method",
- "description": "Id of the job output directory. This is the OutputDirectory-->id parameter that is given by the user during Create Job.",
- "x-ms-parameter-grouping": {
- "postfix": "Options"
- }
- },
- "DownloadLinkExpiryParameter": {
- "name": "linkexpiryinminutes",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 5,
- "maximum": 600,
- "default": 60,
- "x-ms-parameter-location": "method",
- "description": "The number of minutes after which the download link will expire.",
- "x-ms-parameter-grouping": {
- "postfix": "Options"
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ClusterListRemoteLoginInfo.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ClusterListRemoteLoginInfo.json
deleted file mode 100644
index 6dfbb83cd9d2..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ClusterListRemoteLoginInfo.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "clusterName": "demo_cluster",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "nodeId": "tvm-3601533753_1-20170719t162906z",
- "ipAddress": "13.84.190.124",
- "port": 50000
- },
- {
- "nodeId": "tvm-3601533753_2-20170719t162906z",
- "ipAddress": "13.84.190.124",
- "port": 50001
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/DeleteCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/DeleteCluster.json
deleted file mode 100644
index 9c05055ded37..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/DeleteCluster.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "clusterName": "demo_cluster",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview"
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2017-09-01-preview",
- "Retry-After": 15
- }
- },
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/DeleteFileServer.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/DeleteFileServer.json
deleted file mode 100644
index 99587060667d..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/DeleteFileServer.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "fileServerName": "demo_nfs",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview"
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2017-09-01-preview",
- "Retry-After": 15
- }
- },
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/DeleteJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/DeleteJob.json
deleted file mode 100644
index 36611d63d54f..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/DeleteJob.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "jobName": "demo_job",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview"
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2017-09-01-preview",
- "Retry-After": 15
- }
- },
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/GetCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/GetCluster.json
deleted file mode 100644
index b294ee0ca701..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/GetCluster.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "clusterName": "demo_cluster",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster",
- "name": "demo_cluster",
- "type": "Microsoft.BatchAI/Clusters",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "allocationState": "resizing",
- "creationTime": "2017-09-27T21:50:02.377Z",
- "allocationStateTransitionTime": "2017-09-27T21:50:04.521Z",
- "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z",
- "vmSize": "STANDARD_NC6",
- "currentNodeCount": 0,
- "nodeStateCounts": {
- "runningNodeCount": 0,
- "idleNodeCount": 0,
- "unusableNodeCount": 0,
- "preparingNodeCount": 0,
- "leavingNodeCount": 0
- },
- "vmPriority": "dedicated",
- "scaleSettings": {
- "manual": {
- "targetNodeCount": 1,
- "nodeDeallocationOption": "requeue"
- }
- },
- "virtualMachineConfiguration": {
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "16.04-LTS",
- "version": "latest"
- }
- },
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- },
- "nodeSetup": {
- "mountVolumes": {
- "azureFileShares": [
- {
- "accountName": "storage_account_name",
- "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name",
- "credentials": {},
- "relativeMountPath": "azfiles",
- "fileMode": "0777",
- "directoryMode": "0777"
- }
- ],
- "fileServers": [
- {
- "fileServer": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/fileservers/fileservercedd134b"
- },
- "relativeMountPath": "nfs",
- "mountOptions": "rw"
- }
- ]
- }
- },
- "subnet": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1"
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/GetFileServer.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/GetFileServer.json
deleted file mode 100644
index 2eb829a0e3f0..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/GetFileServer.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "fileServerName": "demo_nfs",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/fileservers/fileservercedd134b",
- "name": "fileservercedd134b",
- "type": "Microsoft.BatchAI/FileServers",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "creationTime": "2017-09-27T21:45:28.159Z",
- "provisioningStateTransitionTime": "2017-09-27T21:49:25.416Z",
- "vmSize": "STANDARD_NC6",
- "sshConfiguration": {
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- }
- },
- "dataDisks": {
- "diskSizeInGB": 10,
- "cachingType": "none",
- "diskCount": 2,
- "storageAccountType": "Standard_LRS"
- },
- "subnet": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1"
- },
- "mountSettings": {
- "mountPoint": "/mnt/data",
- "fileServerPublicIP": "13.90.141.66",
- "fileServerInternalIP": "10.0.0.4",
- "fileServerType": "nfs"
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/GetJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/GetJob.json
deleted file mode 100644
index e42f70e81680..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/GetJob.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "jobName": "demo_job",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/jobs/job",
- "name": "job",
- "type": "Microsoft.BatchAI/Jobs",
- "properties": {
- "priority": 0,
- "cluster": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster"
- },
- "nodeCount": 1,
- "containerSettings": {
- "imageSourceRegistry": {
- "image": "ubuntu"
- }
- },
- "toolType": "custom",
- "customToolkitSettings": {
- "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt"
- },
- "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles",
- "inputDirectories": [
- {
- "id": "INPUT",
- "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input"
- }
- ],
- "outputDirectories": [
- {
- "id": "OUTPUTS",
- "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/",
- "pathSuffix": "files",
- "type": "custom",
- "createNew": true
- }
- ],
- "constraints": {
- "maxWallClockTime": "P7D"
- },
- "creationTime": "2017-09-27T23:36:52.611Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T23:36:53.701Z",
- "executionState": "running",
- "executionStateTransitionTime": "2017-09-27T23:36:56.395Z",
- "executionInfo": {
- "startTime": "2017-09-27T23:36:54.115Z"
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/JobListRemoteLoginInfo.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/JobListRemoteLoginInfo.json
deleted file mode 100644
index acfea76aec83..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/JobListRemoteLoginInfo.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "jobName": "demo_job",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "nodeId": "tvm-3601533753_1-20170719t162906z",
- "ipAddress": "13.84.190.124",
- "port": 50000
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListCluster.json
deleted file mode 100644
index 27b016ee6119..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListCluster.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster",
- "name": "demo_cluster",
- "type": "Microsoft.BatchAI/Clusters",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "allocationState": "resizing",
- "creationTime": "2017-09-27T22:28:07.645Z",
- "allocationStateTransitionTime": "2017-09-27T22:28:08.998Z",
- "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z",
- "vmSize": "STANDARD_NC6",
- "currentNodeCount": 0,
- "nodeStateCounts": {
- "runningNodeCount": 0,
- "idleNodeCount": 0,
- "unusableNodeCount": 0,
- "preparingNodeCount": 0,
- "leavingNodeCount": 0
- },
- "vmPriority": "dedicated",
- "scaleSettings": {
- "manual": {
- "targetNodeCount": 1,
- "nodeDeallocationOption": "requeue"
- }
- },
- "virtualMachineConfiguration": {
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "16.04-LTS",
- "version": "latest"
- }
- },
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- },
- "nodeSetup": {
- "mountVolumes": {
- "azureFileShares": [
- {
- "accountName": "storage_account_name",
- "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name",
- "credentials": {},
- "relativeMountPath": "azfiles",
- "fileMode": "0777",
- "directoryMode": "0777"
- }
- ]
- }
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListClusterByResourceGroup.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListClusterByResourceGroup.json
deleted file mode 100644
index 0a3ace6f4b68..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListClusterByResourceGroup.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster",
- "name": "demo_cluster",
- "type": "Microsoft.BatchAI/Clusters",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "allocationState": "resizing",
- "creationTime": "2017-09-27T22:28:07.645Z",
- "allocationStateTransitionTime": "2017-09-27T22:28:08.998Z",
- "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z",
- "vmSize": "STANDARD_NC6",
- "currentNodeCount": 0,
- "nodeStateCounts": {
- "runningNodeCount": 0,
- "idleNodeCount": 0,
- "unusableNodeCount": 0,
- "preparingNodeCount": 0,
- "leavingNodeCount": 0
- },
- "vmPriority": "dedicated",
- "scaleSettings": {
- "manual": {
- "targetNodeCount": 1,
- "nodeDeallocationOption": "requeue"
- }
- },
- "virtualMachineConfiguration": {
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "16.04-LTS",
- "version": "latest"
- }
- },
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- },
- "nodeSetup": {
- "mountVolumes": {
- "azureFileShares": [
- {
- "accountName": "storage_account_name",
- "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name",
- "credentials": {},
- "relativeMountPath": "azfiles",
- "fileMode": "0777",
- "directoryMode": "0777"
- }
- ]
- }
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListFileServer.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListFileServer.json
deleted file mode 100644
index 9545568e238c..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListFileServer.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/fileservers/fileservercedd134b",
- "name": "fileservercedd134b",
- "type": "Microsoft.BatchAI/FileServers",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "creationTime": "2017-09-27T21:45:28.159Z",
- "provisioningStateTransitionTime": "2017-09-27T21:49:25.416Z",
- "vmSize": "STANDARD_NC6",
- "sshConfiguration": {
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- }
- },
- "dataDisks": {
- "diskSizeInGB": 10,
- "cachingType": "none",
- "diskCount": 2,
- "storageAccountType": "Standard_LRS"
- },
- "subnet": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1"
- },
- "mountSettings": {
- "mountPoint": "/mnt/data",
- "fileServerPublicIP": "13.90.141.66",
- "fileServerInternalIP": "10.0.0.4",
- "fileServerType": "nfs"
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListFileServerByResourceGroup.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListFileServerByResourceGroup.json
deleted file mode 100644
index 3bb1b0eeaacd..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListFileServerByResourceGroup.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/fileservers/fileservercedd134b",
- "name": "fileservercedd134b",
- "type": "Microsoft.BatchAI/FileServers",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "creationTime": "2017-09-27T21:45:28.159Z",
- "provisioningStateTransitionTime": "2017-09-27T21:49:25.416Z",
- "vmSize": "STANDARD_NC6",
- "sshConfiguration": {
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- }
- },
- "dataDisks": {
- "diskSizeInGB": 10,
- "cachingType": "none",
- "diskCount": 2,
- "storageAccountType": "Standard_LRS"
- },
- "subnet": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1"
- },
- "mountSettings": {
- "mountPoint": "/mnt/data",
- "fileServerPublicIP": "13.90.141.66",
- "fileServerInternalIP": "10.0.0.4",
- "fileServerType": "nfs"
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListJob.json
deleted file mode 100644
index 576cf681e890..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListJob.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/jobs/job",
- "name": "job",
- "type": "Microsoft.BatchAI/Jobs",
- "properties": {
- "priority": 0,
- "cluster": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster"
- },
- "nodeCount": 1,
- "containerSettings": {
- "imageSourceRegistry": {
- "image": "ubuntu"
- }
- },
- "toolType": "custom",
- "customToolkitSettings": {
- "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt"
- },
- "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles",
- "inputDirectories": [
- {
- "id": "INPUT",
- "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input"
- }
- ],
- "outputDirectories": [
- {
- "id": "OUTPUTS",
- "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/",
- "pathSuffix": "files",
- "type": "custom",
- "createNew": true
- }
- ],
- "constraints": {
- "maxWallClockTime": "P7D"
- },
- "creationTime": "2017-09-27T23:36:52.611Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T23:36:53.701Z",
- "executionState": "running",
- "executionStateTransitionTime": "2017-09-27T23:36:56.395Z",
- "executionInfo": {
- "startTime": "2017-09-27T23:36:54.115Z"
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListJobByResourceGroup.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListJobByResourceGroup.json
deleted file mode 100644
index 3d2512013ac2..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListJobByResourceGroup.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/jobs/job",
- "name": "job",
- "type": "Microsoft.BatchAI/Jobs",
- "properties": {
- "priority": 0,
- "cluster": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster"
- },
- "nodeCount": 1,
- "containerSettings": {
- "imageSourceRegistry": {
- "image": "ubuntu"
- }
- },
- "toolType": "custom",
- "customToolkitSettings": {
- "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt"
- },
- "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles",
- "inputDirectories": [
- {
- "id": "INPUT",
- "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input"
- }
- ],
- "outputDirectories": [
- {
- "id": "OUTPUTS",
- "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/",
- "pathSuffix": "files",
- "type": "custom",
- "createNew": true
- }
- ],
- "constraints": {
- "maxWallClockTime": "P7D"
- },
- "creationTime": "2017-09-27T23:36:52.611Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T23:36:53.701Z",
- "executionState": "running",
- "executionStateTransitionTime": "2017-09-27T23:36:56.395Z",
- "executionInfo": {
- "startTime": "2017-09-27T23:36:54.115Z"
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListOutputFiles.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListOutputFiles.json
deleted file mode 100644
index b148c06a9384..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/ListOutputFiles.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "jobName": "demo_job",
- "outputdirectoryid": "stdouterr",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "name": "stderr-job_prep.txt",
- "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/host_prep_stderr.txt?sv=2016-05-31&sr=f&sig=CNPJmjDQT9Anld9%2FdnQ52ZBpfOff2el8r4el6J%2BnpJE%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl",
- "properties": {
- "lastModified": "2017-09-28T00:22:19Z",
- "contentLength": 0
- }
- },
- {
- "name": "stdout-job_prep.txt",
- "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/host_prep_stdout.txt?sv=2016-05-31&sr=f&sig=yK%2F5acWSTdcmBZGGL9%2F3IqeZ7N%2B1sRXfwB%2FaCkoRS%2Bc%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl",
- "properties": {
- "lastModified": "2017-09-28T00:22:19Z",
- "contentLength": 720
- }
- },
- {
- "name": "stderr.txt",
- "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/stderr.txt?sv=2016-05-31&sr=f&sig=TdvHhdQjvWWA0Z7aPb0oZpPgGbBPOyDarNXWHFnRS3c%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl",
- "properties": {
- "lastModified": "2017-09-28T00:22:19Z",
- "contentLength": 0
- }
- },
- {
- "name": "stdout.txt",
- "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/stdout.txt?sv=2016-05-31&sr=f&sig=nyydEjNnYpQfovknJc%2B5G%2F05g0IV4acWKlfkM35lh00%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl",
- "properties": {
- "lastModified": "2017-09-28T00:22:19Z",
- "contentLength": 32
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/OperationList.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/OperationList.json
deleted file mode 100644
index 1001d46cb40e..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/OperationList.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{
- "parameters": {
- "api-version": "2017-09-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "name": "Microsoft.BatchAI/clusters/read",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Clusters",
- "operation": "List or get Batch AI clusters",
- "description": "Lists Batch AI clusters or gets the properties of a Batch AI cluster"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/clusters/write",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Clusters",
- "operation": "Create or update Batch AI cluster",
- "description": "Creates a new Batch AI cluster or updates an existing Batch AI cluster"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/clusters/delete",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Clusters",
- "operation": "Delete Batch AI cluster",
- "description": "Deletes a Batch AI cluster"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/clusters/listRemoteLoginInformation",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Clusters",
- "operation": "List Batch AI cluster remote-login information",
- "description": "Lists remote-login information for a Batch AI cluster"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/jobs/read",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Jobs",
- "operation": "List or get Batch AI jobs",
- "description": "Lists Batch AI jobs or gets the properties of a Batch AI job"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/jobs/write",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Jobs",
- "operation": "Create or update Batch AI job",
- "description": "Creates a new Batch AI job or updates an existing Batch AI job"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/jobs/delete",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Jobs",
- "operation": "Delete Batch AI job",
- "description": "Deletes a Batch AI job"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/jobs/terminate/action",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Jobs",
- "operation": "Terminate Batch AI job",
- "description": "Terminates a Batch AI job"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/jobs/listRemoteLoginInformation",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Jobs",
- "operation": "List Batch AI job remote-login information",
- "description": "Lists remote-login information for a Batch AI job"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/fileservers/read",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Fileservers",
- "operation": "List or get Batch AI fileservers",
- "description": "Lists Batch AI fileservers or gets the properties of a Batch AI fileserver"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/fileservers/write",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Fileservers",
- "operation": "Create or update Batch AI fileserver",
- "description": "Creates a new Batch AI fileserver or updates an existing Batch AI fileserver"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/fileservers/delete",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Fileservers",
- "operation": "Delete Batch AI filserver",
- "description": "Deletes a Batch AI fileserver"
- },
- "origin": "user,system"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/PatchCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/PatchCluster.json
deleted file mode 100644
index acbc2cb36334..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/PatchCluster.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "clusterName": "demo_cluster",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview",
- "parameters": {
- "properties": {
- "scaleSettings": {
- "autoScale": {
- "minimumNodeCount": 0,
- "maximumNodeCount": 10
- }
- }
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster",
- "name": "demo_cluster",
- "type": "Microsoft.BatchAI/Clusters",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "allocationState": "steady",
- "creationTime": "2017-09-27T21:43:55.215Z",
- "allocationStateTransitionTime": "2017-09-27T21:43:57.664Z",
- "provisioningStateTransitionTime": "2017-09-27T21:43:56.238Z",
- "vmSize": "STANDARD_NC6",
- "currentNodeCount": 0,
- "nodeStateCounts": {
- "runningNodeCount": 0,
- "idleNodeCount": 0,
- "unusableNodeCount": 0,
- "preparingNodeCount": 0,
- "leavingNodeCount": 0
- },
- "vmPriority": "dedicated",
- "scaleSettings": {
- "autoScale": {
- "minimumNodeCount": 0,
- "maximumNodeCount": 10,
- "initialNodeCount": 0
- }
- },
- "virtualMachineConfiguration": {
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "16.04-LTS",
- "version": "latest"
- }
- },
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- },
- "nodeSetup": {
- "mountVolumes": {
- "azureFileShares": [
- {
- "accountName": "storage_account_name",
- "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name",
- "credentials": {},
- "relativeMountPath": "azfiles",
- "fileMode": "0777",
- "directoryMode": "0777"
- }
- ]
- }
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/PutCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/PutCluster.json
deleted file mode 100644
index 6a4891c9c857..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/PutCluster.json
+++ /dev/null
@@ -1,127 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "clusterName": "demo_cluster",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview",
- "parameters": {
- "location": "eastus",
- "properties": {
- "scaleSettings": {
- "manual": {
- "nodeDeallocationOption": "requeue",
- "targetNodeCount": 1
- }
- },
- "userAccountSettings": {
- "adminUserPassword": "admin_user_password",
- "adminUserSshPublicKey": "ssh-rsa AAAAB3NzaC1yc...",
- "adminUserName": "admin_user_name"
- },
- "nodeSetup": {
- "mountVolumes": {
- "fileServers": [
- {
- "fileServer": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/fileservers/fileservercedd134b"
- },
- "mountOptions": "rw",
- "relativeMountPath": "nfs"
- }
- ],
- "azureFileShares": [
- {
- "relativeMountPath": "azfiles",
- "directoryMode": "0777",
- "accountName": "storage_account_name",
- "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name",
- "fileMode": "0777",
- "credentials": {
- "accountKey": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000=="
- }
- }
- ]
- }
- },
- "vmPriority": "dedicated",
- "vmSize": "STANDARD_NC6"
- }
- }
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2017-09-01-preview",
- "Retry-After": 15
- }
- },
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster",
- "name": "demo_cluster",
- "type": "Microsoft.BatchAI/Clusters",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "allocationState": "resizing",
- "creationTime": "2017-09-27T21:50:02.377Z",
- "allocationStateTransitionTime": "2017-09-27T21:50:04.521Z",
- "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z",
- "vmSize": "STANDARD_NC6",
- "currentNodeCount": 0,
- "nodeStateCounts": {
- "runningNodeCount": 0,
- "idleNodeCount": 0,
- "unusableNodeCount": 0,
- "preparingNodeCount": 0,
- "leavingNodeCount": 0
- },
- "vmPriority": "dedicated",
- "scaleSettings": {
- "manual": {
- "targetNodeCount": 1,
- "nodeDeallocationOption": "requeue"
- }
- },
- "virtualMachineConfiguration": {
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "16.04-LTS",
- "version": "latest"
- }
- },
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- },
- "nodeSetup": {
- "mountVolumes": {
- "azureFileShares": [
- {
- "accountName": "storage_account_name",
- "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name",
- "credentials": {},
- "relativeMountPath": "azfiles",
- "fileMode": "0777",
- "directoryMode": "0777"
- }
- ],
- "fileServers": [
- {
- "fileServer": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/fileservers/fileservercedd134b"
- },
- "relativeMountPath": "nfs",
- "mountOptions": "rw"
- }
- ]
- }
- },
- "subnet": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1"
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/PutFileServer.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/PutFileServer.json
deleted file mode 100644
index f511bcdaa541..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/PutFileServer.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "fileServerName": "demo_nfs",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview",
- "parameters": {
- "location": "eastus",
- "properties": {
- "sshConfiguration": {
- "userAccountSettings": {
- "adminUserPassword": "admin_user_password",
- "adminUserName": "admin_user_name"
- }
- },
- "dataDisks": {
- "diskSizeInGB": 10,
- "storageAccountType": "Standard_LRS",
- "diskCount": 2
- },
- "vmSize": "STANDARD_NC6"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/fileservers/fileservercedd134b",
- "name": "demo_nfs",
- "type": "Microsoft.BatchAI/FileServers",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "creationTime": "2017-09-27T21:45:28.159Z",
- "provisioningStateTransitionTime": "2017-09-27T21:49:25.416Z",
- "vmSize": "STANDARD_NC6",
- "sshConfiguration": {
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- }
- },
- "dataDisks": {
- "diskSizeInGB": 10,
- "cachingType": "none",
- "diskCount": 2,
- "storageAccountType": "Standard_LRS"
- },
- "subnet": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1"
- },
- "mountSettings": {
- "mountPoint": "/mnt/data",
- "fileServerPublicIP": "13.90.141.66",
- "fileServerInternalIP": "10.0.0.4",
- "fileServerType": "nfs"
- }
- }
- }
- },
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2017-09-01-preview",
- "Retry-After": 15
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/PutJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/PutJob.json
deleted file mode 100644
index a3f42a1bb8c0..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/PutJob.json
+++ /dev/null
@@ -1,100 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "jobName": "demo_job",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview",
- "parameters": {
- "location": "eastus",
- "properties": {
- "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles",
- "cluster": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster"
- },
- "nodeCount": 1,
- "customToolkitSettings": {
- "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt"
- },
- "inputDirectories": [
- {
- "id": "INPUT",
- "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input"
- }
- ],
- "priority": 0,
- "containerSettings": {
- "imageSourceRegistry": {
- "image": "ubuntu"
- }
- },
- "outputDirectories": [
- {
- "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/",
- "type": "custom",
- "id": "OUTPUTS",
- "pathSuffix": "files",
- "createNew": true
- }
- ]
- }
- }
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2017-09-01-preview",
- "Retry-After": 15
- }
- },
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/jobs/demo_job",
- "name": "demo_job",
- "type": "Microsoft.BatchAI/Job",
- "properties": {
- "priority": 0,
- "cluster": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster"
- },
- "nodeCount": 1,
- "containerSettings": {
- "imageSourceRegistry": {
- "image": "ubuntu"
- }
- },
- "toolType": "custom",
- "customToolkitSettings": {
- "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt"
- },
- "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles",
- "inputDirectories": [
- {
- "id": "INPUT",
- "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input"
- }
- ],
- "outputDirectories": [
- {
- "id": "OUTPUTS",
- "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/",
- "pathSuffix": "files",
- "type": "custom",
- "createNew": true
- }
- ],
- "constraints": {
- "maxWallClockTime": "P7D"
- },
- "creationTime": "2017-09-27T23:36:52.611Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T23:36:53.701Z",
- "executionState": "running",
- "executionStateTransitionTime": "2017-09-27T23:36:56.395Z",
- "executionInfo": {
- "startTime": "2017-09-27T23:36:54.115Z"
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/TerminateJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/TerminateJob.json
deleted file mode 100644
index a68455be43a5..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/preview/2017-09-01-preview/examples/TerminateJob.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "jobName": "demo_job",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2017-09-01-preview"
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2017-09-01-preview",
- "Retry-After": 15
- }
- },
- "200": {}
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/BatchAI.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/BatchAI.json
deleted file mode 100644
index 3d43131b4147..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/BatchAI.json
+++ /dev/null
@@ -1,3267 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "BatchAI",
- "description": "The Azure BatchAI Management API.",
- "version": "2018-03-01",
- "x-ms-code-generation-settings": {
- "name": "BatchAIManagementClient"
- }
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "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.BatchAI/operations": {
- "get": {
- "tags": [
- "Operations"
- ],
- "operationId": "Operations_List",
- "description": "Lists available operations for the Microsoft.BatchAI provider.",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/OperationListResult"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List of available operations for Batch AI Resource Provider": {
- "$ref": "./examples/OperationList.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/locations/{location}/usages": {
- "get": {
- "tags": [
- "Usage"
- ],
- "operationId": "Usage_List",
- "description": "Gets the current usage information as well as limits for Batch AI resources for given subscription.",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "location",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The location for which resource usage is queried.",
- "pattern": "^[-\\w\\._]+$"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ListUsagesResult"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Create or update cluster": {
- "$ref": "./examples/ListUsages.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}": {
- "put": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_Create",
- "description": "Adds a cluster. A cluster is a collection of compute nodes. Multiple jobs can be run on the same cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ClusterCreateParameters"
- },
- "description": "The parameters to provide for cluster creation."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the cluster entity.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "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 cluster": {
- "$ref": "./examples/PutCluster.json"
- }
- }
- },
- "patch": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_Update",
- "description": "Update the properties of a given cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ClusterUpdateParameters"
- },
- "description": "Additional parameters for cluster update."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the Cluster entity.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-examples": {
- "Patch cluster": {
- "$ref": "./examples/PatchCluster.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_Delete",
- "description": "Deletes a Cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful."
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "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 cluster": {
- "$ref": "./examples/DeleteCluster.json"
- }
- }
- },
- "get": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_Get",
- "description": "Gets information about the specified Cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains information about the cluster.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-examples": {
- "Get cluster": {
- "$ref": "./examples/GetCluster.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}/listRemoteLoginInformation": {
- "post": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_ListRemoteLoginInformation",
- "description": "Get the IP address, port of all the compute nodes in the cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the list of IP addresses.",
- "schema": {
- "$ref": "#/definitions/RemoteLoginInformationListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Get a cluster's remote-login-information": {
- "$ref": "./examples/ClusterListRemoteLoginInfo.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/clusters": {
- "get": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_List",
- "description": "Gets information about the Clusters associated with the subscription.",
- "parameters": [
- {
- "$ref": "#/parameters/FilterParameter"
- },
- {
- "$ref": "#/parameters/SelectParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a list of Cluster entities associated with the subscription.",
- "schema": {
- "$ref": "#/definitions/ClusterListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List clusters": {
- "$ref": "./examples/ListCluster.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters": {
- "get": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_ListByResourceGroup",
- "description": "Gets information about the Clusters associated within the specified resource group.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/FilterParameter"
- },
- {
- "$ref": "#/parameters/SelectParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a list of Cluster entities associated with the resource group.",
- "schema": {
- "$ref": "#/definitions/ClusterListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List clusters": {
- "$ref": "./examples/ListClusterByResourceGroup.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}": {
- "put": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_Create",
- "description": "Adds a Job that gets executed on a cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/JobCreateParameters"
- },
- "description": "The parameters to provide for job creation."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the job entity.",
- "schema": {
- "$ref": "#/definitions/Job"
- }
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "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 job": {
- "$ref": "./examples/PutJob.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_Delete",
- "description": "Deletes the specified Batch AI job.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful."
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "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 job": {
- "$ref": "./examples/DeleteJob.json"
- }
- }
- },
- "get": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_Get",
- "description": "Gets information about the specified Batch AI job.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the Batch AI job entity.",
- "schema": {
- "$ref": "#/definitions/Job"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-examples": {
- "Get job": {
- "$ref": "./examples/GetJob.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listRemoteLoginInformation": {
- "post": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_ListRemoteLoginInformation",
- "description": "Gets the IP address and port information of all the compute nodes which are used for job execution.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains compute node remote login information.",
- "schema": {
- "$ref": "#/definitions/RemoteLoginInformationListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Get a job's remote-login-information ": {
- "$ref": "./examples/JobListRemoteLoginInfo.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/terminate": {
- "post": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_Terminate",
- "description": "Terminates a job.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful."
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "Terminate job": {
- "$ref": "./examples/TerminateJob.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/jobs": {
- "get": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_List",
- "description": "Gets information about the jobs associated with the subscription.",
- "parameters": [
- {
- "$ref": "#/parameters/FilterParameter"
- },
- {
- "$ref": "#/parameters/SelectParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a list of Batch AI job entities associated with the subscription.",
- "schema": {
- "$ref": "#/definitions/JobListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List jobs": {
- "$ref": "./examples/ListJob.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs": {
- "get": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_ListByResourceGroup",
- "description": "Gets information about the Batch AI jobs associated within the specified resource group.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/FilterParameter"
- },
- {
- "$ref": "#/parameters/SelectParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a list of Job entities associated with the resource group.",
- "schema": {
- "$ref": "#/definitions/JobListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List jobs": {
- "$ref": "./examples/ListJobByResourceGroup.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listOutputFiles": {
- "post": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_ListOutputFiles",
- "description": "List all directories and files inside the given directory of the output directory (Only if the output directory is on Azure File Share or Azure Storage container).",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "$ref": "#/parameters/OutputDirectoryIdParameter"
- },
- {
- "$ref": "#/parameters/Directory"
- },
- {
- "$ref": "#/parameters/DownloadLinkExpiryParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the list of job files.",
- "schema": {
- "$ref": "#/definitions/FileListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List a job's files": {
- "$ref": "./examples/ListOutputFiles.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers/{fileServerName}": {
- "put": {
- "tags": [
- "FileServer"
- ],
- "operationId": "FileServers_Create",
- "description": "Creates a file server.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/FileServerNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/FileServerCreateParameters"
- },
- "description": "The parameters to provide for file server creation."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the file server entity.",
- "schema": {
- "$ref": "#/definitions/FileServer"
- }
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "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 file server": {
- "$ref": "./examples/PutFileServer.json"
- }
- }
- },
- "delete": {
- "tags": [
- "FileServer"
- ],
- "operationId": "FileServers_Delete",
- "description": "Delete a file Server.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/FileServerNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful."
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "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 file server": {
- "$ref": "./examples/DeleteFileServer.json"
- }
- }
- },
- "get": {
- "tags": [
- "FileServer"
- ],
- "operationId": "FileServers_Get",
- "description": "Gets information about the specified Cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/FileServerNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains information about the FileServer.",
- "schema": {
- "$ref": "#/definitions/FileServer"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-examples": {
- "Get file server": {
- "$ref": "./examples/GetFileServer.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/fileServers": {
- "get": {
- "tags": [
- "FileServer"
- ],
- "operationId": "FileServers_List",
- "description": "To list all the file servers available under the given subscription (and across all resource groups within that subscription)",
- "parameters": [
- {
- "$ref": "#/parameters/FilterParameter"
- },
- {
- "$ref": "#/parameters/SelectParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a formatted list of clusters and their properties.",
- "schema": {
- "$ref": "#/definitions/FileServerListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List file servers": {
- "$ref": "./examples/ListFileServer.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers": {
- "get": {
- "tags": [
- "FileServer"
- ],
- "operationId": "FileServers_ListByResourceGroup",
- "description": "Gets a formatted list of file servers and their properties associated within the specified resource group.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/FilterParameter"
- },
- {
- "$ref": "#/parameters/SelectParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a list of formatted file servers and their properties associated with the resource group.",
- "schema": {
- "$ref": "#/definitions/FileServerListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List file servers": {
- "$ref": "./examples/ListFileServerByResourceGroup.json"
- }
- }
- }
- }
- },
- "definitions": {
- "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 Batch AI 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."
- },
- "FileServerBaseProperties": {
- "properties": {
- "vmSize": {
- "type": "string",
- "title": "The size of the virtual machine of the file server.",
- "description": "For information about available VM sizes for fileservers from the Virtual Machines Marketplace, see Sizes for Virtual Machines (Linux)."
- },
- "sshConfiguration": {
- "title": "SSH configuration for the file server.",
- "$ref": "#/definitions/SshConfiguration"
- },
- "dataDisks": {
- "title": "Settings for the data disk which would be created for the file server.",
- "$ref": "#/definitions/DataDisks"
- },
- "subnet": {
- "title": "Specifies the identifier of the subnet.",
- "$ref": "#/definitions/ResourceId"
- }
- },
- "required": [
- "vmSize",
- "sshConfiguration",
- "dataDisks"
- ],
- "description": "The properties of a file server."
- },
- "FileServerListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/FileServer"
- },
- "description": "The collection of File Servers."
- },
- "nextLink": {
- "type": "string",
- "description": "The continuation token."
- }
- },
- "description": "Values returned by the List operation."
- },
- "DataDisks": {
- "properties": {
- "diskSizeInGB": {
- "type": "integer",
- "format": "int32",
- "readOnly": false,
- "title": "Initial disk size in GB for blank data disks, and the new desired size for resizing existing data disks."
- },
- "cachingType": {
- "type": "string",
- "title": "None, ReadOnly, ReadWrite. Default value is None. This property is not patchable.",
- "default": "none",
- "enum": [
- "none",
- "readonly",
- "readwrite"
- ],
- "x-ms-enum": {
- "name": "CachingType",
- "modelAsString": false
- }
- },
- "diskCount": {
- "type": "integer",
- "format": "int32",
- "readOnly": false,
- "title": "Number of data disks to be attached to the VM. RAID level 0 will be applied in the case of multiple disks."
- },
- "storageAccountType": {
- "type": "string",
- "readOnly": false,
- "title": "Specifies the type of storage account to be used on the disk. Possible values are: Standard_LRS or Premium_LRS.",
- "enum": [
- "Standard_LRS",
- "Premium_LRS"
- ],
- "x-ms-enum": {
- "name": "StorageAccountType",
- "modelAsString": true
- }
- }
- },
- "required": [
- "diskSizeInGB",
- "diskCount",
- "storageAccountType"
- ],
- "description": "Settings for the data disk which would be created for the File Server."
- },
- "KeyVaultSecretReference": {
- "properties": {
- "sourceVault": {
- "title": "Fully qualified resource Id for the Key Vault.",
- "$ref": "#/definitions/ResourceId"
- },
- "secretUrl": {
- "type": "string",
- "title": "The URL referencing a secret in a Key Vault."
- }
- },
- "required": [
- "sourceVault",
- "secretUrl"
- ],
- "description": "Describes a reference to Key Vault Secret."
- },
- "KeyVaultKeyReference": {
- "properties": {
- "sourceVault": {
- "title": "Fully qualified resource Id for the Key Vault.",
- "$ref": "#/definitions/ResourceId"
- },
- "keyUrl": {
- "type": "string",
- "title": "The URL referencing a key in a Key Vault."
- }
- },
- "required": [
- "sourceVault",
- "keyUrl"
- ],
- "description": "Describes a reference to Key Vault Key."
- },
- "MountSettings": {
- "properties": {
- "mountPoint": {
- "type": "string",
- "title": "Path where the NFS is mounted on the Server."
- },
- "fileServerPublicIP": {
- "type": "string",
- "title": "Public IP of the File Server VM."
- },
- "fileServerInternalIP": {
- "type": "string",
- "title": "Internal subnet IP which can be used to access the file Server from within the subnet."
- },
- "fileServerType": {
- "type": "string",
- "title": "Type of the fileserver e.g. nfs, glusterfs etc.",
- "enum": [
- "nfs",
- "glusterfs"
- ],
- "x-ms-enum": {
- "name": "FileServerType",
- "modelAsString": true
- }
- }
- },
- "description": "Details of the File Server."
- },
- "SshConfiguration": {
- "properties": {
- "publicIPsToAllow": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "title": "List of source IP ranges to allow SSH connection to a node.",
- "description": "Default value is '*' can be used to match all source IPs. Maximum number of IP ranges that can be specified are 400."
- },
- "userAccountSettings": {
- "title": "Settings for user account to be created on a node.",
- "$ref": "#/definitions/UserAccountSettings"
- }
- },
- "required": [
- "userAccountSettings"
- ],
- "description": "SSH configuration settings for the VM"
- },
- "FileServerCreateParameters": {
- "properties": {
- "location": {
- "type": "string",
- "description": "The region in which to create the File Server."
- },
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "The user specified tags associated with the File Server."
- },
- "properties": {
- "$ref": "#/definitions/FileServerBaseProperties",
- "description": "The properties of the File Server.",
- "x-ms-client-flatten": true
- }
- },
- "required": [
- "location"
- ],
- "description": "Parameters supplied to the Create operation."
- },
- "FileServerProperties": {
- "properties": {
- "vmSize": {
- "type": "string",
- "title": "The size of the virtual machine of the File Server.",
- "description": "For information about available VM sizes for File Server from the Virtual Machines Marketplace, see Sizes for Virtual Machines (Linux)."
- },
- "sshConfiguration": {
- "title": "SSH settings for the File Server.",
- "$ref": "#/definitions/SshConfiguration"
- },
- "dataDisks": {
- "title": "Settings for the data disk which would be created for the File Server.",
- "$ref": "#/definitions/DataDisks"
- },
- "subnet": {
- "title": "Specifies the identifier of the subnet.",
- "$ref": "#/definitions/ResourceId"
- },
- "mountSettings": {
- "title": "Details of the File Server.",
- "readOnly": true,
- "$ref": "#/definitions/MountSettings"
- },
- "provisioningStateTransitionTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "Time when the status was changed."
- },
- "creationTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "Time when the FileServer was created."
- },
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "x-nullable": false,
- "title": "Specifies the provisioning state of the File Server.",
- "description": "Possible values: creating - The File Server is getting created. updating - The File Server creation has been accepted and it is getting updated. deleting - The user has requested that the File Server be deleted, and it is in the process of being deleted. failed - The File Server creation has failed with the specified errorCode. Details about the error code are specified in the message field. succeeded - The File Server creation has succeeded.",
- "enum": [
- "creating",
- "updating",
- "deleting",
- "succeeded",
- "failed"
- ],
- "x-ms-enum": {
- "name": "FileServerProvisioningState",
- "modelAsString": false
- }
- }
- },
- "description": "File server specific properties."
- },
- "FileServer": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/FileServerProperties",
- "description": "The properties associated with the File Server."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "description": "Contains information about the File Server."
- },
- "ClusterBaseProperties": {
- "properties": {
- "vmSize": {
- "type": "string",
- "title": "The size of the virtual machines in the cluster.",
- "description": "All virtual machines in a cluster are the same size. For information about available VM sizes for clusters using images from the Virtual Machines Marketplace (see Sizes for Virtual Machines (Linux) or Sizes for Virtual Machines (Windows). Batch AI service supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
- },
- "vmPriority": {
- "type": "string",
- "title": "dedicated or lowpriority.",
- "description": "Default is dedicated.",
- "default": "dedicated",
- "enum": [
- "dedicated",
- "lowpriority"
- ],
- "x-ms-enum": {
- "name": "VmPriority",
- "modelAsString": false
- }
- },
- "scaleSettings": {
- "$ref": "#/definitions/ScaleSettings",
- "title": "Desired scale for the cluster."
- },
- "virtualMachineConfiguration": {
- "title": "Settings for OS image and mounted data volumes.",
- "$ref": "#/definitions/VirtualMachineConfiguration"
- },
- "nodeSetup": {
- "title": "Setup to be done on all compute nodes in the cluster.",
- "$ref": "#/definitions/NodeSetup"
- },
- "userAccountSettings": {
- "title": "Settings for user account that will be created on all compute nodes of the cluster.",
- "$ref": "#/definitions/UserAccountSettings"
- },
- "subnet": {
- "title": "Specifies the identifier of the subnet. ",
- "$ref": "#/definitions/ResourceId"
- }
- },
- "required": [
- "vmSize",
- "userAccountSettings"
- ],
- "description": "The properties of a Cluster."
- },
- "ClusterUpdateProperties": {
- "properties": {
- "scaleSettings": {
- "$ref": "#/definitions/ScaleSettings",
- "title": "Desired scale for the cluster"
- }
- },
- "description": "The properties of a Cluster that need to be updated."
- },
- "DeallocationOption": {
- "type": "string",
- "title": "Specifies when compute nodes may be removed from the cluster, if the cluster size is decreasing.",
- "description": "Possible values are: requeue - Terminate running jobs and requeue them. The jobs will run again. Remove compute nodes as soon as jobs have been terminated. terminate - Terminate running jobs. The jobs will not run again. Remove compute nodes as soon as jobs have been terminated. jobcompletion - Allow currently running jobs to complete. Schedule no new jobs while waiting. Remove compute nodes when all jobs have completed. The default value is requeue.",
- "default": "requeue",
- "enum": [
- "requeue",
- "terminate",
- "waitforjobcompletion",
- "unknown"
- ],
- "x-ms-enum": {
- "name": "DeallocationOption",
- "modelAsString": false
- }
- },
- "ScaleSettings": {
- "properties": {
- "manual": {
- "$ref": "#/definitions/ManualScaleSettings",
- "title": "The scale for the cluster by manual settings"
- },
- "autoScale": {
- "$ref": "#/definitions/AutoScaleSettings",
- "title": "The scale for the cluster by autoscale settings"
- }
- },
- "description": "At least one of manual or autoScale settings must be specified. Only one of manual or autoScale settings can be specified. If autoScale settings are specified, the system automatically scales the cluster up and down (within the supplied limits) based on the pending jobs on the cluster."
- },
- "AutoScaleSettings": {
- "properties": {
- "minimumNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Specifies the minimum number of compute nodes the cluster can have."
- },
- "maximumNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Specifies the maximum number of compute nodes the cluster can have."
- },
- "initialNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Specifies the number of compute nodes to allocate on cluster creation. Note that this value is used only during cluster creation.",
- "default": 0
- }
- },
- "required": [
- "minimumNodeCount",
- "maximumNodeCount"
- ],
- "description": "The system automatically scales the cluster up and down (within minimumNodeCount and maximumNodeCount) based on the pending and running jobs on the cluster."
- },
- "ManualScaleSettings": {
- "properties": {
- "targetNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "The desired number of compute nodes in the Cluster.",
- "default": 0,
- "description": "Default is 0. If autoScaleSettings are not specified, then the Cluster starts with this target."
- },
- "nodeDeallocationOption": {
- "title": "Determines what to do with the job(s) running on compute node if the Cluster size is decreasing.",
- "description": "The default value is requeue.",
- "default": "requeue",
- "$ref": "#/definitions/DeallocationOption"
- }
- },
- "required": [
- "targetNodeCount"
- ],
- "description": "Manual scale settings for the cluster."
- },
- "VirtualMachineConfiguration": {
- "properties": {
- "imageReference": {
- "title": "Reference to OS image.",
- "$ref": "#/definitions/ImageReference"
- }
- },
- "description": "Settings for OS image."
- },
- "ImageReference": {
- "properties": {
- "publisher": {
- "type": "string",
- "title": "Publisher of the image."
- },
- "offer": {
- "type": "string",
- "title": "Offer of the image."
- },
- "sku": {
- "type": "string",
- "title": "SKU of the image."
- },
- "version": {
- "type": "string",
- "title": "Version of the image."
- },
- "virtualMachineImageId": {
- "type": "string",
- "title": "The ARM resource identifier of the virtual machine image. Computes nodes of the cluster will be created using this custom image. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}",
- "description": "The virtual machine image must be in the same region and subscription as the cluster. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. Note, you need to provide publisher, offer and sku of the base OS image of which the custom image has been derived from."
- }
- },
- "required": [
- "publisher",
- "offer",
- "sku"
- ],
- "description": "The image reference."
- },
- "NodeStateCounts": {
- "properties": {
- "idleNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of compute nodes in idle state."
- },
- "runningNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of compute nodes which are running jobs."
- },
- "preparingNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of compute nodes which are being prepared."
- },
- "unusableNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of compute nodes which are unusable."
- },
- "leavingNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of compute nodes which are leaving the cluster."
- }
- },
- "required": [
- "idleNodeCount",
- "runningNodeCount",
- "preparingNodeCount",
- "unusableNodeCount",
- "leavingNodeCount"
- ],
- "description": "Counts of various compute node states on the cluster."
- },
- "UserAccountSettings": {
- "properties": {
- "adminUserName": {
- "type": "string",
- "title": "Specifies the name of the administrator account."
- },
- "adminUserSshPublicKey": {
- "type": "string",
- "title": "SSH public keys used to authenticate with linux based VMs. This does not get returned in a GET response body."
- },
- "adminUserPassword": {
- "type": "string",
- "title": "Admin user Password (linux only). This does not get returned in a GET response body."
- }
- },
- "required": [
- "adminUserName"
- ],
- "description": "Settings for user account that gets created on each on the nodes of a cluster."
- },
- "PerformanceCountersSettings": {
- "properties": {
- "appInsightsReference": {
- "title": "Specifies Azure Application Insights information for performance counters reporting.",
- "description": "If provided, Batch AI will upload node performance counters to the corresponding Azure Application Insights account.",
- "$ref": "#/definitions/AppInsightsReference"
- }
- },
- "required": [
- "appInsightsReference"
- ],
- "description": "Performance counters reporting settings."
- },
- "AppInsightsReference": {
- "properties": {
- "component": {
- "title": "Specifies the Azure Application Insights component resource id.",
- "$ref": "#/definitions/ResourceId"
- },
- "instrumentationKey": {
- "type": "string",
- "title": "Value of the Azure Application Insights instrumentation key."
- },
- "instrumentationKeySecretReference": {
- "title": "Specifies a KeyVault Secret containing Azure Application Insights instrumentation key.",
- "description": "Specifies KeyVault Store and Secret which contains Azure Application Insights instrumentation key. One of instrumentationKey or instrumentationKeySecretReference must be specified.",
- "$ref": "#/definitions/KeyVaultSecretReference"
- }
- },
- "required": [
- "component"
- ],
- "description": "Specifies Azure Application Insights information for performance counters reporting."
- },
- "NodeSetup": {
- "properties": {
- "setupTask": {
- "title": "Specifies a setup task which can be used to customize the compute nodes of the cluster. The NodeSetup task runs every time a VM is rebooted. For that reason the task code needs to be idempotent. Generally it is used to either download static data that is required for all jobs that run on the cluster VMs or to download/install software.",
- "$ref": "#/definitions/SetupTask"
- },
- "mountVolumes": {
- "title": "Information on shared volumes to be used by jobs.",
- "description": "Specified mount volumes will be available to all jobs executing on the cluster. The volumes will be mounted at location specified by $AZ_BATCHAI_MOUNT_ROOT environment variable.",
- "$ref": "#/definitions/MountVolumes"
- },
- "performanceCountersSettings": {
- "title": "Specifies settings for performance counters collecting and uploading.",
- "$ref": "#/definitions/PerformanceCountersSettings"
- }
- },
- "description": "Use this to prepare the VM. NOTE: The volumes specified in mountVolumes are mounted first and then the setupTask is run. Therefore the setup task can use local mountPaths in its execution."
- },
- "SetupTask": {
- "properties": {
- "commandLine": {
- "type": "string",
- "title": "Command Line to start Setup process."
- },
- "environmentVariables": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EnvironmentVariable"
- },
- "title": "Collection of environment variables to be set for setup task."
- },
- "secrets": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EnvironmentVariableWithSecretValue"
- },
- "title": "Collection of environment variables with secret values to be set for setup task.",
- "description": "Server will never report values of these variables back."
- },
- "runElevated": {
- "type": "boolean",
- "title": "Specifies whether to run the setup task under root account. The default value is false.",
- "description": "Note. Non-elevated tasks are run under an account added into sudoer list and can perform sudo when required.",
- "default": false
- },
- "stdOutErrPathPrefix": {
- "type": "string",
- "description": "The prefix of a path where the Batch AI service will upload the stdout and stderr of the setup task."
- },
- "stdOutErrPathSuffix": {
- "type": "string",
- "title": "A path segment appended by Batch AI to stdOutErrPathPrefix to form a path where stdout and stderr of the setup task will be uploaded.",
- "description": "Batch AI creates the setup task output directories under an unique path to avoid conflicts between different clusters. You can concatenate stdOutErrPathPrefix and stdOutErrPathSuffix to get the full path to the output directory.",
- "readOnly": true
- }
- },
- "required": [
- "commandLine",
- "stdOutErrPathPrefix"
- ],
- "description": "Specifies a setup task which can be used to customize the compute nodes of the cluster."
- },
- "ClusterCreateParameters": {
- "properties": {
- "location": {
- "type": "string",
- "description": "The region in which to create the cluster."
- },
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "The user specified tags associated with the Cluster."
- },
- "properties": {
- "$ref": "#/definitions/ClusterBaseProperties",
- "description": "The properties of the Cluster.",
- "x-ms-client-flatten": true
- }
- },
- "required": [
- "location"
- ],
- "description": "Parameters supplied to the Create operation."
- },
- "ClusterUpdateParameters": {
- "properties": {
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "The user specified tags associated with the Cluster."
- },
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ClusterUpdateProperties",
- "description": "The properties of the Cluster."
- }
- },
- "description": "Parameters supplied to the Update operation."
- },
- "ClusterProperties": {
- "properties": {
- "vmSize": {
- "type": "string",
- "title": "The size of the virtual machines in the cluster.",
- "description": "All virtual machines in a cluster are the same size. For information about available VM sizes for clusters using images from the Virtual Machines Marketplace (see Sizes for Virtual Machines (Linux) or Sizes for Virtual Machines (Windows). Batch AI service supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
- },
- "vmPriority": {
- "type": "string",
- "title": "dedicated or lowpriority.",
- "description": "The default value is dedicated. The node can get preempted while the task is running if lowpriority is chosen. This is best suited if the workload is checkpointing and can be restarted.",
- "default": "dedicated",
- "enum": [
- "dedicated",
- "lowpriority"
- ],
- "x-ms-enum": {
- "name": "VmPriority",
- "modelAsString": false
- }
- },
- "scaleSettings": {
- "$ref": "#/definitions/ScaleSettings",
- "title": "Desired scale for the Cluster."
- },
- "virtualMachineConfiguration": {
- "title": "Settings for OS image and mounted data volumes.",
- "$ref": "#/definitions/VirtualMachineConfiguration"
- },
- "nodeSetup": {
- "title": "Setup to be done on all compute nodes in the Cluster.",
- "$ref": "#/definitions/NodeSetup"
- },
- "userAccountSettings": {
- "title": "Settings for user account of compute nodes.",
- "$ref": "#/definitions/UserAccountSettings"
- },
- "subnet": {
- "title": "Specifies the identifier of the subnet.",
- "$ref": "#/definitions/ResourceId"
- },
- "creationTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "The creation time of the cluster."
- },
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "x-nullable": false,
- "title": "Specifies the provisioning state of the cluster.",
- "description": "Possible value are: creating - Specifies that the cluster is being created. succeeded - Specifies that the cluster has been created successfully. failed - Specifies that the cluster creation has failed. deleting - Specifies that the cluster is being deleted.",
- "enum": [
- "creating",
- "succeeded",
- "failed",
- "deleting"
- ],
- "x-ms-enum": {
- "name": "ProvisioningState",
- "modelAsString": false
- }
- },
- "provisioningStateTransitionTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "The provisioning state transition time of the cluster."
- },
- "allocationState": {
- "type": "string",
- "readOnly": true,
- "title": "Indicates whether the cluster is resizing.",
- "description": "Possible values are: steady and resizing. steady state indicates that the cluster is not resizing. There are no changes to the number of compute nodes in the cluster in progress. A cluster enters this state when it is created and when no operations are being performed on the cluster to change the number of compute nodes. resizing state indicates that the cluster is resizing; that is, compute nodes are being added to or removed from the cluster.",
- "enum": [
- "steady",
- "resizing"
- ],
- "x-ms-enum": {
- "name": "AllocationState",
- "modelAsString": false
- }
- },
- "allocationStateTransitionTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "The time at which the cluster entered its current allocation state."
- },
- "errors": {
- "title": "Contains details of various errors on the cluster including resize and node setup task",
- "description": "This element contains all the errors encountered by various compute nodes during node setup.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/BatchAIError"
- }
- },
- "currentNodeCount": {
- "type": "integer",
- "readOnly": true,
- "format": "int32",
- "title": "The number of compute nodes currently assigned to the cluster."
- },
- "nodeStateCounts": {
- "title": "Counts of various node states on the cluster.",
- "readOnly": true,
- "$ref": "#/definitions/NodeStateCounts"
- }
- },
- "description": "Job specific properties."
- },
- "Cluster": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ClusterProperties",
- "description": "The properties associated with the Cluster."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "description": "Contains information about a Cluster."
- },
- "ClusterListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Cluster"
- },
- "description": "The collection of returned Clusters."
- },
- "nextLink": {
- "type": "string",
- "description": "The continuation token."
- }
- },
- "description": "Values returned by the List Clusters operation."
- },
- "JobBaseProperties": {
- "properties": {
- "experimentName": {
- "type": "string",
- "description": "Describe the experiment information of the job"
- },
- "priority": {
- "type": "integer",
- "format": "int32",
- "title": "Priority associated with the job.",
- "description": "Priority associated with the job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0.",
- "default": 0
- },
- "cluster": {
- "title": "Specifies the Id of the cluster on which this job will run.",
- "$ref": "#/definitions/ResourceId"
- },
- "mountVolumes": {
- "title": "Information on mount volumes to be used by the job.",
- "description": "These volumes will be mounted before the job execution and will be unmounted after the job completion. The volumes will be mounted at location specified by $AZ_BATCHAI_JOB_MOUNT_ROOT environment variable.",
- "$ref": "#/definitions/MountVolumes"
- },
- "nodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of compute nodes to run the job on.",
- "description": "The job will be gang scheduled on that many compute nodes"
- },
- "containerSettings": {
- "title": "If provided the job will run in the specified container.",
- "description": "If the container was downloaded as part of cluster setup then the same container image will be used. If not provided, the job will run on the VM.",
- "$ref": "#/definitions/ContainerSettings"
- },
- "cntkSettings": {
- "title": "Specifies the settings for CNTK (aka Microsoft Cognitive Toolkit) job.",
- "$ref": "#/definitions/CNTKsettings"
- },
- "pyTorchSettings": {
- "title": "Specifies the settings for pyTorch job.",
- "$ref": "#/definitions/PyTorchSettings"
- },
- "tensorFlowSettings": {
- "title": "Specifies the settings for Tensor Flow job.",
- "$ref": "#/definitions/TensorFlowSettings"
- },
- "caffeSettings": {
- "title": "Specifies the settings for Caffe job.",
- "$ref": "#/definitions/CaffeSettings"
- },
- "caffe2Settings": {
- "title": "Specifies the settings for Caffe2 job.",
- "$ref": "#/definitions/Caffe2Settings"
- },
- "chainerSettings": {
- "title": "Specifies the settings for Chainer job.",
- "$ref": "#/definitions/ChainerSettings"
- },
- "customToolkitSettings": {
- "title": "Specifies the settings for custom tool kit job.",
- "$ref": "#/definitions/CustomToolkitSettings"
- },
- "jobPreparation": {
- "title": "Specifies the command line to be executed before tool kit is launched.",
- "description": "The specified actions will run on all the nodes that are part of the job",
- "$ref": "#/definitions/JobPreparation"
- },
- "stdOutErrPathPrefix": {
- "type": "string",
- "description": "The path where the Batch AI service will upload stdout and stderror of the job."
- },
- "inputDirectories": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/InputDirectory"
- },
- "title": "Specifies the list of input directories for the Job."
- },
- "outputDirectories": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/OutputDirectory"
- },
- "title": "Specifies the list of output directories."
- },
- "environmentVariables": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EnvironmentVariable"
- },
- "title": "Additional environment variables to set on the job.",
- "description": "Batch AI will setup these additional environment variables for the job."
- },
- "secrets": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EnvironmentVariableWithSecretValue"
- },
- "title": "Additional environment variables with secret values to set on the job.",
- "description": "Batch AI will setup these additional environment variables for the job. Server will never report values of these variables back."
- },
- "constraints": {
- "properties": {
- "maxWallClockTime": {
- "type": "string",
- "format": "duration",
- "title": "Max time the job can run.",
- "description": "Default Value = 1 week.",
- "default": "7.00:00:00"
- }
- },
- "description": "Constraints associated with the Job."
- }
- },
- "required": [
- "cluster",
- "nodeCount",
- "stdOutErrPathPrefix"
- ],
- "description": "The properties of a Batch AI job."
- },
- "JobCreateParameters": {
- "properties": {
- "location": {
- "type": "string",
- "description": "The region in which to create the job."
- },
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "The user specified tags associated with the job."
- },
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/JobBaseProperties",
- "description": "The properties of the Job."
- }
- },
- "required": [
- "location"
- ],
- "description": "Parameters supplied to the Create operation."
- },
- "JobProperties": {
- "properties": {
- "experimentName": {
- "type": "string",
- "description": "Describe the experiment information of the job"
- },
- "priority": {
- "type": "integer",
- "format": "int32",
- "title": "Priority associated with the job.",
- "description": "Priority associated with the job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0.",
- "default": 0
- },
- "cluster": {
- "title": "Specifies the Id of the cluster on which this job will run.",
- "$ref": "#/definitions/ResourceId"
- },
- "mountVolumes": {
- "title": "Information on mount volumes to be used by the job.",
- "description": "These volumes will be mounted before the job execution and will be unmounted after the job completion. The volumes will be mounted at location specified by $AZ_BATCHAI_JOB_MOUNT_ROOT environment variable.",
- "$ref": "#/definitions/MountVolumes"
- },
- "jobOutputDirectoryPathSegment": {
- "type": "string",
- "title": "A segment of job's output directories path created by BatchAI.",
- "description": "Batch AI creates job's output directories under an unique path to avoid conflicts between jobs. This value contains a path segment generated by Batch AI to make the path unique and can be used to find the output directory on the node or mounted filesystem."
- },
- "nodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of compute nodes to run the job on.",
- "description": "The job will be gang scheduled on that many compute nodes"
- },
- "containerSettings": {
- "title": "If provided the job will run in the specified container.",
- "description": "If the container was downloaded as part of cluster setup then the same container image will be used. If not provided, the job will run on the VM.",
- "$ref": "#/definitions/ContainerSettings"
- },
- "toolType": {
- "title": "The toolkit type of this job.",
- "description": "Possible values are: cntk, tensorflow, caffe, caffe2, chainer, pytorch, custom.",
- "$ref": "#/definitions/ToolType"
- },
- "cntkSettings": {
- "title": "Specifies the settings for CNTK (aka Microsoft Cognitive Toolkit) job.",
- "$ref": "#/definitions/CNTKsettings"
- },
- "pyTorchSettings": {
- "title": "Specifies the settings for pyTorch job.",
- "$ref": "#/definitions/PyTorchSettings"
- },
- "tensorFlowSettings": {
- "title": "Specifies the settings for Tensor Flow job.",
- "$ref": "#/definitions/TensorFlowSettings"
- },
- "caffeSettings": {
- "title": "Specifies the settings for Caffe job.",
- "$ref": "#/definitions/CaffeSettings"
- },
- "chainerSettings": {
- "title": "Specifies the settings for Chainer job.",
- "$ref": "#/definitions/ChainerSettings"
- },
- "customToolkitSettings": {
- "title": "Specifies the settings for custom tool kit job.",
- "$ref": "#/definitions/CustomToolkitSettings"
- },
- "jobPreparation": {
- "title": "Specifies the actions to be performed before tool kit is launched.",
- "description": "The specified actions will run on all the nodes that are part of the job",
- "$ref": "#/definitions/JobPreparation"
- },
- "stdOutErrPathPrefix": {
- "type": "string",
- "description": "The path where the Batch AI service will upload stdout and stderror of the job."
- },
- "inputDirectories": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/InputDirectory"
- },
- "title": "Specifies the list of input directories for the Job."
- },
- "outputDirectories": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/OutputDirectory"
- },
- "title": "Specifies the list of output directories where the models will be created."
- },
- "environmentVariables": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EnvironmentVariable"
- },
- "title": "Additional environment variables to set on the job.",
- "description": "Batch AI will setup these additional environment variables for the job."
- },
- "secrets": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EnvironmentVariableWithSecretValue"
- },
- "title": "Additional environment variables with secret values to set on the job.",
- "description": "Batch AI will setup these additional environment variables for the job. Server will never report values of these variables back."
- },
- "constraints": {
- "properties": {
- "maxWallClockTime": {
- "type": "string",
- "format": "duration",
- "title": "Max time the job can run.",
- "description": "Default Value = 1 week.",
- "default": "7.00:00:00"
- }
- },
- "description": "Constraints associated with the Job."
- },
- "creationTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "The job creation time.",
- "description": "The creation time of the job."
- },
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "x-nullable": false,
- "description": "The provisioned state of the Batch AI job",
- "enum": [
- "creating",
- "deleting",
- "succeeded",
- "failed"
- ],
- "x-ms-enum": {
- "name": "ProvisioningState",
- "modelAsString": false
- }
- },
- "provisioningStateTransitionTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "The time at which the job entered its current provisioning state.",
- "description": "The time at which the job entered its current provisioning state."
- },
- "executionState": {
- "type": "string",
- "title": "The current state of the job.",
- "description": "The current state of the job. Possible values are: queued - The job is queued and able to run. A job enters this state when it is created, or when it is awaiting a retry after a failed run. running - The job is running on a compute cluster. This includes job-level preparation such as downloading resource files or set up container specified on the job - it does not necessarily mean that the job command line has started executing. terminating - The job is terminated by the user, the terminate operation is in progress. succeeded - The job has completed running successfully and exited with exit code 0. failed - The job has finished unsuccessfully (failed with a non-zero exit code) and has exhausted its retry limit. A job is also marked as failed if an error occurred launching the job.",
- "enum": [
- "queued",
- "running",
- "terminating",
- "succeeded",
- "failed"
- ],
- "x-ms-enum": {
- "name": "ExecutionState",
- "modelAsString": false
- }
- },
- "executionStateTransitionTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "The time at which the job entered its current execution state.",
- "description": "The time at which the job entered its current execution state."
- },
- "executionInfo": {
- "properties": {
- "startTime": {
- "type": "string",
- "format": "date-time",
- "title": "The time at which the job started running.",
- "description": "'Running' corresponds to the running state. If the job has been restarted or retried, this is the most recent time at which the job started running. This property is present only for job that are in the running or completed state."
- },
- "endTime": {
- "type": "string",
- "format": "date-time",
- "title": "The time at which the job completed.",
- "description": "This property is only returned if the job is in completed state."
- },
- "exitCode": {
- "type": "integer",
- "format": "int32",
- "title": "The exit code of the job.",
- "description": "This property is only returned if the job is in completed state."
- },
- "errors": {
- "title": "Contains details of various errors encountered by the service during job execution",
- "type": "array",
- "items": {
- "$ref": "#/definitions/BatchAIError"
- }
- }
- },
- "required": [
- "startTime"
- ],
- "description": "Contains information about the execution of a job in the Azure Batch service."
- }
- },
- "description": "Job specific properties."
- },
- "Job": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/JobProperties",
- "description": "The properties associated with the job."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "description": "Contains information about the job."
- },
- "JobListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Job"
- },
- "description": "The collection of jobs."
- },
- "nextLink": {
- "type": "string",
- "description": "The continuation token."
- }
- },
- "description": "Values returned by the List operation."
- },
- "RemoteLoginInformation": {
- "properties": {
- "nodeId": {
- "type": "string",
- "description": "Id of the compute node"
- },
- "ipAddress": {
- "type": "string",
- "description": "ip address"
- },
- "port": {
- "type": "number",
- "format": "int32",
- "title": "port number"
- }
- },
- "description": "Contains remote login details to SSH/RDP to a compute node in cluster.",
- "required": [
- "nodeId",
- "ipAddress",
- "port"
- ]
- },
- "RemoteLoginInformationListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/RemoteLoginInformation"
- },
- "description": "The collection of returned remote login details."
- },
- "nextLink": {
- "type": "string",
- "description": "The continuation token."
- }
- },
- "description": "Values returned by the List operation."
- },
- "FileProperties": {
- "properties": {
- "lastModified": {
- "type": "string",
- "format": "date-time",
- "title": "The time at which the file was last modified.",
- "description": "The time at which the file was last modified."
- },
- "contentLength": {
- "type": "integer",
- "format": "int64",
- "title": "The file size.",
- "description": "The file size."
- }
- },
- "description": "File specific properties."
- },
- "File": {
- "properties": {
- "name": {
- "type": "string",
- "description": "Name of the file."
- },
- "isDirectory": {
- "type": "boolean",
- "description": "Indicates if the file is a directory."
- },
- "downloadUrl": {
- "type": "string",
- "title": "Will contain an URL to download the corresponding file. The downloadUrl is not returned for directories."
- },
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/FileProperties",
- "description": "The properties associated with the file. The properties are not returned for directories."
- }
- },
- "description": "Properties of the file or directory.",
- "required": [
- "name",
- "isDirectory"
- ]
- },
- "FileListResult": {
- "properties": {
- "value": {
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/File"
- },
- "description": "The collection of returned job directories and files."
- },
- "nextLink": {
- "type": "string",
- "description": "The continuation token."
- }
- },
- "description": "Values returned by the List operation."
- },
- "ResourceId": {
- "properties": {
- "id": {
- "type": "string",
- "description": "The ID of the resource"
- }
- },
- "required": [
- "id"
- ],
- "description": "Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet.",
- "x-ms-azure-resource": true
- },
- "Resource": {
- "properties": {
- "id": {
- "readOnly": true,
- "type": "string",
- "description": "The ID of the resource"
- },
- "name": {
- "readOnly": true,
- "type": "string",
- "description": "The name of the resource"
- },
- "type": {
- "readOnly": true,
- "type": "string",
- "description": "The type of the resource"
- },
- "location": {
- "readOnly": true,
- "type": "string",
- "description": "The location of the resource"
- },
- "tags": {
- "readOnly": true,
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "The tags of the resource"
- }
- },
- "description": "A definition of an Azure resource.",
- "x-ms-azure-resource": true
- },
- "ToolType": {
- "type": "string",
- "description": "The toolkit type of this job.",
- "enum": [
- "cntk",
- "tensorflow",
- "caffe",
- "caffe2",
- "chainer",
- "custom"
- ],
- "x-ms-enum": {
- "name": "ToolType",
- "modelAsString": true
- }
- },
- "NameValuePair": {
- "properties": {
- "name": {
- "type": "string",
- "title": "The name in the name-value pair."
- },
- "value": {
- "type": "string",
- "title": "The value in the name-value pair."
- }
- },
- "description": "Represents a name-value pair."
- },
- "EnvironmentVariable": {
- "properties": {
- "name": {
- "type": "string",
- "title": "The name of the environment variable."
- },
- "value": {
- "type": "string",
- "title": "The value of the environment variable."
- }
- },
- "required": [
- "name",
- "value"
- ],
- "description": "A collection of environment variables to set."
- },
- "EnvironmentVariableWithSecretValue": {
- "properties": {
- "name": {
- "type": "string",
- "title": "The name of the environment variable to store the secret value."
- },
- "value": {
- "type": "string",
- "title": "The value of the environment variable. This value will never be reported back by Batch AI."
- },
- "valueSecretReference": {
- "title": "Specifies the location of the Azure KeyVault secret which will be used as the environment variable value.",
- "description": "Specifies KeyVault Store and Secret which contains the value for the environment variable. One of value or valueSecretReference must be provided.",
- "$ref": "#/definitions/KeyVaultSecretReference"
- }
- },
- "required": [
- "name"
- ],
- "description": "A collection of environment variables with secret values to set."
- },
- "LocalDataVolume": {
- "properties": {
- "hostPath": {
- "type": "string",
- "title": "The path on the host that is to be mounted as a directory in the container."
- },
- "localPath": {
- "type": "string",
- "title": "The container local path where the host directory is mounted."
- }
- },
- "description": "Represents mapping of host directories to directories in the container.",
- "required": [
- "hostPath",
- "localPath"
- ]
- },
- "ImageSourceRegistry": {
- "properties": {
- "serverUrl": {
- "type": "string",
- "title": "URL for image repository."
- },
- "image": {
- "type": "string",
- "title": "The name of the image in image repository."
- },
- "credentials": {
- "title": "Information to access the private Docker repository.",
- "$ref": "#/definitions/PrivateRegistryCredentials"
- }
- },
- "description": "Details of the container image such as name, URL and credentials.",
- "required": [
- "image"
- ]
- },
- "PrivateRegistryCredentials": {
- "properties": {
- "username": {
- "type": "string",
- "title": "User name to login."
- },
- "password": {
- "type": "string",
- "title": "Password to login.",
- "description": "One of password or passwordSecretReference must be specified."
- },
- "passwordSecretReference": {
- "title": "Specifies the location of the password, which is a Key Vault Secret.",
- "description": "Users can store their secrets in Azure KeyVault and pass it to the Batch AI Service to integrate with KeyVault. One of password or passwordSecretReference must be specified.",
- "$ref": "#/definitions/KeyVaultSecretReference"
- }
- },
- "description": "Credentials to access a container image in a private repository.",
- "required": [
- "username"
- ]
- },
- "ContainerSettings": {
- "properties": {
- "imageSourceRegistry": {
- "title": "Registry to download the container from.",
- "$ref": "#/definitions/ImageSourceRegistry"
- }
- },
- "description": "Settings for the container to be downloaded.",
- "required": [
- "imageSourceRegistry"
- ]
- },
- "InputDirectory": {
- "properties": {
- "id": {
- "type": "string",
- "title": "The id for the input directory.",
- "description": "The path of the input directory will be available as a value of an environment variable with AZ_BATCHAI_INPUT_ name, where is the value of id attribute."
- },
- "path": {
- "type": "string",
- "title": "The path to the input directory."
- }
- },
- "description": "Input directory for the job.",
- "required": [
- "id",
- "path"
- ]
- },
- "OutputDirectory": {
- "properties": {
- "id": {
- "type": "string",
- "title": "The name for the output directory.",
- "description": "The path of the output directory will be available as a value of an environment variable with AZ_BATCHAI_OUTPUT_ name, where is the value of id attribute."
- },
- "pathPrefix": {
- "type": "string",
- "title": "The prefix path where the output directory will be created.",
- "description": "NOTE: This is an absolute path to prefix. E.g. $AZ_BATCHAI_MOUNT_ROOT/MyNFS/MyLogs. You can find the full path to the output directory by combining pathPrefix, jobOutputDirectoryPathSegment (reported by get job) and pathSuffix."
- },
- "pathSuffix": {
- "type": "string",
- "title": "The suffix path where the output directory will be created.",
- "description": "The suffix path where the output directory will be created. E.g. models. You can find the full path to the output directory by combining pathPrefix, jobOutputDirectoryPathSegment (reported by get job) and pathSuffix."
- },
- "type": {
- "type": "string",
- "title": "An enumeration, which specifies the type of job output directory.",
- "description": "Default value is Custom. The possible values are Model, Logs, Summary, and Custom. Users can use multiple enums for a single directory. Eg. outPutType='Model,Logs, Summary'",
- "default": "custom",
- "enum": [
- "model",
- "logs",
- "summary",
- "custom"
- ],
- "x-ms-enum": {
- "name": "OutputType",
- "modelAsString": true
- }
- },
- "createNew": {
- "type": "boolean",
- "title": "True to create new directory.",
- "description": "Default is true. If false, then the directory is not created and can be any directory path that the user specifies.",
- "default": true
- }
- },
- "description": "Output directory for the job.",
- "required": [
- "id",
- "pathPrefix"
- ]
- },
- "AzureStorageCredentialsInfo": {
- "properties": {
- "accountKey": {
- "type": "string",
- "title": "Storage account key.",
- "description": "One of accountKey or accountKeySecretReference must be specified."
- },
- "accountKeySecretReference": {
- "title": "Specifies the location of the storage account key, which is a Key Vault Secret.",
- "description": "Users can store their secrets in Azure KeyVault and pass it to the Batch AI Service to integrate with KeyVault. One of accountKey or accountKeySecretReference must be specified.",
- "$ref": "#/definitions/KeyVaultSecretReference"
- }
- },
- "description": "Credentials to access Azure File Share."
- },
- "AzureFileShareReference": {
- "properties": {
- "accountName": {
- "type": "string",
- "title": "Name of the storage account."
- },
- "azureFileUrl": {
- "type": "string",
- "title": "URL to access the Azure File."
- },
- "credentials": {
- "title": "Information of the Azure File credentials.",
- "$ref": "#/definitions/AzureStorageCredentialsInfo"
- },
- "relativeMountPath": {
- "type": "string",
- "title": "Specifies the relative path on the compute node where the Azure file share will be mounted.",
- "description": "Note that all cluster level file shares will be mounted under $AZ_BATCHAI_MOUNT_ROOT location and all job level file shares will be mounted under $AZ_BATCHAI_JOB_MOUNT_ROOT."
- },
- "fileMode": {
- "type": "string",
- "title": "Specifies the file mode.",
- "description": "Default value is 0777. Valid only if OS is linux.",
- "default": "0777"
- },
- "directoryMode": {
- "type": "string",
- "title": "Specifies the directory Mode.",
- "description": "Default value is 0777. Valid only if OS is linux.",
- "default": "0777"
- }
- },
- "description": "Details of the Azure File Share to mount on the cluster.",
- "required": [
- "accountName",
- "azureFileUrl",
- "credentials",
- "relativeMountPath"
- ]
- },
- "AzureBlobFileSystemReference": {
- "properties": {
- "accountName": {
- "type": "string",
- "title": "Name of the Azure Blob Storage account."
- },
- "containerName": {
- "type": "string",
- "title": "Name of the Azure Blob Storage container to mount on the cluster."
- },
- "credentials": {
- "title": "Information of the Azure Blob Storage account credentials.",
- "$ref": "#/definitions/AzureStorageCredentialsInfo"
- },
- "relativeMountPath": {
- "type": "string",
- "title": "Specifies the relative path on the compute node where the Azure Blob file system will be mounted.",
- "description": "Note that all cluster level blob file systems will be mounted under $AZ_BATCHAI_MOUNT_ROOT location and all job level blob file systems will be mounted under $AZ_BATCHAI_JOB_MOUNT_ROOT."
- },
- "mountOptions": {
- "type": "string",
- "title": "Specifies the various mount options that can be used to configure Blob file system."
- }
- },
- "description": "Provides required information, for the service to be able to mount Azure Blob Storage container on the cluster nodes.",
- "required": [
- "accountName",
- "containerName",
- "credentials",
- "relativeMountPath"
- ]
- },
- "FileServerReference": {
- "properties": {
- "fileServer": {
- "title": "Reference to the file server resource.",
- "$ref": "#/definitions/ResourceId"
- },
- "sourceDirectory": {
- "type": "string",
- "title": "Specifies the source directory in File Server that needs to be mounted.",
- "description": "If this property is not specified, the entire File Server will be mounted."
- },
- "relativeMountPath": {
- "type": "string",
- "title": "Specifies the relative path on the compute node where the File Server will be mounted.",
- "description": "Note that all cluster level file servers will be mounted under $AZ_BATCHAI_MOUNT_ROOT location and job level file servers will be mounted under $AZ_BATCHAI_JOB_MOUNT_ROOT."
- },
- "mountOptions": {
- "type": "string",
- "title": "Specifies the mount options for File Server."
- }
- },
- "description": "Provides required information, for the service to be able to mount Azure FileShare on the cluster nodes.",
- "required": [
- "fileServer",
- "relativeMountPath"
- ]
- },
- "UnmanagedFileSystemReference": {
- "properties": {
- "mountCommand": {
- "title": "Command used to mount the unmanaged file system.",
- "type": "string"
- },
- "relativeMountPath": {
- "type": "string",
- "title": "Specifies the relative path on the compute cluster node where the file system will be mounted.",
- "description": "Note that all cluster level unmanaged file system will be mounted under $AZ_BATCHAI_MOUNT_ROOT location and job level unmanaged file system will be mounted under $AZ_BATCHAI_JOB_MOUNT_ROOT."
- }
- },
- "description": "Details of the file system to mount on the compute cluster nodes.",
- "required": [
- "mountCommand",
- "relativeMountPath"
- ]
- },
- "MountVolumes": {
- "properties": {
- "azureFileShares": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AzureFileShareReference"
- },
- "title": "Azure File Share setup configuration.",
- "description": "References to Azure File Shares that are to be mounted to the cluster nodes."
- },
- "azureBlobFileSystems": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AzureBlobFileSystemReference"
- },
- "title": "Azure Blob FileSystem setup configuration.",
- "description": "References to Azure Blob FUSE that are to be mounted to the cluster nodes."
- },
- "fileServers": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/FileServerReference"
- },
- "title": "References to a list of file servers that are mounted to the cluster node."
- },
- "unmanagedFileSystems": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/UnmanagedFileSystemReference"
- },
- "title": "References to a list of file servers that are mounted to the cluster node."
- }
- },
- "description": "Details of volumes to mount on the cluster."
- },
- "CNTKsettings": {
- "properties": {
- "languageType": {
- "type": "string",
- "title": "Specifies the language type to use for launching CNTK (aka Microsoft Cognitive Toolkit) job.",
- "description": "Valid values are 'BrainScript' or 'Python'."
- },
- "configFilePath": {
- "type": "string",
- "title": "Specifies the path of the config file.",
- "description": "This property can be specified only if the languageType is 'BrainScript'."
- },
- "pythonScriptFilePath": {
- "type": "string",
- "title": "The path and file name of the python script to execute the job.",
- "description": "This property can be specified only if the languageType is 'Python'."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "The path to python interpreter.",
- "description": "This property can be specified only if the languageType is 'Python'."
- },
- "commandLineArgs": {
- "type": "string",
- "title": "Command line arguments that needs to be passed to the python script or CNTK.exe."
- },
- "processCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of processes parameter that is passed to MPI runtime.",
- "description": "The default value for this property is equal to nodeCount property"
- }
- },
- "description": "Specifies the settings for CNTK (aka Microsoft Cognitive Toolkit) job."
- },
- "CaffeSettings": {
- "properties": {
- "configFilePath": {
- "type": "string",
- "title": "Specifies the path of the config file.",
- "description": "This property cannot be specified if pythonScriptFilePath is specified."
- },
- "pythonScriptFilePath": {
- "type": "string",
- "title": "The path and file name of the python script to execute the job.",
- "description": "This property cannot be specified if configFilePath is specified."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "The path to python interpreter.",
- "description": "This property can be specified only if the pythonScriptFilePath is specified."
- },
- "commandLineArgs": {
- "type": "string",
- "title": "Command line arguments that needs to be passed to the Caffe job."
- },
- "processCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of processes parameter that is passed to MPI runtime.",
- "description": "The default value for this property is equal to nodeCount property"
- }
- },
- "description": "Specifies the settings for Caffe job."
- },
- "Caffe2Settings": {
- "properties": {
- "pythonScriptFilePath": {
- "type": "string",
- "title": "The path and file name of the python script to execute the job."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "The path to python interpreter."
- },
- "commandLineArgs": {
- "type": "string",
- "title": "Command line arguments that needs to be passed to the python script"
- }
- },
- "description": "Specifies the settings for Caffe2 job.",
- "required": [
- "pythonScriptFilePath"
- ]
- },
- "ChainerSettings": {
- "properties": {
- "pythonScriptFilePath": {
- "type": "string",
- "title": "The path and file name of the python script to execute the job."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "The path to python interpreter."
- },
- "commandLineArgs": {
- "type": "string",
- "title": "Command line arguments that needs to be passed to the python script"
- },
- "processCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of processes parameter that is passed to MPI runtime.",
- "description": "The default value for this property is equal to nodeCount property"
- }
- },
- "description": "Specifies the settings for Chainer job.",
- "required": [
- "pythonScriptFilePath"
- ]
- },
- "CustomToolkitSettings": {
- "properties": {
- "commandLine": {
- "type": "string",
- "title": "The command line to execute the custom toolkit Job."
- }
- },
- "description": "Specifies the settings for a custom tool kit job."
- },
- "JobPreparation": {
- "properties": {
- "commandLine": {
- "type": "string",
- "title": "The command line to execute.",
- "description": "If containerSettings is specified on the job, this commandLine will be executed in the same container as job. Otherwise it will be executed on the node."
- }
- },
- "description": "Specifies the settings for job preparation.",
- "required": [
- "commandLine"
- ]
- },
- "PyTorchSettings": {
- "properties": {
- "pythonScriptFilePath": {
- "type": "string",
- "title": "The path and file name of the python script to execute the job."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "The path to python interpreter."
- },
- "commandLineArgs": {
- "type": "string",
- "title": "Specifies the command line arguments for the master task."
- },
- "processCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of processes to launch for the job execution.",
- "description": "The default value for this property is equal to nodeCount property."
- },
- "communicationBackend": {
- "type": "string",
- "title": "Type of the communication backend for distributed jobs.",
- "description": "Valid values are 'TCP', 'Gloo' or 'MPI'. Not required for non-distributed jobs."
- }
- },
- "description": "Specifies the settings for pyTorch job.",
- "required": [
- "pythonScriptFilePath"
- ]
- },
- "TensorFlowSettings": {
- "properties": {
- "pythonScriptFilePath": {
- "type": "string",
- "title": "The path and file name of the python script to execute the job."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "The path to python interpreter."
- },
- "masterCommandLineArgs": {
- "type": "string",
- "title": "Specifies the command line arguments for the master task."
- },
- "workerCommandLineArgs": {
- "type": "string",
- "title": "Specifies the command line arguments for the worker task.",
- "description": "This property is optional for single machine training."
- },
- "parameterServerCommandLineArgs": {
- "type": "string",
- "title": "Specifies the command line arguments for the parameter server task.",
- "description": "This property is optional for single machine training."
- },
- "workerCount": {
- "type": "integer",
- "format": "int32",
- "title": "The number of worker tasks.",
- "description": "If specified, the value must be less than or equal to (nodeCount * numberOfGPUs per VM). If not specified, the default value is equal to nodeCount. This property can be specified only for distributed TensorFlow training"
- },
- "parameterServerCount": {
- "type": "integer",
- "format": "int32",
- "title": "The number of parameter server tasks.",
- "description": "If specified, the value must be less than or equal to nodeCount. If not specified, the default value is equal to 1 for distributed TensorFlow training (This property is not applicable for single machine training). This property can be specified only for distributed TensorFlow training."
- }
- },
- "description": "Specifies the settings for TensorFlow job.",
- "required": [
- "pythonScriptFilePath"
- ]
- },
- "CloudError": {
- "x-ms-external": true,
- "properties": {
- "error": {
- "$ref": "#/definitions/CloudErrorBody",
- "description": "An error response from the Batch AI service."
- }
- },
- "description": "An error response from the Batch AI service."
- },
- "CloudErrorBody": {
- "x-ms-external": true,
- "properties": {
- "code": {
- "type": "string",
- "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
- },
- "message": {
- "type": "string",
- "description": "A message describing the error, intended to be suitable for display in a user interface."
- },
- "target": {
- "type": "string",
- "description": "The target of the particular error. For example, the name of the property in error."
- },
- "details": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/CloudErrorBody"
- },
- "description": "A list of additional details about the error."
- }
- },
- "description": "An error response from the Batch AI service."
- },
- "BatchAIError": {
- "properties": {
- "code": {
- "type": "string",
- "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
- },
- "message": {
- "type": "string",
- "description": "A message describing the error, intended to be suitable for display in a user interface."
- },
- "details": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/NameValuePair"
- },
- "description": "A list of additional details about the error."
- }
- },
- "description": "An error response from the Batch AI service."
- },
- "Operation": {
- "title": "A REST API operation",
- "description": "Details of a REST API operation",
- "type": "object",
- "properties": {
- "name": {
- "title": "The operation name.",
- "description": "This is of the format {provider}/{resource}/{operation}",
- "type": "string"
- },
- "display": {
- "description": "The object that describes the operation.",
- "properties": {
- "provider": {
- "title": "Friendly name of the resource provider.",
- "type": "string"
- },
- "operation": {
- "title": "The operation type.",
- "description": "For example: read, write, delete, or listKeys/action",
- "type": "string"
- },
- "resource": {
- "title": "The resource type on which the operation is performed.",
- "type": "string"
- },
- "description": {
- "title": "The friendly name of the operation",
- "type": "string"
- }
- }
- },
- "origin": {
- "title": "The intended executor of the operation.",
- "type": "string"
- },
- "properties": {
- "x-ms-client-flatten": true,
- "title": "Properties of the operation.",
- "type": "object"
- }
- }
- },
- "OperationListResult": {
- "title": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.",
- "description": "Contains the list of all operations supported by BatchAI resource provider",
- "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."
- }
- }
- }
- },
- "parameters": {
- "SubscriptionIdParameter": {
- "name": "subscriptionId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The subscriptionID for the Azure user."
- },
- "ResourceGroupNameParameter": {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Name of the resource group to which the resource belongs.",
- "required": true,
- "x-ms-parameter-location": "method",
- "type": "string",
- "pattern": "^[-\\w\\._]+$"
- },
- "ClusterNameParameter": {
- "name": "clusterName",
- "in": "path",
- "required": true,
- "type": "string",
- "pattern": "^[-\\w\\._]+$",
- "minLength": 1,
- "maxLength": 64,
- "x-ms-parameter-location": "method",
- "description": "The name of the cluster within the specified resource group. Cluster names can only contain a combination of alphanumeric characters along with dash (-) and underscore (_). The name must be from 1 through 64 characters long."
- },
- "JobNameParameter": {
- "name": "jobName",
- "in": "path",
- "required": true,
- "type": "string",
- "pattern": "^[-\\w\\._]+$",
- "minLength": 1,
- "maxLength": 64,
- "x-ms-parameter-location": "method",
- "description": "The name of the job within the specified resource group. Job names can only contain a combination of alphanumeric characters along with dash (-) and underscore (_). The name must be from 1 through 64 characters long."
- },
- "FileServerNameParameter": {
- "name": "fileServerName",
- "in": "path",
- "required": true,
- "type": "string",
- "pattern": "^[-\\w\\._]+$",
- "minLength": 1,
- "maxLength": 64,
- "x-ms-parameter-location": "method",
- "description": "The name of the file server within the specified resource group. File server names can only contain a combination of alphanumeric characters along with dash (-) and underscore (_). The name must be from 1 through 64 characters long."
- },
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "Specifies the version of API used for this request."
- },
- "SelectParameter": {
- "name": "$select",
- "in": "query",
- "required": false,
- "type": "string",
- "x-ms-parameter-location": "method",
- "description": "An OData $select clause. Used to select the properties to be returned in the GET response.",
- "x-ms-parameter-grouping": {
- "postfix": "Options"
- }
- },
- "FilterParameter": {
- "name": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "x-ms-parameter-location": "method",
- "description": "An OData $filter clause. Used to filter results that are returned in the GET response.",
- "x-ms-parameter-grouping": {
- "postfix": "Options"
- }
- },
- "MaxResultsParameter": {
- "name": "maxresults",
- "x-ms-client-name": "maxResults",
- "default": 1000,
- "minimum": 1,
- "maximum": 1000,
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-ms-parameter-location": "method",
- "description": "The maximum number of items to return in the response. A maximum of 1000 files can be returned.",
- "x-ms-parameter-grouping": {
- "postfix": "Options"
- }
- },
- "OutputDirectoryIdParameter": {
- "name": "outputdirectoryid",
- "in": "query",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method",
- "description": "Id of the job output directory. This is the OutputDirectory-->id parameter that is given by the user during Create Job.",
- "x-ms-parameter-grouping": {
- "postfix": "Options"
- }
- },
- "DownloadLinkExpiryParameter": {
- "name": "linkexpiryinminutes",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 5,
- "maximum": 600,
- "default": 60,
- "x-ms-parameter-location": "method",
- "description": "The number of minutes after which the download link will expire.",
- "x-ms-parameter-grouping": {
- "postfix": "Options"
- }
- },
- "Directory": {
- "name": "directory",
- "in": "query",
- "default": ".",
- "required": false,
- "type": "string",
- "x-ms-parameter-location": "method",
- "description": "The path to the directory.",
- "x-ms-parameter-grouping": {
- "postfix": "Options"
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ClusterListRemoteLoginInfo.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ClusterListRemoteLoginInfo.json
deleted file mode 100644
index 82af47f24759..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ClusterListRemoteLoginInfo.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "clusterName": "demo_cluster",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "nodeId": "tvm-3601533753_1-20170719t162906z",
- "ipAddress": "13.84.190.124",
- "port": 50000
- },
- {
- "nodeId": "tvm-3601533753_2-20170719t162906z",
- "ipAddress": "13.84.190.124",
- "port": 50001
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/DeleteCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/DeleteCluster.json
deleted file mode 100644
index abeac1c492b5..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/DeleteCluster.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "clusterName": "demo_cluster",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01"
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-03-01",
- "Retry-After": 15
- }
- },
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/DeleteFileServer.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/DeleteFileServer.json
deleted file mode 100644
index 1ac3d44eebb7..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/DeleteFileServer.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "fileServerName": "demo_nfs",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01"
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-03-01",
- "Retry-After": 15
- }
- },
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/DeleteJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/DeleteJob.json
deleted file mode 100644
index d7e75b4c5b80..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/DeleteJob.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "jobName": "demo_job",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01"
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-03-01",
- "Retry-After": 15
- }
- },
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/GetCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/GetCluster.json
deleted file mode 100644
index b8f834cbdf8c..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/GetCluster.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "clusterName": "demo_cluster",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster",
- "name": "demo_cluster",
- "type": "Microsoft.BatchAI/Clusters",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "allocationState": "resizing",
- "creationTime": "2017-09-27T21:50:02.377Z",
- "allocationStateTransitionTime": "2017-09-27T21:50:04.521Z",
- "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z",
- "vmSize": "STANDARD_NC6",
- "currentNodeCount": 0,
- "nodeStateCounts": {
- "runningNodeCount": 0,
- "idleNodeCount": 0,
- "unusableNodeCount": 0,
- "preparingNodeCount": 0,
- "leavingNodeCount": 0
- },
- "vmPriority": "dedicated",
- "scaleSettings": {
- "manual": {
- "targetNodeCount": 1,
- "nodeDeallocationOption": "requeue"
- }
- },
- "virtualMachineConfiguration": {
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "16.04-LTS",
- "version": "latest"
- }
- },
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- },
- "nodeSetup": {
- "mountVolumes": {
- "azureFileShares": [
- {
- "accountName": "storage_account_name",
- "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name",
- "credentials": {},
- "relativeMountPath": "azfiles",
- "fileMode": "0777",
- "directoryMode": "0777"
- }
- ],
- "fileServers": [
- {
- "fileServer": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/fileservers/fileservercedd134b"
- },
- "relativeMountPath": "nfs",
- "mountOptions": "rw"
- }
- ]
- }
- },
- "subnet": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1"
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/GetFileServer.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/GetFileServer.json
deleted file mode 100644
index ffc3ca9e94c5..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/GetFileServer.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "fileServerName": "demo_nfs",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/fileservers/fileservercedd134b",
- "name": "fileservercedd134b",
- "type": "Microsoft.BatchAI/FileServers",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "creationTime": "2017-09-27T21:45:28.159Z",
- "provisioningStateTransitionTime": "2017-09-27T21:49:25.416Z",
- "vmSize": "STANDARD_NC6",
- "sshConfiguration": {
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- }
- },
- "dataDisks": {
- "diskSizeInGB": 10,
- "cachingType": "none",
- "diskCount": 2,
- "storageAccountType": "Standard_LRS"
- },
- "subnet": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1"
- },
- "mountSettings": {
- "mountPoint": "/mnt/data",
- "fileServerPublicIP": "13.90.141.66",
- "fileServerInternalIP": "10.0.0.4",
- "fileServerType": "nfs"
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/GetJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/GetJob.json
deleted file mode 100644
index 6281e1649656..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/GetJob.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "jobName": "demo_job",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/jobs/demo_job",
- "name": "job",
- "type": "Microsoft.BatchAI/Jobs",
- "properties": {
- "priority": 0,
- "cluster": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster"
- },
- "nodeCount": 1,
- "containerSettings": {
- "imageSourceRegistry": {
- "image": "ubuntu"
- }
- },
- "toolType": "custom",
- "customToolkitSettings": {
- "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt"
- },
- "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles",
- "jobOutputDirectoryPathSegment": "00000000-0000-0000-0000-000000000000/demo_resource_group/jobs/demo_job/00000000-0000-0000-0000-000000000000",
- "inputDirectories": [
- {
- "id": "INPUT",
- "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input"
- }
- ],
- "outputDirectories": [
- {
- "id": "OUTPUTS",
- "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/",
- "pathSuffix": "files",
- "type": "custom",
- "createNew": true
- }
- ],
- "constraints": {
- "maxWallClockTime": "P7D"
- },
- "creationTime": "2017-09-27T23:36:52.611Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T23:36:53.701Z",
- "executionState": "running",
- "executionStateTransitionTime": "2017-09-27T23:36:56.395Z",
- "executionInfo": {
- "startTime": "2017-09-27T23:36:54.115Z"
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/JobListRemoteLoginInfo.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/JobListRemoteLoginInfo.json
deleted file mode 100644
index 67825475ed81..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/JobListRemoteLoginInfo.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "jobName": "demo_job",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "nodeId": "tvm-3601533753_1-20170719t162906z",
- "ipAddress": "13.84.190.124",
- "port": 50000
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListCluster.json
deleted file mode 100644
index 67401ac4bcf3..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListCluster.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster",
- "name": "demo_cluster",
- "type": "Microsoft.BatchAI/Clusters",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "allocationState": "resizing",
- "creationTime": "2017-09-27T22:28:07.645Z",
- "allocationStateTransitionTime": "2017-09-27T22:28:08.998Z",
- "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z",
- "vmSize": "STANDARD_NC6",
- "currentNodeCount": 0,
- "nodeStateCounts": {
- "runningNodeCount": 0,
- "idleNodeCount": 0,
- "unusableNodeCount": 0,
- "preparingNodeCount": 0,
- "leavingNodeCount": 0
- },
- "vmPriority": "dedicated",
- "scaleSettings": {
- "manual": {
- "targetNodeCount": 1,
- "nodeDeallocationOption": "requeue"
- }
- },
- "virtualMachineConfiguration": {
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "16.04-LTS",
- "version": "latest"
- }
- },
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- },
- "nodeSetup": {
- "mountVolumes": {
- "azureFileShares": [
- {
- "accountName": "storage_account_name",
- "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name",
- "credentials": {},
- "relativeMountPath": "azfiles",
- "fileMode": "0777",
- "directoryMode": "0777"
- }
- ]
- }
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListClusterByResourceGroup.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListClusterByResourceGroup.json
deleted file mode 100644
index acded1f180c8..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListClusterByResourceGroup.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster",
- "name": "demo_cluster",
- "type": "Microsoft.BatchAI/Clusters",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "allocationState": "resizing",
- "creationTime": "2017-09-27T22:28:07.645Z",
- "allocationStateTransitionTime": "2017-09-27T22:28:08.998Z",
- "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z",
- "vmSize": "STANDARD_NC6",
- "currentNodeCount": 0,
- "nodeStateCounts": {
- "runningNodeCount": 0,
- "idleNodeCount": 0,
- "unusableNodeCount": 0,
- "preparingNodeCount": 0,
- "leavingNodeCount": 0
- },
- "vmPriority": "dedicated",
- "scaleSettings": {
- "manual": {
- "targetNodeCount": 1,
- "nodeDeallocationOption": "requeue"
- }
- },
- "virtualMachineConfiguration": {
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "16.04-LTS",
- "version": "latest"
- }
- },
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- },
- "nodeSetup": {
- "mountVolumes": {
- "azureFileShares": [
- {
- "accountName": "storage_account_name",
- "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name",
- "credentials": {},
- "relativeMountPath": "azfiles",
- "fileMode": "0777",
- "directoryMode": "0777"
- }
- ]
- }
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListFileServer.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListFileServer.json
deleted file mode 100644
index 6f30672681f6..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListFileServer.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/fileservers/fileservercedd134b",
- "name": "fileservercedd134b",
- "type": "Microsoft.BatchAI/FileServers",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "creationTime": "2017-09-27T21:45:28.159Z",
- "provisioningStateTransitionTime": "2017-09-27T21:49:25.416Z",
- "vmSize": "STANDARD_NC6",
- "sshConfiguration": {
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- }
- },
- "dataDisks": {
- "diskSizeInGB": 10,
- "cachingType": "none",
- "diskCount": 2,
- "storageAccountType": "Standard_LRS"
- },
- "subnet": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1"
- },
- "mountSettings": {
- "mountPoint": "/mnt/data",
- "fileServerPublicIP": "13.90.141.66",
- "fileServerInternalIP": "10.0.0.4",
- "fileServerType": "nfs"
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListFileServerByResourceGroup.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListFileServerByResourceGroup.json
deleted file mode 100644
index f55e77a9ba96..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListFileServerByResourceGroup.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/fileservers/fileservercedd134b",
- "name": "fileservercedd134b",
- "type": "Microsoft.BatchAI/FileServers",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "creationTime": "2017-09-27T21:45:28.159Z",
- "provisioningStateTransitionTime": "2017-09-27T21:49:25.416Z",
- "vmSize": "STANDARD_NC6",
- "sshConfiguration": {
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- }
- },
- "dataDisks": {
- "diskSizeInGB": 10,
- "cachingType": "none",
- "diskCount": 2,
- "storageAccountType": "Standard_LRS"
- },
- "subnet": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1"
- },
- "mountSettings": {
- "mountPoint": "/mnt/data",
- "fileServerPublicIP": "13.90.141.66",
- "fileServerInternalIP": "10.0.0.4",
- "fileServerType": "nfs"
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListJob.json
deleted file mode 100644
index aabab623bf5b..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListJob.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/jobs/job",
- "name": "job",
- "type": "Microsoft.BatchAI/Jobs",
- "properties": {
- "priority": 0,
- "cluster": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster"
- },
- "nodeCount": 1,
- "containerSettings": {
- "imageSourceRegistry": {
- "image": "ubuntu"
- }
- },
- "toolType": "custom",
- "customToolkitSettings": {
- "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt"
- },
- "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles",
- "inputDirectories": [
- {
- "id": "INPUT",
- "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input"
- }
- ],
- "outputDirectories": [
- {
- "id": "OUTPUTS",
- "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/",
- "pathSuffix": "files",
- "type": "custom",
- "createNew": true
- }
- ],
- "constraints": {
- "maxWallClockTime": "P7D"
- },
- "creationTime": "2017-09-27T23:36:52.611Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T23:36:53.701Z",
- "executionState": "running",
- "executionStateTransitionTime": "2017-09-27T23:36:56.395Z",
- "executionInfo": {
- "startTime": "2017-09-27T23:36:54.115Z"
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListJobByResourceGroup.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListJobByResourceGroup.json
deleted file mode 100644
index f6af04715932..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListJobByResourceGroup.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/jobs/job",
- "name": "job",
- "type": "Microsoft.BatchAI/Jobs",
- "properties": {
- "priority": 0,
- "cluster": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster"
- },
- "nodeCount": 1,
- "containerSettings": {
- "imageSourceRegistry": {
- "image": "ubuntu"
- }
- },
- "toolType": "custom",
- "customToolkitSettings": {
- "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt"
- },
- "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles",
- "inputDirectories": [
- {
- "id": "INPUT",
- "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input"
- }
- ],
- "outputDirectories": [
- {
- "id": "OUTPUTS",
- "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/",
- "pathSuffix": "files",
- "type": "custom",
- "createNew": true
- }
- ],
- "constraints": {
- "maxWallClockTime": "P7D"
- },
- "creationTime": "2017-09-27T23:36:52.611Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T23:36:53.701Z",
- "executionState": "running",
- "executionStateTransitionTime": "2017-09-27T23:36:56.395Z",
- "executionInfo": {
- "startTime": "2017-09-27T23:36:54.115Z"
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListOutputFiles.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListOutputFiles.json
deleted file mode 100644
index 1ca937d3da47..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListOutputFiles.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "jobName": "demo_job",
- "outputdirectoryid": "stdouterr",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "name": "stderr-job_prep.txt",
- "isDirectory": false,
- "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/host_prep_stderr.txt?sv=2016-05-31&sr=f&sig=CNPJmjDQT9Anld9%2FdnQ52ZBpfOff2el8r4el6J%2BnpJE%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl",
- "properties": {
- "lastModified": "2017-09-28T00:22:19Z",
- "contentLength": 0
- }
- },
- {
- "name": "stdout-job_prep.txt",
- "isDirectory": false,
- "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/host_prep_stdout.txt?sv=2016-05-31&sr=f&sig=yK%2F5acWSTdcmBZGGL9%2F3IqeZ7N%2B1sRXfwB%2FaCkoRS%2Bc%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl",
- "properties": {
- "lastModified": "2017-09-28T00:22:19Z",
- "contentLength": 720
- }
- },
- {
- "name": "stderr.txt",
- "isDirectory": false,
- "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/stderr.txt?sv=2016-05-31&sr=f&sig=TdvHhdQjvWWA0Z7aPb0oZpPgGbBPOyDarNXWHFnRS3c%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl",
- "properties": {
- "lastModified": "2017-09-28T00:22:19Z",
- "contentLength": 0
- }
- },
- {
- "name": "stdout.txt",
- "isDirectory": false,
- "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/stdout.txt?sv=2016-05-31&sr=f&sig=nyydEjNnYpQfovknJc%2B5G%2F05g0IV4acWKlfkM35lh00%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl",
- "properties": {
- "lastModified": "2017-09-28T00:22:19Z",
- "contentLength": 32
- }
- },
- {
- "name": "counters",
- "isDirectory": true
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListUsages.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListUsages.json
deleted file mode 100644
index 9de24fc8f343..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/ListUsages.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "location": "eastus",
- "api-version": "2018-03-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "unit": "Count",
- "currentValue": 51,
- "limit": 250,
- "name": {
- "value": "Number of Active Jobs",
- "localizedValue": "Number of Active Jobs"
- }
- },
- {
- "unit": "Count",
- "currentValue": 0,
- "limit": 250,
- "name": {
- "value": "Number of Clusters",
- "localizedValue": "Number of Clusters"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/OperationList.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/OperationList.json
deleted file mode 100644
index 6c3b8dbf3dc0..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/OperationList.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-03-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "name": "Microsoft.BatchAI/clusters/read",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Clusters",
- "operation": "List or get Batch AI clusters",
- "description": "Lists Batch AI clusters or gets the properties of a Batch AI cluster"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/clusters/write",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Clusters",
- "operation": "Create or update Batch AI cluster",
- "description": "Creates a new Batch AI cluster or updates an existing Batch AI cluster"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/clusters/delete",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Clusters",
- "operation": "Delete Batch AI cluster",
- "description": "Deletes a Batch AI cluster"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/clusters/listRemoteLoginInformation",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Clusters",
- "operation": "List Batch AI cluster remote-login information",
- "description": "Lists remote-login information for a Batch AI cluster"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/jobs/read",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Jobs",
- "operation": "List or get Batch AI jobs",
- "description": "Lists Batch AI jobs or gets the properties of a Batch AI job"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/jobs/write",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Jobs",
- "operation": "Create or update Batch AI job",
- "description": "Creates a new Batch AI job or updates an existing Batch AI job"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/jobs/delete",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Jobs",
- "operation": "Delete Batch AI job",
- "description": "Deletes a Batch AI job"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/jobs/terminate/action",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Jobs",
- "operation": "Terminate Batch AI job",
- "description": "Terminates a Batch AI job"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/jobs/listRemoteLoginInformation",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Jobs",
- "operation": "List Batch AI job remote-login information",
- "description": "Lists remote-login information for a Batch AI job"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/fileservers/read",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Fileservers",
- "operation": "List or get Batch AI fileservers",
- "description": "Lists Batch AI fileservers or gets the properties of a Batch AI fileserver"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/fileservers/write",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Fileservers",
- "operation": "Create or update Batch AI fileserver",
- "description": "Creates a new Batch AI fileserver or updates an existing Batch AI fileserver"
- },
- "origin": "user,system"
- },
- {
- "name": "Microsoft.BatchAI/fileservers/delete",
- "display": {
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Fileservers",
- "operation": "Delete Batch AI filserver",
- "description": "Deletes a Batch AI fileserver"
- },
- "origin": "user,system"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/PatchCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/PatchCluster.json
deleted file mode 100644
index 10671d95be32..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/PatchCluster.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "clusterName": "demo_cluster",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01",
- "parameters": {
- "properties": {
- "scaleSettings": {
- "autoScale": {
- "minimumNodeCount": 0,
- "maximumNodeCount": 10
- }
- }
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster",
- "name": "demo_cluster",
- "type": "Microsoft.BatchAI/Clusters",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "allocationState": "steady",
- "creationTime": "2017-09-27T21:43:55.215Z",
- "allocationStateTransitionTime": "2017-09-27T21:43:57.664Z",
- "provisioningStateTransitionTime": "2017-09-27T21:43:56.238Z",
- "vmSize": "STANDARD_NC6",
- "currentNodeCount": 0,
- "nodeStateCounts": {
- "runningNodeCount": 0,
- "idleNodeCount": 0,
- "unusableNodeCount": 0,
- "preparingNodeCount": 0,
- "leavingNodeCount": 0
- },
- "vmPriority": "dedicated",
- "scaleSettings": {
- "autoScale": {
- "minimumNodeCount": 0,
- "maximumNodeCount": 10,
- "initialNodeCount": 0
- }
- },
- "virtualMachineConfiguration": {
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "16.04-LTS",
- "version": "latest"
- }
- },
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- },
- "nodeSetup": {
- "mountVolumes": {
- "azureFileShares": [
- {
- "accountName": "storage_account_name",
- "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name",
- "credentials": {},
- "relativeMountPath": "azfiles",
- "fileMode": "0777",
- "directoryMode": "0777"
- }
- ]
- }
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/PutCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/PutCluster.json
deleted file mode 100644
index 8f4bbfcb6778..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/PutCluster.json
+++ /dev/null
@@ -1,127 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "clusterName": "demo_cluster",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01",
- "parameters": {
- "location": "eastus",
- "properties": {
- "scaleSettings": {
- "manual": {
- "nodeDeallocationOption": "requeue",
- "targetNodeCount": 1
- }
- },
- "userAccountSettings": {
- "adminUserPassword": "admin_user_password",
- "adminUserSshPublicKey": "ssh-rsa AAAAB3NzaC1yc...",
- "adminUserName": "admin_user_name"
- },
- "nodeSetup": {
- "mountVolumes": {
- "fileServers": [
- {
- "fileServer": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/fileservers/fileservercedd134b"
- },
- "mountOptions": "rw",
- "relativeMountPath": "nfs"
- }
- ],
- "azureFileShares": [
- {
- "relativeMountPath": "azfiles",
- "directoryMode": "0777",
- "accountName": "storage_account_name",
- "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name",
- "fileMode": "0777",
- "credentials": {
- "accountKey": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000=="
- }
- }
- ]
- }
- },
- "vmPriority": "dedicated",
- "vmSize": "STANDARD_NC6"
- }
- }
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-03-01",
- "Retry-After": 15
- }
- },
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster",
- "name": "demo_cluster",
- "type": "Microsoft.BatchAI/Clusters",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "allocationState": "resizing",
- "creationTime": "2017-09-27T21:50:02.377Z",
- "allocationStateTransitionTime": "2017-09-27T21:50:04.521Z",
- "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z",
- "vmSize": "STANDARD_NC6",
- "currentNodeCount": 0,
- "nodeStateCounts": {
- "runningNodeCount": 0,
- "idleNodeCount": 0,
- "unusableNodeCount": 0,
- "preparingNodeCount": 0,
- "leavingNodeCount": 0
- },
- "vmPriority": "dedicated",
- "scaleSettings": {
- "manual": {
- "targetNodeCount": 1,
- "nodeDeallocationOption": "requeue"
- }
- },
- "virtualMachineConfiguration": {
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "16.04-LTS",
- "version": "latest"
- }
- },
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- },
- "nodeSetup": {
- "mountVolumes": {
- "azureFileShares": [
- {
- "accountName": "storage_account_name",
- "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name",
- "credentials": {},
- "relativeMountPath": "azfiles",
- "fileMode": "0777",
- "directoryMode": "0777"
- }
- ],
- "fileServers": [
- {
- "fileServer": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/fileservers/fileservercedd134b"
- },
- "relativeMountPath": "nfs",
- "mountOptions": "rw"
- }
- ]
- }
- },
- "subnet": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1"
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/PutFileServer.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/PutFileServer.json
deleted file mode 100644
index f319ee74030f..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/PutFileServer.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "fileServerName": "demo_nfs",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01",
- "parameters": {
- "location": "eastus",
- "properties": {
- "sshConfiguration": {
- "userAccountSettings": {
- "adminUserPassword": "admin_user_password",
- "adminUserName": "admin_user_name"
- }
- },
- "dataDisks": {
- "diskSizeInGB": 10,
- "storageAccountType": "Standard_LRS",
- "diskCount": 2
- },
- "vmSize": "STANDARD_NC6"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/fileservers/fileservercedd134b",
- "name": "demo_nfs",
- "type": "Microsoft.BatchAI/FileServers",
- "location": "eastus",
- "properties": {
- "provisioningState": "succeeded",
- "creationTime": "2017-09-27T21:45:28.159Z",
- "provisioningStateTransitionTime": "2017-09-27T21:49:25.416Z",
- "vmSize": "STANDARD_NC6",
- "sshConfiguration": {
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- }
- },
- "dataDisks": {
- "diskSizeInGB": 10,
- "cachingType": "none",
- "diskCount": 2,
- "storageAccountType": "Standard_LRS"
- },
- "subnet": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1"
- },
- "mountSettings": {
- "mountPoint": "/mnt/data",
- "fileServerPublicIP": "13.90.141.66",
- "fileServerInternalIP": "10.0.0.4",
- "fileServerType": "nfs"
- }
- }
- }
- },
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-03-01",
- "Retry-After": 15
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/PutJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/PutJob.json
deleted file mode 100644
index ac859e204b25..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/PutJob.json
+++ /dev/null
@@ -1,100 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "jobName": "demo_job",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01",
- "parameters": {
- "location": "eastus",
- "properties": {
- "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles",
- "cluster": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster"
- },
- "nodeCount": 1,
- "customToolkitSettings": {
- "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt"
- },
- "inputDirectories": [
- {
- "id": "INPUT",
- "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input"
- }
- ],
- "priority": 0,
- "containerSettings": {
- "imageSourceRegistry": {
- "image": "ubuntu"
- }
- },
- "outputDirectories": [
- {
- "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/",
- "type": "custom",
- "id": "OUTPUTS",
- "pathSuffix": "files",
- "createNew": true
- }
- ]
- }
- }
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-03-01",
- "Retry-After": 15
- }
- },
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/jobs/demo_job",
- "name": "demo_job",
- "type": "Microsoft.BatchAI/Job",
- "properties": {
- "priority": 0,
- "cluster": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster"
- },
- "nodeCount": 1,
- "containerSettings": {
- "imageSourceRegistry": {
- "image": "ubuntu"
- }
- },
- "toolType": "custom",
- "customToolkitSettings": {
- "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt"
- },
- "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles",
- "inputDirectories": [
- {
- "id": "INPUT",
- "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input"
- }
- ],
- "outputDirectories": [
- {
- "id": "OUTPUTS",
- "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/",
- "pathSuffix": "files",
- "type": "custom",
- "createNew": true
- }
- ],
- "constraints": {
- "maxWallClockTime": "P7D"
- },
- "creationTime": "2017-09-27T23:36:52.611Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T23:36:53.701Z",
- "executionState": "running",
- "executionStateTransitionTime": "2017-09-27T23:36:56.395Z",
- "executionInfo": {
- "startTime": "2017-09-27T23:36:54.115Z"
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/TerminateJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/TerminateJob.json
deleted file mode 100644
index 7413be5ca3af..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-03-01/examples/TerminateJob.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "jobName": "demo_job",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-03-01"
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-03-01",
- "Retry-After": 15
- }
- },
- "200": {}
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json
deleted file mode 100644
index 2d368c2751f1..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/BatchAI.json
+++ /dev/null
@@ -1,3859 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "BatchAI",
- "description": "The Azure BatchAI Management API.",
- "version": "2018-05-01",
- "x-ms-code-generation-settings": {
- "name": "BatchAIManagementClient"
- }
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "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.BatchAI/operations": {
- "get": {
- "tags": [
- "Operations"
- ],
- "operationId": "Operations_List",
- "description": "Lists available operations for the Microsoft.BatchAI provider.",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/OperationListResult"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Create or update cluster": {
- "$ref": "./examples/ListOperation.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/locations/{location}/usages": {
- "get": {
- "tags": [
- "Usage"
- ],
- "operationId": "Usages_List",
- "description": "Gets the current usage information as well as limits for Batch AI resources for given subscription.",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "location",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The location for which resource usage is queried.",
- "pattern": "^[-\\w\\._]+$"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ListUsagesResult"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Create or update cluster": {
- "$ref": "./examples/ListUsages.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/workspaces": {
- "get": {
- "tags": [
- "Workspace"
- ],
- "operationId": "Workspaces_List",
- "description": "Gets a list of Workspaces associated with the given subscription.",
- "parameters": [
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a formatted list of workspaces and their properties.",
- "schema": {
- "$ref": "#/definitions/WorkspaceListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List file servers": {
- "$ref": "./examples/ListWorkspace.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces": {
- "get": {
- "tags": [
- "Workspace"
- ],
- "operationId": "Workspaces_ListByResourceGroup",
- "description": "Gets a list of Workspaces within the specified resource group.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a list of workspaces within the resource group.",
- "schema": {
- "$ref": "#/definitions/WorkspaceListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List workspaces": {
- "$ref": "./examples/ListWorkspaceByResourceGroup.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}": {
- "put": {
- "tags": [
- "Workspace"
- ],
- "operationId": "Workspaces_Create",
- "description": "Creates a Workspace.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/WorkspaceCreateParameters"
- },
- "description": "Workspace creation parameters."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the workspace entity.",
- "schema": {
- "$ref": "#/definitions/Workspace"
- }
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "Create a workspace": {
- "$ref": "./examples/PutWorkspace.json"
- }
- }
- },
- "patch": {
- "tags": [
- "Workspace"
- ],
- "operationId": "Workspaces_Update",
- "description": "Updates properties of a Workspace.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/WorkspaceUpdateParameters"
- },
- "description": "Additional parameters for workspace update."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the Workspace entity.",
- "schema": {
- "$ref": "#/definitions/Workspace"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-examples": {
- "Update workspace tags": {
- "$ref": "./examples/PatchWorkspace.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Workspace"
- ],
- "operationId": "Workspaces_Delete",
- "description": "Deletes a Workspace.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful."
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "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 workspace": {
- "$ref": "./examples/DeleteWorkspace.json"
- }
- }
- },
- "get": {
- "tags": [
- "Workspace"
- ],
- "operationId": "Workspaces_Get",
- "description": "Gets information about a Workspace.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains information about the Workspace.",
- "schema": {
- "$ref": "#/definitions/Workspace"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-examples": {
- "Get a workspace information": {
- "$ref": "./examples/GetWorkspace.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments": {
- "get": {
- "tags": [
- "Experiment"
- ],
- "operationId": "Experiments_ListByWorkspace",
- "description": "Gets a list of Experiments within the specified Workspace.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a list of experiments within the workspace.",
- "schema": {
- "$ref": "#/definitions/ExperimentListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List experiments": {
- "$ref": "./examples/ListExperimentByWorkspace.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}": {
- "put": {
- "tags": [
- "Experiment"
- ],
- "operationId": "Experiments_Create",
- "description": "Creates an Experiment.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/ExperimentNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the experiment entity.",
- "schema": {
- "$ref": "#/definitions/Experiment"
- }
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "Create an experiment": {
- "$ref": "./examples/PutExperiment.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Experiment"
- ],
- "operationId": "Experiments_Delete",
- "description": "Deletes an Experiment.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/ExperimentNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful."
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "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 an experiment": {
- "$ref": "./examples/DeleteExperiment.json"
- }
- }
- },
- "get": {
- "tags": [
- "Experiment"
- ],
- "operationId": "Experiments_Get",
- "description": "Gets information about an Experiment.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/ExperimentNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains information about the experiment.",
- "schema": {
- "$ref": "#/definitions/Experiment"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-examples": {
- "Get an experiment information": {
- "$ref": "./examples/GetExperiment.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs": {
- "get": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_ListByExperiment",
- "description": "Gets a list of Jobs within the specified Experiment.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/ExperimentNameParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a list of ExperimentJob entities associated with the experiment.",
- "schema": {
- "$ref": "#/definitions/JobListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List jobs in an experiment": {
- "$ref": "./examples/ListJobByExperiment.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}": {
- "put": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_Create",
- "description": "Creates a Job in the given Experiment.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/ExperimentNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/JobCreateParameters"
- },
- "description": "The parameters to provide for job creation."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the job entity.",
- "schema": {
- "$ref": "#/definitions/Job"
- }
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "Create a job": {
- "$ref": "./examples/PutJob.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_Delete",
- "description": "Deletes a Job.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/ExperimentNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful."
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "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 job": {
- "$ref": "./examples/DeleteJob.json"
- }
- }
- },
- "get": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_Get",
- "description": "Gets information about a Job.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/ExperimentNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the Job entity.",
- "schema": {
- "$ref": "#/definitions/Job"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-examples": {
- "Get job's information": {
- "$ref": "./examples/GetJob.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listOutputFiles": {
- "post": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_ListOutputFiles",
- "description": "List all directories and files inside the given directory of the Job's output directory (if the output directory is on Azure File Share or Azure Storage Container).",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/ExperimentNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "$ref": "#/parameters/OutputDirectoryIdParameter"
- },
- {
- "$ref": "#/parameters/Directory"
- },
- {
- "$ref": "#/parameters/DownloadLinkExpiryParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the list of files.",
- "schema": {
- "$ref": "#/definitions/FileListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List a job's files": {
- "$ref": "./examples/ListOutputFiles.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listRemoteLoginInformation": {
- "post": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_ListRemoteLoginInformation",
- "description": "Gets a list of currently existing nodes which were used for the Job execution. The returned information contains the node ID, its public IP and SSH port.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/ExperimentNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains compute node remote login information.",
- "schema": {
- "$ref": "#/definitions/RemoteLoginInformationListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Get information about nodes which ran a job": {
- "$ref": "./examples/JobListRemoteLoginInfo.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/terminate": {
- "post": {
- "tags": [
- "Job"
- ],
- "operationId": "Jobs_Terminate",
- "description": "Terminates a job.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/ExperimentNameParameter"
- },
- {
- "$ref": "#/parameters/JobNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful."
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "Terminate a job": {
- "$ref": "./examples/TerminateJob.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers/{fileServerName}": {
- "put": {
- "tags": [
- "FileServer"
- ],
- "operationId": "FileServers_Create",
- "description": "Creates a File Server in the given workspace.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/FileServerNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/FileServerCreateParameters"
- },
- "description": "The parameters to provide for File Server creation."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the file server entity.",
- "schema": {
- "$ref": "#/definitions/FileServer"
- }
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "Create a file server": {
- "$ref": "./examples/PutFileServer.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers": {
- "get": {
- "tags": [
- "FileServer"
- ],
- "operationId": "FileServers_ListByWorkspace",
- "description": "Gets a list of File Servers associated with the specified workspace.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a list of File Servers and their properties.",
- "schema": {
- "$ref": "#/definitions/FileServerListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Get a list of file servers": {
- "$ref": "./examples/ListFileServerByWorkspace.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}": {
- "put": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_Create",
- "description": "Creates a Cluster in the given Workspace.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ClusterCreateParameters"
- },
- "description": "The parameters to provide for the Cluster creation."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the Cluster entity.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "Create a cluster": {
- "$ref": "./examples/PutCluster.json"
- }
- }
- },
- "patch": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_Update",
- "description": "Updates properties of a Cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ClusterUpdateParameters"
- },
- "description": "Additional parameters for cluster update."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the Cluster entity.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-examples": {
- "Resize a cluster": {
- "$ref": "./examples/PatchCluster.json"
- }
- }
- },
- "delete": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_Delete",
- "description": "Deletes a Cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful."
- },
- "202": {
- "description": "The operation will be completed asynchronously."
- },
- "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 cluster": {
- "$ref": "./examples/DeleteCluster.json"
- }
- }
- },
- "get": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_Get",
- "description": "Gets information about a Cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains information about the Cluster.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-examples": {
- "Get a cluster's information": {
- "$ref": "./examples/GetCluster.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}/listRemoteLoginInformation": {
- "post": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_ListRemoteLoginInformation",
- "description": "Get the IP address, port of all the compute nodes in the Cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the list of IP addresses.",
- "schema": {
- "$ref": "#/definitions/RemoteLoginInformationListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Get remote login information for a cluster's nodes ": {
- "$ref": "./examples/ClusterListRemoteLoginInfo.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters": {
- "get": {
- "tags": [
- "Cluster"
- ],
- "operationId": "Clusters_ListByWorkspace",
- "description": "Gets information about Clusters associated with the given Workspace.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/WorkspaceNameParameter"
- },
- {
- "$ref": "#/parameters/MaxResultsParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains a list of Clusters and their properties.",
- "schema": {
- "$ref": "#/definitions/ClusterListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Get a list of cluster in a workspace": {
- "$ref": "./examples/ListClusterByWorkspace.json"
- }
- }
- }
- }
- },
- "definitions": {
- "UsageName": {
- "properties": {
- "value": {
- "readOnly": true,
- "type": "string",
- "description": "The name of the resource."
- },
- "localizedValue": {
- "readOnly": true,
- "type": "string",
- "description": "The localized name of the resource."
- }
- },
- "description": "The Usage Names."
- },
- "Usage": {
- "properties": {
- "unit": {
- "readOnly": true,
- "type": "string",
- "description": "An enum describing the unit of usage measurement.",
- "enum": [
- "Count"
- ],
- "x-ms-enum": {
- "name": "UsageUnit",
- "modelAsString": true
- }
- },
- "currentValue": {
- "readOnly": true,
- "type": "integer",
- "format": "int32",
- "description": "The current usage of the resource."
- },
- "limit": {
- "readOnly": true,
- "type": "integer",
- "format": "int64",
- "description": "The maximum permitted usage of the resource."
- },
- "name": {
- "readOnly": true,
- "$ref": "#/definitions/UsageName",
- "description": "The name of the type of usage."
- }
- },
- "description": "Describes Batch AI Resource Usage."
- },
- "ListUsagesResult": {
- "properties": {
- "value": {
- "readOnly": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/Usage"
- },
- "description": "The list of compute resource usages."
- },
- "nextLink": {
- "readOnly": true,
- "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."
- }
- },
- "description": "The List Usages operation response."
- },
- "FileServerBaseProperties": {
- "properties": {
- "vmSize": {
- "type": "string",
- "title": "VM size.",
- "description": "The size of the virtual machine for the File Server. For information about available VM sizes from the Virtual Machines Marketplace, see Sizes for Virtual Machines (Linux)."
- },
- "sshConfiguration": {
- "title": "SSH configuration.",
- "description": "SSH configuration for the File Server node.",
- "$ref": "#/definitions/SshConfiguration"
- },
- "dataDisks": {
- "title": "Data disks.",
- "description": "Settings for the data disks which will be created for the File Server.",
- "$ref": "#/definitions/DataDisks"
- },
- "subnet": {
- "title": "Subnet identifier.",
- "description": "Identifier of an existing virtual network subnet to put the File Server in. If not provided, a new virtual network and subnet will be created.",
- "$ref": "#/definitions/ResourceId"
- }
- },
- "required": [
- "vmSize",
- "sshConfiguration",
- "dataDisks"
- ],
- "description": "The properties of a file server."
- },
- "FileServerListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/FileServer"
- },
- "description": "The collection of File Servers."
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The continuation token."
- }
- },
- "description": "Values returned by the File Server List operation."
- },
- "DataDisks": {
- "properties": {
- "diskSizeInGB": {
- "type": "integer",
- "format": "int32",
- "readOnly": false,
- "title": "Disk size in GB.",
- "description": "Disk size in GB for the blank data disks."
- },
- "cachingType": {
- "type": "string",
- "title": "Caching type.",
- "description": "Caching type for the disks. Available values are none (default), readonly, readwrite. Caching type can be set only for VM sizes supporting premium storage.",
- "default": "none",
- "enum": [
- "none",
- "readonly",
- "readwrite"
- ],
- "x-ms-enum": {
- "name": "CachingType",
- "modelAsString": false
- }
- },
- "diskCount": {
- "type": "integer",
- "format": "int32",
- "readOnly": false,
- "title": "Number of data disks.",
- "description": "Number of data disks attached to the File Server. If multiple disks attached, they will be configured in RAID level 0."
- },
- "storageAccountType": {
- "type": "string",
- "readOnly": false,
- "title": "Storage account type.",
- "description": "Type of storage account to be used on the disk. Possible values are: Standard_LRS or Premium_LRS. Premium storage account type can only be used with VM sizes supporting premium storage.",
- "enum": [
- "Standard_LRS",
- "Premium_LRS"
- ],
- "x-ms-enum": {
- "name": "StorageAccountType",
- "modelAsString": true
- }
- }
- },
- "required": [
- "diskSizeInGB",
- "diskCount",
- "storageAccountType"
- ],
- "description": "Data disks settings."
- },
- "KeyVaultSecretReference": {
- "properties": {
- "sourceVault": {
- "title": "Key Vault resource identifier.",
- "description": "Fully qualified resource identifier of the Key Vault.",
- "$ref": "#/definitions/ResourceId"
- },
- "secretUrl": {
- "type": "string",
- "title": "Secret URL.",
- "description": "The URL referencing a secret in the Key Vault."
- }
- },
- "required": [
- "sourceVault",
- "secretUrl"
- ],
- "description": "Key Vault Secret reference."
- },
- "MountSettings": {
- "properties": {
- "mountPoint": {
- "type": "string",
- "title": "Mount Point.",
- "description": "Path where the data disks are mounted on the File Server."
- },
- "fileServerPublicIP": {
- "type": "string",
- "title": "Public IP.",
- "description": "Public IP address of the File Server which can be used to SSH to the node from outside of the subnet."
- },
- "fileServerInternalIP": {
- "type": "string",
- "title": "Internal IP.",
- "description": "Internal IP address of the File Server which can be used to access the File Server from within the subnet."
- }
- },
- "description": "File Server mount Information."
- },
- "SshConfiguration": {
- "properties": {
- "publicIPsToAllow": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "title": "Allowed public IPs.",
- "description": "List of source IP ranges to allow SSH connection from. The default value is '*' (all source IPs are allowed). Maximum number of IP ranges that can be specified is 400."
- },
- "userAccountSettings": {
- "title": "User account settings.",
- "description": "Settings for administrator user account to be created on a node. The account can be used to establish SSH connection to the node.",
- "$ref": "#/definitions/UserAccountSettings"
- }
- },
- "required": [
- "userAccountSettings"
- ],
- "description": "SSH configuration."
- },
- "FileServerCreateParameters": {
- "properties": {
- "properties": {
- "$ref": "#/definitions/FileServerBaseProperties",
- "description": "The properties of the File Server.",
- "x-ms-client-flatten": true
- }
- },
- "description": "File Server creation parameters."
- },
- "FileServerProperties": {
- "properties": {
- "vmSize": {
- "type": "string",
- "title": "VM size.",
- "description": "VM size of the File Server."
- },
- "sshConfiguration": {
- "title": "SSH configuration.",
- "description": "SSH configuration for accessing the File Server node.",
- "$ref": "#/definitions/SshConfiguration"
- },
- "dataDisks": {
- "title": "Data disks configuration.",
- "description": "Information about disks attached to File Server VM.",
- "$ref": "#/definitions/DataDisks"
- },
- "subnet": {
- "title": "Subnet.",
- "description": "File Server virtual network subnet resource ID.",
- "$ref": "#/definitions/ResourceId"
- },
- "mountSettings": {
- "title": "Mount settings.",
- "description": "File Server mount settings.",
- "readOnly": true,
- "$ref": "#/definitions/MountSettings"
- },
- "provisioningStateTransitionTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "Provisioning State Transition time.",
- "description": "Time when the provisioning state was changed."
- },
- "creationTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "Creation time.",
- "description": "Time when the FileServer was created."
- },
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "x-nullable": false,
- "title": "Provisioning state.",
- "description": "Provisioning state of the File Server. Possible values: creating - The File Server is getting created; updating - The File Server creation has been accepted and it is getting updated; deleting - The user has requested that the File Server be deleted, and it is in the process of being deleted; failed - The File Server creation has failed with the specified error code. Details about the error code are specified in the message field; succeeded - The File Server creation has succeeded.",
- "enum": [
- "creating",
- "updating",
- "deleting",
- "succeeded",
- "failed"
- ],
- "x-ms-enum": {
- "name": "FileServerProvisioningState",
- "modelAsString": true
- }
- }
- },
- "description": "File Server properties."
- },
- "FileServer": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/FileServerProperties",
- "description": "File Server properties."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/ProxyResource"
- }
- ],
- "description": "File Server information."
- },
- "ClusterBaseProperties": {
- "properties": {
- "vmSize": {
- "type": "string",
- "title": "VM size.",
- "description": "The size of the virtual machines in the cluster. All nodes in a cluster have the same VM size. For information about available VM sizes for clusters using images from the Virtual Machines Marketplace see Sizes for Virtual Machines (Linux). Batch AI service supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
- },
- "vmPriority": {
- "type": "string",
- "title": "VM priority.",
- "description": "VM priority. Allowed values are: dedicated (default) and lowpriority.",
- "default": "dedicated",
- "enum": [
- "dedicated",
- "lowpriority"
- ],
- "x-ms-enum": {
- "name": "VmPriority",
- "modelAsString": false
- }
- },
- "scaleSettings": {
- "$ref": "#/definitions/ScaleSettings",
- "title": "Scale settings.",
- "description": "Scale settings for the cluster. Batch AI service supports manual and auto scale clusters."
- },
- "virtualMachineConfiguration": {
- "title": "VM configuration.",
- "description": "OS image configuration for cluster nodes. All nodes in a cluster have the same OS image.",
- "$ref": "#/definitions/VirtualMachineConfiguration"
- },
- "nodeSetup": {
- "title": "Node setup.",
- "description": "Setup to be performed on each compute node in the cluster.",
- "$ref": "#/definitions/NodeSetup"
- },
- "userAccountSettings": {
- "title": "User account settings.",
- "description": "Settings for an administrator user account that will be created on each compute node in the cluster.",
- "$ref": "#/definitions/UserAccountSettings"
- },
- "subnet": {
- "title": "Subnet.",
- "description": "Existing virtual network subnet to put the cluster nodes in. Note, if a File Server mount configured in node setup, the File Server's subnet will be used automatically.",
- "$ref": "#/definitions/ResourceId"
- }
- },
- "required": [
- "vmSize",
- "userAccountSettings"
- ],
- "description": "The properties of a Cluster."
- },
- "ClusterUpdateProperties": {
- "properties": {
- "scaleSettings": {
- "$ref": "#/definitions/ScaleSettings",
- "title": "Scale settings.",
- "description": "Desired scale settings for the cluster. Batch AI service supports manual and auto scale clusters."
- }
- },
- "description": "The properties of a Cluster that need to be updated."
- },
- "DeallocationOption": {
- "type": "string",
- "title": "Deallocation options.",
- "description": "Actions which should be performed when compute nodes are removed from the cluster. Possible values are: requeue (default) - Terminate running jobs and requeue them so the jobs will run again. Remove compute nodes as soon as jobs have been terminated; terminate - Terminate running jobs. The jobs will not run again. Remove compute nodes as soon as jobs have been terminated. waitforjobcompletion - Allow currently running jobs to complete. Schedule no new jobs while waiting. Remove compute nodes when all jobs have completed.",
- "default": "requeue",
- "enum": [
- "requeue",
- "terminate",
- "waitforjobcompletion"
- ],
- "x-ms-enum": {
- "name": "DeallocationOption",
- "modelAsString": true
- }
- },
- "ScaleSettings": {
- "properties": {
- "manual": {
- "$ref": "#/definitions/ManualScaleSettings",
- "title": "Manual scale settings.",
- "description": "Manual scale settings for the cluster."
- },
- "autoScale": {
- "$ref": "#/definitions/AutoScaleSettings",
- "title": "Auto-scale settings.",
- "description": "Auto-scale settings for the cluster."
- }
- },
- "description": "At least one of manual or autoScale settings must be specified. Only one of manual or autoScale settings can be specified. If autoScale settings are specified, the system automatically scales the cluster up and down (within the supplied limits) based on the pending jobs on the cluster."
- },
- "AutoScaleSettings": {
- "properties": {
- "minimumNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Minimum node count.",
- "description": "The minimum number of compute nodes the Batch AI service will try to allocate for the cluster. Note, the actual number of nodes can be less than the specified value if the subscription has not enough quota to fulfill the request."
- },
- "maximumNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Maximum node count.",
- "description": "The maximum number of compute nodes the cluster can have."
- },
- "initialNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Initial node count.",
- "description": "The number of compute nodes to allocate on cluster creation. Note that this value is used only during cluster creation. Default: 0.",
- "default": 0
- }
- },
- "required": [
- "minimumNodeCount",
- "maximumNodeCount"
- ],
- "description": "Auto-scale settings for the cluster. The system automatically scales the cluster up and down (within minimumNodeCount and maximumNodeCount) based on the number of queued and running jobs assigned to the cluster."
- },
- "ManualScaleSettings": {
- "properties": {
- "targetNodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Target node count.",
- "description": "The desired number of compute nodes in the Cluster. Default is 0.",
- "default": 0
- },
- "nodeDeallocationOption": {
- "title": "Node deallocation options.",
- "description": "An action to be performed when the cluster size is decreasing. The default value is requeue.",
- "default": "requeue",
- "$ref": "#/definitions/DeallocationOption"
- }
- },
- "required": [
- "targetNodeCount"
- ],
- "description": "Manual scale settings for the cluster."
- },
- "VirtualMachineConfiguration": {
- "properties": {
- "imageReference": {
- "title": "Image reference.",
- "description": "OS image reference for cluster nodes.",
- "$ref": "#/definitions/ImageReference"
- }
- },
- "description": "VM configuration."
- },
- "ImageReference": {
- "properties": {
- "publisher": {
- "type": "string",
- "title": "Publisher.",
- "description": "Publisher of the image."
- },
- "offer": {
- "type": "string",
- "title": "Offer.",
- "description": "Offer of the image."
- },
- "sku": {
- "type": "string",
- "title": "SKU.",
- "description": "SKU of the image."
- },
- "version": {
- "type": "string",
- "title": "Version.",
- "description": "Version of the image."
- },
- "virtualMachineImageId": {
- "type": "string",
- "title": "Custom VM image resource ID.",
- "description": "The ARM resource identifier of the virtual machine image for the compute nodes. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}. The virtual machine image must be in the same region and subscription as the cluster. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. Note, you need to provide publisher, offer and sku of the base OS image of which the custom image has been derived from."
- }
- },
- "required": [
- "publisher",
- "offer",
- "sku"
- ],
- "description": "The OS image reference."
- },
- "NodeStateCounts": {
- "properties": {
- "idleNodeCount": {
- "readOnly": true,
- "type": "integer",
- "format": "int32",
- "title": "Idle node count.",
- "description": "Number of compute nodes in idle state."
- },
- "runningNodeCount": {
- "readOnly": true,
- "type": "integer",
- "format": "int32",
- "title": "Running node count.",
- "description": "Number of compute nodes which are running jobs."
- },
- "preparingNodeCount": {
- "readOnly": true,
- "type": "integer",
- "format": "int32",
- "title": "Preparing node count.",
- "description": "Number of compute nodes which are being prepared."
- },
- "unusableNodeCount": {
- "readOnly": true,
- "type": "integer",
- "format": "int32",
- "title": "Unusable node count.",
- "description": "Number of compute nodes which are in unusable state."
- },
- "leavingNodeCount": {
- "readOnly": true,
- "type": "integer",
- "format": "int32",
- "title": "Leaving node count.",
- "description": "Number of compute nodes which are leaving the cluster."
- }
- },
- "description": "Counts of various compute node states on the cluster."
- },
- "UserAccountSettings": {
- "properties": {
- "adminUserName": {
- "type": "string",
- "title": "User name.",
- "description": "Name of the administrator user account which can be used to SSH to nodes."
- },
- "adminUserSshPublicKey": {
- "type": "string",
- "title": "SSH public key.",
- "description": "SSH public key of the administrator user account."
- },
- "adminUserPassword": {
- "type": "string",
- "title": "Password.",
- "description": "Password of the administrator user account."
- }
- },
- "required": [
- "adminUserName"
- ],
- "description": "Settings for user account that gets created on each on the nodes of a cluster."
- },
- "PerformanceCountersSettings": {
- "properties": {
- "appInsightsReference": {
- "title": "Azure Application Insights reference.",
- "description": "Azure Application Insights information for performance counters reporting. If provided, Batch AI will upload node performance counters to the corresponding Azure Application Insights account.",
- "$ref": "#/definitions/AppInsightsReference"
- }
- },
- "required": [
- "appInsightsReference"
- ],
- "description": "Performance counters reporting settings."
- },
- "AppInsightsReference": {
- "properties": {
- "component": {
- "title": "Component ID.",
- "description": "Azure Application Insights component resource ID.",
- "$ref": "#/definitions/ResourceId"
- },
- "instrumentationKey": {
- "type": "string",
- "title": "Instrumentation Key.",
- "description": "Value of the Azure Application Insights instrumentation key."
- },
- "instrumentationKeySecretReference": {
- "title": "Instrumentation key KeyVault Secret reference.",
- "description": "KeyVault Store and Secret which contains Azure Application Insights instrumentation key. One of instrumentationKey or instrumentationKeySecretReference must be specified.",
- "$ref": "#/definitions/KeyVaultSecretReference"
- }
- },
- "required": [
- "component"
- ],
- "description": "Azure Application Insights information for performance counters reporting."
- },
- "NodeSetup": {
- "properties": {
- "setupTask": {
- "title": "Setup task.",
- "description": "Setup task to run on cluster nodes when nodes got created or rebooted. The setup task code needs to be idempotent. Generally the setup task is used to download static data that is required for all jobs that run on the cluster VMs and/or to download/install software.",
- "$ref": "#/definitions/SetupTask"
- },
- "mountVolumes": {
- "title": "Mount volumes.",
- "description": "Mount volumes to be available to setup task and all jobs executing on the cluster. The volumes will be mounted at location specified by $AZ_BATCHAI_MOUNT_ROOT environment variable.",
- "$ref": "#/definitions/MountVolumes"
- },
- "performanceCountersSettings": {
- "title": "Performance counters settings.",
- "description": "Settings for performance counters collecting and uploading.",
- "$ref": "#/definitions/PerformanceCountersSettings"
- }
- },
- "description": "Node setup settings."
- },
- "SetupTask": {
- "properties": {
- "commandLine": {
- "type": "string",
- "title": "Command line.",
- "description": "The command line to be executed on each cluster's node after it being allocated or rebooted. The command is executed in a bash subshell as a root."
- },
- "environmentVariables": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EnvironmentVariable"
- },
- "title": "Environment variables.",
- "description": "A collection of user defined environment variables to be set for setup task."
- },
- "secrets": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EnvironmentVariableWithSecretValue"
- },
- "title": "Secrets.",
- "description": "A collection of user defined environment variables with secret values to be set for the setup task. Server will never report values of these variables back."
- },
- "stdOutErrPathPrefix": {
- "type": "string",
- "title": "Output path prefix.",
- "description": "The prefix of a path where the Batch AI service will upload the stdout, stderr and execution log of the setup task."
- },
- "stdOutErrPathSuffix": {
- "type": "string",
- "title": "Output path suffix.",
- "description": "A path segment appended by Batch AI to stdOutErrPathPrefix to form a path where stdout, stderr and execution log of the setup task will be uploaded. Batch AI creates the setup task output directories under an unique path to avoid conflicts between different clusters. The full path can be obtained by concatenation of stdOutErrPathPrefix and stdOutErrPathSuffix.",
- "readOnly": true
- }
- },
- "required": [
- "commandLine",
- "stdOutErrPathPrefix"
- ],
- "description": "Specifies a setup task which can be used to customize the compute nodes of the cluster."
- },
- "ClusterCreateParameters": {
- "properties": {
- "properties": {
- "$ref": "#/definitions/ClusterBaseProperties",
- "description": "The properties of the Cluster.",
- "x-ms-client-flatten": true
- }
- },
- "description": "Cluster creation operation."
- },
- "ClusterUpdateParameters": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ClusterUpdateProperties",
- "description": "The properties of the Cluster."
- }
- },
- "description": "Cluster update parameters."
- },
- "ClusterProperties": {
- "properties": {
- "vmSize": {
- "type": "string",
- "title": "VM size.",
- "description": "The size of the virtual machines in the cluster. All nodes in a cluster have the same VM size."
- },
- "vmPriority": {
- "type": "string",
- "title": "VM priority.",
- "description": "VM priority of cluster nodes.",
- "default": "dedicated",
- "enum": [
- "dedicated",
- "lowpriority"
- ],
- "x-ms-enum": {
- "name": "VmPriority",
- "modelAsString": false
- }
- },
- "scaleSettings": {
- "$ref": "#/definitions/ScaleSettings",
- "title": "Scale settings.",
- "description": "Scale settings of the cluster."
- },
- "virtualMachineConfiguration": {
- "title": "VM configuration.",
- "description": "Virtual machine configuration (OS image) of the compute nodes. All nodes in a cluster have the same OS image configuration.",
- "$ref": "#/definitions/VirtualMachineConfiguration"
- },
- "nodeSetup": {
- "title": "Node setup.",
- "description": "Setup (mount file systems, performance counters settings and custom setup task) to be performed on each compute node in the cluster.",
- "$ref": "#/definitions/NodeSetup"
- },
- "userAccountSettings": {
- "title": "User account settings.",
- "description": "Administrator user account settings which can be used to SSH to compute nodes.",
- "$ref": "#/definitions/UserAccountSettings"
- },
- "subnet": {
- "title": "Subnet.",
- "description": "Virtual network subnet resource ID the cluster nodes belong to.",
- "$ref": "#/definitions/ResourceId"
- },
- "creationTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "Creation time.",
- "description": "The time when the cluster was created."
- },
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "x-nullable": false,
- "title": "Provisioning state.",
- "description": "Provisioning state of the cluster. Possible value are: creating - Specifies that the cluster is being created. succeeded - Specifies that the cluster has been created successfully. failed - Specifies that the cluster creation has failed. deleting - Specifies that the cluster is being deleted.",
- "enum": [
- "creating",
- "succeeded",
- "failed",
- "deleting"
- ],
- "x-ms-enum": {
- "name": "ProvisioningState",
- "modelAsString": true
- }
- },
- "provisioningStateTransitionTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "Provisioning State Transition time.",
- "description": "Time when the provisioning state was changed."
- },
- "allocationState": {
- "type": "string",
- "readOnly": true,
- "title": "Allocation state.",
- "description": "Allocation state of the cluster. Possible values are: steady - Indicates that the cluster is not resizing. There are no changes to the number of compute nodes in the cluster in progress. A cluster enters this state when it is created and when no operations are being performed on the cluster to change the number of compute nodes. resizing - Indicates that the cluster is resizing; that is, compute nodes are being added to or removed from the cluster.",
- "enum": [
- "steady",
- "resizing"
- ],
- "x-ms-enum": {
- "name": "AllocationState",
- "modelAsString": true
- }
- },
- "allocationStateTransitionTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "Allocation state transition time.",
- "description": "The time at which the cluster entered its current allocation state."
- },
- "errors": {
- "readOnly": true,
- "title": "Errors.",
- "description": "Collection of errors encountered by various compute nodes during node setup.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/BatchAIError"
- }
- },
- "currentNodeCount": {
- "type": "integer",
- "readOnly": true,
- "format": "int32",
- "title": "Current node count.",
- "description": "The number of compute nodes currently assigned to the cluster."
- },
- "nodeStateCounts": {
- "title": "Node state counts.",
- "description": "Counts of various node states on the cluster.",
- "readOnly": true,
- "$ref": "#/definitions/NodeStateCounts"
- }
- },
- "description": "Cluster properties."
- },
- "Cluster": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ClusterProperties",
- "description": "The properties associated with the Cluster."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/ProxyResource"
- }
- ],
- "description": "Information about a Cluster."
- },
- "ClusterListResult": {
- "properties": {
- "value": {
- "readOnly": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/Cluster"
- },
- "description": "The collection of returned Clusters."
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The continuation token."
- }
- },
- "description": "Values returned by the List Clusters operation."
- },
- "JobBaseProperties": {
- "properties": {
- "schedulingPriority": {
- "type": "string",
- "default": "normal",
- "enum": [
- "low",
- "normal",
- "high"
- ],
- "x-ms-enum": {
- "name": "JobPriority",
- "modelAsString": true
- },
- "title": "Scheduling priority.",
- "description": "Scheduling priority associated with the job. Possible values: low, normal, high."
- },
- "cluster": {
- "title": "Cluster.",
- "description": "Resource ID of the cluster on which this job will run.",
- "$ref": "#/definitions/ResourceId"
- },
- "mountVolumes": {
- "title": "Mount volumes.",
- "description": "Information on mount volumes to be used by the job. These volumes will be mounted before the job execution and will be unmounted after the job completion. The volumes will be mounted at location specified by $AZ_BATCHAI_JOB_MOUNT_ROOT environment variable.",
- "$ref": "#/definitions/MountVolumes"
- },
- "nodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Node count.",
- "description": "Number of compute nodes to run the job on. The job will be gang scheduled on that many compute nodes."
- },
- "containerSettings": {
- "title": "Container settings.",
- "description": "Docker container settings for the job. If not provided, the job will run directly on the node.",
- "$ref": "#/definitions/ContainerSettings"
- },
- "cntkSettings": {
- "title": "CNTK settings.",
- "description": "Settings for CNTK (aka Microsoft Cognitive Toolkit) job.",
- "$ref": "#/definitions/CNTKsettings"
- },
- "pyTorchSettings": {
- "title": "pyTorch settings.",
- "description": "Settings for pyTorch job.",
- "$ref": "#/definitions/PyTorchSettings"
- },
- "tensorFlowSettings": {
- "title": "TensorFlow settings.",
- "description": "Settings for Tensor Flow job.",
- "$ref": "#/definitions/TensorFlowSettings"
- },
- "caffeSettings": {
- "title": "Caffe settings.",
- "description": "Settings for Caffe job.",
- "$ref": "#/definitions/CaffeSettings"
- },
- "caffe2Settings": {
- "title": "Caffe2 settings.",
- "description": "Settings for Caffe2 job.",
- "$ref": "#/definitions/Caffe2Settings"
- },
- "chainerSettings": {
- "title": "Chainer settings.",
- "description": "Settings for Chainer job.",
- "$ref": "#/definitions/ChainerSettings"
- },
- "customToolkitSettings": {
- "title": "Custom tool kit job.",
- "description": "Settings for custom tool kit job.",
- "$ref": "#/definitions/CustomToolkitSettings"
- },
- "customMpiSettings": {
- "title": "Custom MPI settings.",
- "description": "Settings for custom MPI job.",
- "$ref": "#/definitions/CustomMpiSettings"
- },
- "horovodSettings": {
- "title": "Horovod settings.",
- "description": "Settings for Horovod job.",
- "$ref": "#/definitions/HorovodSettings"
- },
- "jobPreparation": {
- "title": "Job preparation.",
- "description": "A command line to be executed on each node allocated for the job before tool kit is launched.",
- "$ref": "#/definitions/JobPreparation"
- },
- "stdOutErrPathPrefix": {
- "type": "string",
- "title": "Standard output path prefix.",
- "description": "The path where the Batch AI service will store stdout, stderror and execution log of the job."
- },
- "inputDirectories": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/InputDirectory"
- },
- "title": "Input directories.",
- "description": "A list of input directories for the job."
- },
- "outputDirectories": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/OutputDirectory"
- },
- "title": "Output directories.",
- "description": "A list of output directories for the job."
- },
- "environmentVariables": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EnvironmentVariable"
- },
- "title": "Environment variables.",
- "description": "A list of user defined environment variables which will be setup for the job."
- },
- "secrets": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EnvironmentVariableWithSecretValue"
- },
- "title": "Secrets.",
- "description": "A list of user defined environment variables with secret values which will be setup for the job. Server will never report values of these variables back."
- },
- "constraints": {
- "properties": {
- "maxWallClockTime": {
- "type": "string",
- "format": "duration",
- "title": "Max wall clock time.",
- "description": "Max time the job can run. Default value: 1 week.",
- "default": "7.00:00:00"
- }
- },
- "description": "Constraints associated with the Job."
- }
- },
- "required": [
- "cluster",
- "nodeCount",
- "stdOutErrPathPrefix"
- ],
- "description": "The properties of a Batch AI Job."
- },
- "JobCreateParameters": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/JobBaseProperties",
- "description": "The properties of the Job."
- }
- },
- "description": "Job creation parameters."
- },
- "JobProperties": {
- "properties": {
- "schedulingPriority": {
- "type": "string",
- "default": "normal",
- "enum": [
- "low",
- "normal",
- "high"
- ],
- "x-ms-enum": {
- "name": "JobPriority",
- "modelAsString": true
- },
- "title": "Scheduling priority.",
- "description": "Scheduling priority associated with the job."
- },
- "cluster": {
- "title": "Cluster.",
- "description": "Resource ID of the cluster associated with the job.",
- "$ref": "#/definitions/ResourceId"
- },
- "mountVolumes": {
- "title": "Mount volumes.",
- "description": "Collection of mount volumes available to the job during execution. These volumes are mounted before the job execution and unmounted after the job completion. The volumes are mounted at location specified by $AZ_BATCHAI_JOB_MOUNT_ROOT environment variable.",
- "$ref": "#/definitions/MountVolumes"
- },
- "nodeCount": {
- "type": "integer",
- "format": "int32",
- "title": "Number of compute nodes to run the job on.",
- "description": "The job will be gang scheduled on that many compute nodes"
- },
- "containerSettings": {
- "title": "If provided the job will run in the specified container.",
- "description": "If the container was downloaded as part of cluster setup then the same container image will be used. If not provided, the job will run on the VM.",
- "$ref": "#/definitions/ContainerSettings"
- },
- "toolType": {
- "title": "The toolkit type of this job.",
- "description": "Possible values are: cntk, tensorflow, caffe, caffe2, chainer, pytorch, custom, custommpi, horovod.",
- "$ref": "#/definitions/ToolType"
- },
- "cntkSettings": {
- "title": "Specifies the settings for CNTK (aka Microsoft Cognitive Toolkit) job.",
- "$ref": "#/definitions/CNTKsettings"
- },
- "pyTorchSettings": {
- "title": "Specifies the settings for pyTorch job.",
- "$ref": "#/definitions/PyTorchSettings"
- },
- "tensorFlowSettings": {
- "title": "Specifies the settings for Tensor Flow job.",
- "$ref": "#/definitions/TensorFlowSettings"
- },
- "caffeSettings": {
- "title": "Specifies the settings for Caffe job.",
- "$ref": "#/definitions/CaffeSettings"
- },
- "caffe2Settings": {
- "title": "Specifies the settings for Caffe2 job.",
- "$ref": "#/definitions/Caffe2Settings"
- },
- "chainerSettings": {
- "title": "Specifies the settings for Chainer job.",
- "$ref": "#/definitions/ChainerSettings"
- },
- "customToolkitSettings": {
- "title": "Specifies the settings for custom tool kit job.",
- "$ref": "#/definitions/CustomToolkitSettings"
- },
- "customMpiSettings": {
- "title": "Specifies the settings for custom MPI job.",
- "$ref": "#/definitions/CustomMpiSettings"
- },
- "horovodSettings": {
- "title": "Specifies the settings for Horovod job.",
- "$ref": "#/definitions/HorovodSettings"
- },
- "jobPreparation": {
- "title": "Specifies the actions to be performed before tool kit is launched.",
- "description": "The specified actions will run on all the nodes that are part of the job",
- "$ref": "#/definitions/JobPreparation"
- },
- "jobOutputDirectoryPathSegment": {
- "readOnly": true,
- "type": "string",
- "title": "Output directory path segment.",
- "description": "A segment of job's output directories path created by Batch AI. Batch AI creates job's output directories under an unique path to avoid conflicts between jobs. This value contains a path segment generated by Batch AI to make the path unique and can be used to find the output directory on the node or mounted filesystem."
- },
- "stdOutErrPathPrefix": {
- "type": "string",
- "title": "Standard output directory path prefix.",
- "description": "The path where the Batch AI service stores stdout, stderror and execution log of the job."
- },
- "inputDirectories": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/InputDirectory"
- },
- "title": "Input directories.",
- "description": "A list of input directories for the job."
- },
- "outputDirectories": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/OutputDirectory"
- },
- "title": "Output directories.",
- "description": "A list of output directories for the job."
- },
- "environmentVariables": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EnvironmentVariable"
- },
- "title": "Environment variables.",
- "description": "A collection of user defined environment variables to be setup for the job."
- },
- "secrets": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EnvironmentVariableWithSecretValue"
- },
- "title": "Secrets.",
- "description": "A collection of user defined environment variables with secret values to be setup for the job. Server will never report values of these variables back."
- },
- "constraints": {
- "properties": {
- "maxWallClockTime": {
- "type": "string",
- "format": "duration",
- "title": "Max wall clock time.",
- "description": "Max time the job can run. Default value: 1 week.",
- "default": "7.00:00:00"
- }
- },
- "description": "Constraints associated with the Job."
- },
- "creationTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "Creation time.",
- "description": "The creation time of the job."
- },
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "x-nullable": false,
- "title": "Provisioning state.",
- "description": "The provisioned state of the Batch AI job",
- "enum": [
- "creating",
- "deleting",
- "succeeded",
- "failed"
- ],
- "x-ms-enum": {
- "name": "ProvisioningState",
- "modelAsString": true
- }
- },
- "provisioningStateTransitionTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "Provisioning state transition time.",
- "description": "The time at which the job entered its current provisioning state."
- },
- "executionState": {
- "readOnly": true,
- "type": "string",
- "title": "Execution state.",
- "description": "The current state of the job. Possible values are: queued - The job is queued and able to run. A job enters this state when it is created, or when it is awaiting a retry after a failed run. running - The job is running on a compute cluster. This includes job-level preparation such as downloading resource files or set up container specified on the job - it does not necessarily mean that the job command line has started executing. terminating - The job is terminated by the user, the terminate operation is in progress. succeeded - The job has completed running successfully and exited with exit code 0. failed - The job has finished unsuccessfully (failed with a non-zero exit code) and has exhausted its retry limit. A job is also marked as failed if an error occurred launching the job.",
- "enum": [
- "queued",
- "running",
- "terminating",
- "succeeded",
- "failed"
- ],
- "x-ms-enum": {
- "name": "ExecutionState",
- "modelAsString": true
- }
- },
- "executionStateTransitionTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "Execution state transition time.",
- "description": "The time at which the job entered its current execution state."
- },
- "executionInfo": {
- "properties": {
- "startTime": {
- "readOnly": true,
- "type": "string",
- "format": "date-time",
- "title": "Start time.",
- "description": "The time at which the job started running. 'Running' corresponds to the running state. If the job has been restarted or retried, this is the most recent time at which the job started running. This property is present only for job that are in the running or completed state."
- },
- "endTime": {
- "readOnly": true,
- "type": "string",
- "format": "date-time",
- "title": "End time.",
- "description": "The time at which the job completed. This property is only returned if the job is in completed state."
- },
- "exitCode": {
- "readOnly": true,
- "type": "integer",
- "format": "int32",
- "title": "Exit code.",
- "description": "The exit code of the job. This property is only returned if the job is in completed state."
- },
- "errors": {
- "readOnly": true,
- "title": "Errors.",
- "description": "A collection of errors encountered by the service during job execution.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/BatchAIError"
- }
- }
- },
- "description": "Information about the execution of a job."
- }
- },
- "description": "Job properties."
- },
- "Job": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/JobProperties",
- "description": "The properties associated with the Job."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/ProxyResource"
- }
- ],
- "description": "Information about a Job."
- },
- "JobListResult": {
- "properties": {
- "value": {
- "readOnly": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/Job"
- },
- "description": "The collection of jobs."
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The continuation token."
- }
- },
- "description": "Values returned by the List operation."
- },
- "RemoteLoginInformation": {
- "properties": {
- "nodeId": {
- "readOnly": true,
- "type": "string",
- "title": "Node ID.",
- "description": "ID of the compute node."
- },
- "ipAddress": {
- "readOnly": true,
- "type": "string",
- "title": "IP address.",
- "description": "Public IP address of the compute node."
- },
- "port": {
- "readOnly": true,
- "type": "number",
- "format": "int32",
- "title": "Port.",
- "description": "SSH port number of the node."
- }
- },
- "description": "Login details to SSH to a compute node in cluster."
- },
- "RemoteLoginInformationListResult": {
- "properties": {
- "value": {
- "readOnly": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/RemoteLoginInformation"
- },
- "description": "The collection of returned remote login details."
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The continuation token."
- }
- },
- "description": "Values returned by the List operation."
- },
- "FileProperties": {
- "properties": {
- "lastModified": {
- "readOnly": true,
- "type": "string",
- "format": "date-time",
- "title": "Last modified time.",
- "description": "The time at which the file was last modified."
- },
- "contentLength": {
- "readOnly": true,
- "type": "integer",
- "format": "int64",
- "title": "Content length.",
- "description": "The file of the size."
- }
- },
- "description": "File properties."
- },
- "File": {
- "properties": {
- "name": {
- "readOnly": true,
- "type": "string",
- "title": "Name.",
- "description": "Name of the file."
- },
- "fileType": {
- "readOnly": true,
- "type": "string",
- "enum": [
- "file",
- "directory"
- ],
- "x-ms-enum": {
- "name": "FileType",
- "modelAsString": true
- },
- "title": "File type.",
- "description": "Type of the file. Possible values are file and directory."
- },
- "downloadUrl": {
- "readOnly": true,
- "type": "string",
- "title": "Download URL.",
- "description": "URL to download the corresponding file. The downloadUrl is not returned for directories."
- },
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/FileProperties",
- "title": "Properties.",
- "description": "The properties associated with the file. The properties are not returned for directories."
- }
- },
- "description": "Properties of the file or directory."
- },
- "FileListResult": {
- "properties": {
- "value": {
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/File"
- },
- "description": "The collection of returned job directories and files."
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The continuation token."
- }
- },
- "description": "Values returned by the List operation."
- },
- "ResourceId": {
- "properties": {
- "id": {
- "type": "string",
- "description": "The ID of the resource"
- }
- },
- "required": [
- "id"
- ],
- "description": "Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet.",
- "x-ms-azure-resource": true
- },
- "Resource": {
- "properties": {
- "id": {
- "readOnly": true,
- "type": "string",
- "description": "The ID of the resource"
- },
- "name": {
- "readOnly": true,
- "type": "string",
- "description": "The name of the resource"
- },
- "type": {
- "readOnly": true,
- "type": "string",
- "description": "The type of the resource"
- },
- "location": {
- "readOnly": true,
- "type": "string",
- "description": "The location of the resource"
- },
- "tags": {
- "readOnly": true,
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "The tags of the resource"
- }
- },
- "description": "A definition of an Azure resource.",
- "x-ms-azure-resource": true
- },
- "ProxyResource": {
- "properties": {
- "id": {
- "readOnly": true,
- "type": "string",
- "description": "The ID of the resource."
- },
- "name": {
- "readOnly": true,
- "type": "string",
- "description": "The name of the resource."
- },
- "type": {
- "readOnly": true,
- "type": "string",
- "description": "The type of the resource."
- }
- },
- "description": "A definition of an Azure proxy resource.",
- "x-ms-azure-resource": true
- },
- "ToolType": {
- "type": "string",
- "title": "Toolkit type.",
- "description": "The toolkit type of the job.",
- "enum": [
- "cntk",
- "tensorflow",
- "caffe",
- "caffe2",
- "chainer",
- "horovod",
- "custommpi",
- "custom"
- ],
- "x-ms-enum": {
- "name": "ToolType",
- "modelAsString": true
- }
- },
- "NameValuePair": {
- "properties": {
- "name": {
- "type": "string",
- "title": "Name.",
- "description": "The name in the name-value pair."
- },
- "value": {
- "type": "string",
- "title": "Value.",
- "description": "The value in the name-value pair."
- }
- },
- "description": "Name-value pair."
- },
- "EnvironmentVariable": {
- "properties": {
- "name": {
- "type": "string",
- "title": "Name.",
- "description": "The name of the environment variable."
- },
- "value": {
- "type": "string",
- "title": "Value.",
- "description": "The value of the environment variable."
- }
- },
- "required": [
- "name",
- "value"
- ],
- "description": "An environment variable definition."
- },
- "EnvironmentVariableWithSecretValue": {
- "properties": {
- "name": {
- "type": "string",
- "title": "Name.",
- "description": "The name of the environment variable to store the secret value."
- },
- "value": {
- "type": "string",
- "title": "Value.",
- "description": "The value of the environment variable. This value will never be reported back by Batch AI."
- },
- "valueSecretReference": {
- "title": "KeyVault secret reference.",
- "description": "KeyVault store and secret which contains the value for the environment variable. One of value or valueSecretReference must be provided.",
- "$ref": "#/definitions/KeyVaultSecretReference"
- }
- },
- "required": [
- "name"
- ],
- "description": "An environment variable with secret value definition."
- },
- "ImageSourceRegistry": {
- "properties": {
- "serverUrl": {
- "type": "string",
- "title": "Server URL.",
- "description": "URL for image repository."
- },
- "image": {
- "type": "string",
- "title": "Image.",
- "description": "The name of the image in the image repository."
- },
- "credentials": {
- "title": "Credentials.",
- "description": "Credentials to access the private docker repository.",
- "$ref": "#/definitions/PrivateRegistryCredentials"
- }
- },
- "description": "Information about docker image for the job.",
- "required": [
- "image"
- ]
- },
- "PrivateRegistryCredentials": {
- "properties": {
- "username": {
- "type": "string",
- "title": "User name.",
- "description": "User name to login to the repository."
- },
- "password": {
- "type": "string",
- "title": "Password.",
- "description": "User password to login to the docker repository. One of password or passwordSecretReference must be specified."
- },
- "passwordSecretReference": {
- "title": "Password secret reference.",
- "description": "KeyVault Secret storing the password. Users can store their secrets in Azure KeyVault and pass it to the Batch AI service to integrate with KeyVault. One of password or passwordSecretReference must be specified.",
- "$ref": "#/definitions/KeyVaultSecretReference"
- }
- },
- "description": "Credentials to access a container image in a private repository.",
- "required": [
- "username"
- ]
- },
- "ContainerSettings": {
- "properties": {
- "imageSourceRegistry": {
- "title": "Image source registry.",
- "description": "Information about docker image and docker registry to download the container from.",
- "$ref": "#/definitions/ImageSourceRegistry"
- },
- "shmSize": {
- "type": "string",
- "title": "/dev/shm size.",
- "description": "Size of /dev/shm. Please refer to docker documentation for supported argument formats."
- }
- },
- "description": "Docker container settings.",
- "required": [
- "imageSourceRegistry"
- ]
- },
- "InputDirectory": {
- "properties": {
- "id": {
- "type": "string",
- "title": "ID.",
- "description": "The ID for the input directory. The job can use AZ_BATCHAI_INPUT_ environment variable to find the directory path, where is the value of id attribute."
- },
- "path": {
- "type": "string",
- "title": "Path.",
- "description": "The path to the input directory."
- }
- },
- "description": "Input directory for the job.",
- "required": [
- "id",
- "path"
- ]
- },
- "OutputDirectory": {
- "properties": {
- "id": {
- "type": "string",
- "title": "ID.",
- "description": "The ID of the output directory. The job can use AZ_BATCHAI_OUTPUT_ environment variable to find the directory path, where is the value of id attribute."
- },
- "pathPrefix": {
- "type": "string",
- "title": "Path prefix.",
- "description": "The prefix path where the output directory will be created. Note, this is an absolute path to prefix. E.g. $AZ_BATCHAI_MOUNT_ROOT/MyNFS/MyLogs. The full path to the output directory by combining pathPrefix, jobOutputDirectoryPathSegment (reported by get job) and pathSuffix."
- },
- "pathSuffix": {
- "type": "string",
- "title": "Path suffix.",
- "description": "The suffix path where the output directory will be created. E.g. models. You can find the full path to the output directory by combining pathPrefix, jobOutputDirectoryPathSegment (reported by get job) and pathSuffix."
- }
- },
- "description": "Output directory for the job.",
- "required": [
- "id",
- "pathPrefix"
- ]
- },
- "AzureStorageCredentialsInfo": {
- "properties": {
- "accountKey": {
- "type": "string",
- "title": "Account key.",
- "description": "Storage account key. One of accountKey or accountKeySecretReference must be specified."
- },
- "accountKeySecretReference": {
- "title": "Account key secret reference.",
- "description": "Information about KeyVault secret storing the storage account key. One of accountKey or accountKeySecretReference must be specified.",
- "$ref": "#/definitions/KeyVaultSecretReference"
- }
- },
- "description": "Azure storage account credentials."
- },
- "AzureFileShareReference": {
- "properties": {
- "accountName": {
- "type": "string",
- "title": "Account name.",
- "description": "Name of the Azure storage account."
- },
- "azureFileUrl": {
- "type": "string",
- "title": "Azure File URL.",
- "description": "URL to access the Azure File."
- },
- "credentials": {
- "title": "Credentials.",
- "description": "Information about the Azure storage credentials.",
- "$ref": "#/definitions/AzureStorageCredentialsInfo"
- },
- "relativeMountPath": {
- "type": "string",
- "title": "Relative mount path.",
- "description": "The relative path on the compute node where the Azure File share will be mounted. Note that all cluster level file shares will be mounted under $AZ_BATCHAI_MOUNT_ROOT location and all job level file shares will be mounted under $AZ_BATCHAI_JOB_MOUNT_ROOT."
- },
- "fileMode": {
- "type": "string",
- "title": "File mode.",
- "description": "File mode for files on the mounted file share. Default value: 0777.",
- "default": "0777"
- },
- "directoryMode": {
- "type": "string",
- "title": "Directory mode.",
- "description": "File mode for directories on the mounted file share. Default value: 0777.",
- "default": "0777"
- }
- },
- "description": "Azure File Share mounting configuration.",
- "required": [
- "accountName",
- "azureFileUrl",
- "credentials",
- "relativeMountPath"
- ]
- },
- "AzureBlobFileSystemReference": {
- "properties": {
- "accountName": {
- "type": "string",
- "title": "Account name.",
- "description": "Name of the Azure storage account."
- },
- "containerName": {
- "type": "string",
- "title": "Container name.",
- "description": "Name of the Azure Blob Storage container to mount on the cluster."
- },
- "credentials": {
- "title": "Credentials.",
- "description": "Information about the Azure storage credentials.",
- "$ref": "#/definitions/AzureStorageCredentialsInfo"
- },
- "relativeMountPath": {
- "type": "string",
- "title": "Relative mount path.",
- "description": "The relative path on the compute node where the Azure File container will be mounted. Note that all cluster level containers will be mounted under $AZ_BATCHAI_MOUNT_ROOT location and all job level containers will be mounted under $AZ_BATCHAI_JOB_MOUNT_ROOT."
- },
- "mountOptions": {
- "type": "string",
- "title": "Mount options.",
- "description": "Mount options for mounting blobfuse file system."
- }
- },
- "description": "Azure Blob Storage Container mounting configuration.",
- "required": [
- "accountName",
- "containerName",
- "credentials",
- "relativeMountPath"
- ]
- },
- "FileServerReference": {
- "properties": {
- "fileServer": {
- "title": "File server.",
- "description": "Resource ID of the existing File Server to be mounted.",
- "$ref": "#/definitions/ResourceId"
- },
- "sourceDirectory": {
- "type": "string",
- "title": "Source directory.",
- "description": "File Server directory that needs to be mounted. If this property is not specified, the entire File Server will be mounted."
- },
- "relativeMountPath": {
- "type": "string",
- "title": "Relative mount path.",
- "description": "The relative path on the compute node where the File Server will be mounted. Note that all cluster level file servers will be mounted under $AZ_BATCHAI_MOUNT_ROOT location and all job level file servers will be mounted under $AZ_BATCHAI_JOB_MOUNT_ROOT."
- },
- "mountOptions": {
- "type": "string",
- "title": "Mount options.",
- "description": "Mount options to be passed to mount command."
- }
- },
- "description": "File Server mounting configuration.",
- "required": [
- "fileServer",
- "relativeMountPath"
- ]
- },
- "UnmanagedFileSystemReference": {
- "properties": {
- "mountCommand": {
- "title": "Mount command.",
- "description": "Mount command line. Note, Batch AI will append mount path to the command on its own.",
- "type": "string"
- },
- "relativeMountPath": {
- "type": "string",
- "title": "Relative mount path.",
- "description": "The relative path on the compute node where the unmanaged file system will be mounted. Note that all cluster level unmanaged file systems will be mounted under $AZ_BATCHAI_MOUNT_ROOT location and all job level unmanaged file systems will be mounted under $AZ_BATCHAI_JOB_MOUNT_ROOT."
- }
- },
- "description": "Unmanaged file system mounting configuration.",
- "required": [
- "mountCommand",
- "relativeMountPath"
- ]
- },
- "MountVolumes": {
- "properties": {
- "azureFileShares": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AzureFileShareReference"
- },
- "title": "Azure File Shares.",
- "description": "A collection of Azure File Shares that are to be mounted to the cluster nodes."
- },
- "azureBlobFileSystems": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AzureBlobFileSystemReference"
- },
- "title": "Azure Blob file systems.",
- "description": "A collection of Azure Blob Containers that are to be mounted to the cluster nodes."
- },
- "fileServers": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/FileServerReference"
- },
- "title": "File Servers.",
- "description": "A collection of Batch AI File Servers that are to be mounted to the cluster nodes."
- },
- "unmanagedFileSystems": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/UnmanagedFileSystemReference"
- },
- "title": "Unmanaged file systems.",
- "description": "A collection of unmanaged file systems that are to be mounted to the cluster nodes."
- }
- },
- "description": "Details of volumes to mount on the cluster."
- },
- "CNTKsettings": {
- "properties": {
- "languageType": {
- "type": "string",
- "title": "Language type.",
- "description": "The language to use for launching CNTK (aka Microsoft Cognitive Toolkit) job. Valid values are 'BrainScript' or 'Python'."
- },
- "configFilePath": {
- "type": "string",
- "title": "Config file path.",
- "description": "Specifies the path of the BrainScript config file. This property can be specified only if the languageType is 'BrainScript'."
- },
- "pythonScriptFilePath": {
- "type": "string",
- "title": "Python script file path.",
- "description": "Python script to execute. This property can be specified only if the languageType is 'Python'."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "Python interpreter path.",
- "description": "The path to the Python interpreter. This property can be specified only if the languageType is 'Python'."
- },
- "commandLineArgs": {
- "type": "string",
- "title": "Command line arguments.",
- "description": "Command line arguments that need to be passed to the python script or cntk executable."
- },
- "processCount": {
- "type": "integer",
- "format": "int32",
- "title": "Process count.",
- "description": "Number of processes to launch for the job execution. The default value for this property is equal to nodeCount property"
- }
- },
- "description": "CNTK (aka Microsoft Cognitive Toolkit) job settings."
- },
- "CaffeSettings": {
- "properties": {
- "configFilePath": {
- "type": "string",
- "title": "Config file path.",
- "description": "Path of the config file for the job. This property cannot be specified if pythonScriptFilePath is specified."
- },
- "pythonScriptFilePath": {
- "type": "string",
- "title": "Python script file path.",
- "description": "Python script to execute. This property cannot be specified if configFilePath is specified."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "Python interpreter path.",
- "description": "The path to the Python interpreter. The property can be specified only if the pythonScriptFilePath is specified."
- },
- "commandLineArgs": {
- "type": "string",
- "title": "Command line arguments.",
- "description": "Command line arguments that need to be passed to the Caffe job."
- },
- "processCount": {
- "type": "integer",
- "format": "int32",
- "title": "Process count.",
- "description": "Number of processes to launch for the job execution. The default value for this property is equal to nodeCount property"
- }
- },
- "description": "Caffe job settings."
- },
- "Caffe2Settings": {
- "properties": {
- "pythonScriptFilePath": {
- "type": "string",
- "title": "Python script file path.",
- "description": "The python script to execute."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "Python interpreter path.",
- "description": "The path to the Python interpreter."
- },
- "commandLineArgs": {
- "type": "string",
- "title": "Command line arguments.",
- "description": "Command line arguments that need to be passed to the python script."
- }
- },
- "description": "Caffe2 job settings.",
- "required": [
- "pythonScriptFilePath"
- ]
- },
- "ChainerSettings": {
- "properties": {
- "pythonScriptFilePath": {
- "type": "string",
- "title": "Python script file path.",
- "description": "The python script to execute."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "Python interpreter path.",
- "description": "The path to the Python interpreter."
- },
- "commandLineArgs": {
- "type": "string",
- "title": "Command line arguments.",
- "description": "Command line arguments that need to be passed to the python script."
- },
- "processCount": {
- "type": "integer",
- "format": "int32",
- "title": "Process count.",
- "description": "Number of processes to launch for the job execution. The default value for this property is equal to nodeCount property"
- }
- },
- "description": "Chainer job settings.",
- "required": [
- "pythonScriptFilePath"
- ]
- },
- "CustomToolkitSettings": {
- "properties": {
- "commandLine": {
- "type": "string",
- "title": "Command line.",
- "description": "The command line to execute on the master node."
- }
- },
- "description": "Custom tool kit job settings."
- },
- "CustomMpiSettings": {
- "properties": {
- "commandLine": {
- "type": "string",
- "title": "Command line.",
- "description": "The command line to be executed by mpi runtime on each compute node."
- },
- "processCount": {
- "type": "integer",
- "format": "int32",
- "title": "Process count.",
- "description": "Number of processes to launch for the job execution. The default value for this property is equal to nodeCount property"
- }
- },
- "description": "Custom MPI job settings.",
- "required": [
- "commandLine"
- ]
- },
- "JobPreparation": {
- "properties": {
- "commandLine": {
- "type": "string",
- "title": "Command line.",
- "description": "The command line to execute. If containerSettings is specified on the job, this commandLine will be executed in the same container as job. Otherwise it will be executed on the node."
- }
- },
- "description": "Job preparation settings.",
- "required": [
- "commandLine"
- ]
- },
- "PyTorchSettings": {
- "properties": {
- "pythonScriptFilePath": {
- "type": "string",
- "title": "Python script file path.",
- "description": "The python script to execute."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "Python interpreter path.",
- "description": "The path to the Python interpreter."
- },
- "commandLineArgs": {
- "type": "string",
- "title": "Command line arguments.",
- "description": "Command line arguments that need to be passed to the python script."
- },
- "processCount": {
- "type": "integer",
- "format": "int32",
- "title": "Process count.",
- "description": "Number of processes to launch for the job execution. The default value for this property is equal to nodeCount property"
- },
- "communicationBackend": {
- "type": "string",
- "title": "Communication backend.",
- "description": "Type of the communication backend for distributed jobs. Valid values are 'TCP', 'Gloo' or 'MPI'. Not required for non-distributed jobs."
- }
- },
- "description": "pyTorch job settings.",
- "required": [
- "pythonScriptFilePath"
- ]
- },
- "HorovodSettings": {
- "properties": {
- "pythonScriptFilePath": {
- "type": "string",
- "title": "Python script file path.",
- "description": "The python script to execute."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "Python interpreter path.",
- "description": "The path to the Python interpreter."
- },
- "commandLineArgs": {
- "type": "string",
- "title": "Command line arguments.",
- "description": "Command line arguments that need to be passed to the python script."
- },
- "processCount": {
- "type": "integer",
- "format": "int32",
- "title": "Process count.",
- "description": "Number of processes to launch for the job execution. The default value for this property is equal to nodeCount property"
- }
- },
- "description": "Specifies the settings for Horovod job.",
- "required": [
- "pythonScriptFilePath"
- ]
- },
- "TensorFlowSettings": {
- "properties": {
- "pythonScriptFilePath": {
- "type": "string",
- "title": "Python script file path.",
- "description": "The python script to execute."
- },
- "pythonInterpreterPath": {
- "type": "string",
- "title": "Python interpreter path.",
- "description": "The path to the Python interpreter."
- },
- "masterCommandLineArgs": {
- "type": "string",
- "title": "Master command line arguments.",
- "description": "Command line arguments that need to be passed to the python script for the master task."
- },
- "workerCommandLineArgs": {
- "type": "string",
- "title": "Worker command line arguments.",
- "description": "Command line arguments that need to be passed to the python script for the worker task. Optional for single process jobs."
- },
- "parameterServerCommandLineArgs": {
- "type": "string",
- "title": "Parameter server command line arguments.",
- "description": "Command line arguments that need to be passed to the python script for the parameter server. Optional for single process jobs."
- },
- "workerCount": {
- "type": "integer",
- "format": "int32",
- "title": "Worker count.",
- "description": "The number of worker tasks. If specified, the value must be less than or equal to (nodeCount * numberOfGPUs per VM). If not specified, the default value is equal to nodeCount. This property can be specified only for distributed TensorFlow training."
- },
- "parameterServerCount": {
- "type": "integer",
- "format": "int32",
- "title": "Parameter server count.",
- "description": "The number of parameter server tasks. If specified, the value must be less than or equal to nodeCount. If not specified, the default value is equal to 1 for distributed TensorFlow training. This property can be specified only for distributed TensorFlow training."
- }
- },
- "description": "TensorFlow job settings.",
- "required": [
- "pythonScriptFilePath"
- ]
- },
- "CloudError": {
- "x-ms-external": true,
- "properties": {
- "error": {
- "readOnly": true,
- "$ref": "#/definitions/CloudErrorBody",
- "description": "An error response from the Batch AI service."
- }
- },
- "description": "An error response from the Batch AI service."
- },
- "CloudErrorBody": {
- "x-ms-external": true,
- "properties": {
- "code": {
- "readOnly": true,
- "type": "string",
- "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
- },
- "message": {
- "readOnly": true,
- "type": "string",
- "description": "A message describing the error, intended to be suitable for display in a user interface."
- },
- "target": {
- "readOnly": true,
- "type": "string",
- "description": "The target of the particular error. For example, the name of the property in error."
- },
- "details": {
- "readOnly": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/CloudErrorBody"
- },
- "description": "A list of additional details about the error."
- }
- },
- "description": "An error response from the Batch AI service."
- },
- "BatchAIError": {
- "properties": {
- "code": {
- "readOnly": true,
- "type": "string",
- "description": "An identifier of the error. Codes are invariant and are intended to be consumed programmatically."
- },
- "message": {
- "readOnly": true,
- "type": "string",
- "description": "A message describing the error, intended to be suitable for display in a user interface."
- },
- "details": {
- "readOnly": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/NameValuePair"
- },
- "description": "A list of additional details about the error."
- }
- },
- "description": "An error response from the Batch AI service."
- },
- "Operation": {
- "title": "A REST API operation.",
- "description": "Details of a REST API operation",
- "type": "object",
- "properties": {
- "name": {
- "readOnly": true,
- "title": "The operation name.",
- "description": "This is of the format {provider}/{resource}/{operation}",
- "type": "string"
- },
- "display": {
- "description": "The object that describes the operation.",
- "properties": {
- "provider": {
- "readOnly": true,
- "title": "Friendly name of the resource provider.",
- "type": "string"
- },
- "operation": {
- "readOnly": true,
- "title": "The operation type.",
- "description": "For example: read, write, delete, or listKeys/action",
- "type": "string"
- },
- "resource": {
- "readOnly": true,
- "title": "The resource type on which the operation is performed.",
- "type": "string"
- },
- "description": {
- "readOnly": true,
- "title": "The friendly name of the operation.",
- "type": "string"
- }
- }
- },
- "origin": {
- "readOnly": true,
- "title": "The intended executor of the operation.",
- "type": "string"
- },
- "properties": {
- "x-ms-client-flatten": true,
- "title": "Properties of the operation.",
- "type": "object"
- }
- }
- },
- "OperationListResult": {
- "title": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.",
- "description": "Contains the list of all operations supported by BatchAI resource provider",
- "properties": {
- "value": {
- "readOnly": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/Operation"
- },
- "title": "The list of operations supported by the resource provider."
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "title": "The URL to get the next set of operation list results if there are any."
- }
- }
- },
- "WorkspaceListResult": {
- "properties": {
- "value": {
- "readOnly": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/Workspace"
- },
- "description": "The collection of workspaces."
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The continuation token."
- }
- },
- "description": "Values returned by the List operation."
- },
- "WorkspaceCreateParameters": {
- "properties": {
- "location": {
- "type": "string",
- "title": "Location.",
- "description": "The region in which to create the Workspace."
- },
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "title": "Tags.",
- "description": "The user specified tags associated with the Workspace."
- }
- },
- "required": [
- "location"
- ],
- "description": "Workspace creation parameters."
- },
- "WorkspaceUpdateParameters": {
- "properties": {
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "title": "Tags.",
- "description": "The user specified tags associated with the Workspace."
- }
- },
- "description": "Workspace update parameters."
- },
- "WorkspaceProperties": {
- "properties": {
- "creationTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "Creation time.",
- "description": "Time when the Workspace was created."
- },
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "x-nullable": false,
- "title": "Provisioning state.",
- "description": "The provisioned state of the Workspace",
- "enum": [
- "creating",
- "deleting",
- "succeeded",
- "failed"
- ],
- "x-ms-enum": {
- "name": "ProvisioningState",
- "modelAsString": true
- }
- },
- "provisioningStateTransitionTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "Provisioning state transition time.",
- "description": "The time at which the workspace entered its current provisioning state."
- }
- },
- "description": "Workspace specific properties."
- },
- "Workspace": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/WorkspaceProperties",
- "description": "The properties associated with the workspace."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "description": "Batch AI Workspace information."
- },
- "ExperimentListResult": {
- "properties": {
- "value": {
- "readOnly": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/Experiment"
- },
- "description": "The collection of experiments."
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The continuation token."
- }
- },
- "description": "Values returned by the List operation."
- },
- "ExperimentProperties": {
- "properties": {
- "creationTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "Creation time.",
- "description": "Time when the Experiment was created."
- },
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "x-nullable": false,
- "title": "Provisioning state.",
- "description": "The provisioned state of the experiment",
- "enum": [
- "creating",
- "deleting",
- "succeeded",
- "failed"
- ],
- "x-ms-enum": {
- "name": "ProvisioningState",
- "modelAsString": true
- }
- },
- "provisioningStateTransitionTime": {
- "type": "string",
- "readOnly": true,
- "format": "date-time",
- "title": "Provisioning state transition time.",
- "description": "The time at which the experiment entered its current provisioning state."
- }
- },
- "description": "Experiment properties."
- },
- "Experiment": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ExperimentProperties",
- "description": "The properties associated with the experiment."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/ProxyResource"
- }
- ],
- "description": "Experiment information."
- }
- },
- "parameters": {
- "SubscriptionIdParameter": {
- "name": "subscriptionId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The subscriptionID for the Azure user."
- },
- "ResourceGroupNameParameter": {
- "name": "resourceGroupName",
- "in": "path",
- "description": "Name of the resource group to which the resource belongs.",
- "required": true,
- "x-ms-parameter-location": "method",
- "type": "string",
- "pattern": "^[-\\w\\._]+$"
- },
- "ClusterNameParameter": {
- "name": "clusterName",
- "in": "path",
- "required": true,
- "type": "string",
- "pattern": "^[-\\w_]+$",
- "minLength": 1,
- "maxLength": 64,
- "x-ms-parameter-location": "method",
- "description": "The name of the cluster within the specified resource group. Cluster names can only contain a combination of alphanumeric characters along with dash (-) and underscore (_). The name must be from 1 through 64 characters long."
- },
- "JobNameParameter": {
- "name": "jobName",
- "in": "path",
- "required": true,
- "type": "string",
- "pattern": "^[-\\w_]+$",
- "minLength": 1,
- "maxLength": 64,
- "x-ms-parameter-location": "method",
- "description": "The name of the job within the specified resource group. Job names can only contain a combination of alphanumeric characters along with dash (-) and underscore (_). The name must be from 1 through 64 characters long."
- },
- "FileServerNameParameter": {
- "name": "fileServerName",
- "in": "path",
- "required": true,
- "type": "string",
- "pattern": "^[-\\w_]+$",
- "minLength": 1,
- "maxLength": 64,
- "x-ms-parameter-location": "method",
- "description": "The name of the file server within the specified resource group. File server names can only contain a combination of alphanumeric characters along with dash (-) and underscore (_). The name must be from 1 through 64 characters long."
- },
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "Specifies the version of API used for this request."
- },
- "MaxResultsParameter": {
- "name": "maxresults",
- "x-ms-client-name": "maxResults",
- "default": 1000,
- "minimum": 1,
- "maximum": 1000,
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-ms-parameter-location": "method",
- "description": "The maximum number of items to return in the response. A maximum of 1000 files can be returned.",
- "x-ms-parameter-grouping": {
- "postfix": "Options"
- }
- },
- "OutputDirectoryIdParameter": {
- "name": "outputdirectoryid",
- "in": "query",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method",
- "description": "Id of the job output directory. This is the OutputDirectory-->id parameter that is given by the user during Create Job.",
- "x-ms-parameter-grouping": {
- "postfix": "Options"
- }
- },
- "DownloadLinkExpiryParameter": {
- "name": "linkexpiryinminutes",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "minimum": 5,
- "maximum": 600,
- "default": 60,
- "x-ms-parameter-location": "method",
- "description": "The number of minutes after which the download link will expire.",
- "x-ms-parameter-grouping": {
- "postfix": "Options"
- }
- },
- "Directory": {
- "name": "directory",
- "in": "query",
- "default": ".",
- "required": false,
- "type": "string",
- "x-ms-parameter-location": "method",
- "description": "The path to the directory.",
- "x-ms-parameter-grouping": {
- "postfix": "Options"
- }
- },
- "WorkspaceNameParameter": {
- "name": "workspaceName",
- "in": "path",
- "required": true,
- "type": "string",
- "pattern": "^[-\\w_]+$",
- "minLength": 1,
- "maxLength": 64,
- "x-ms-parameter-location": "method",
- "description": "The name of the workspace. Workspace names can only contain a combination of alphanumeric characters along with dash (-) and underscore (_). The name must be from 1 through 64 characters long."
- },
- "ExperimentNameParameter": {
- "name": "experimentName",
- "in": "path",
- "required": true,
- "type": "string",
- "pattern": "^[-\\w_]+$",
- "minLength": 1,
- "maxLength": 64,
- "x-ms-parameter-location": "method",
- "description": "The name of the experiment. Experiment names can only contain a combination of alphanumeric characters along with dash (-) and underscore (_). The name must be from 1 through 64 characters long."
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ClusterListRemoteLoginInfo.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ClusterListRemoteLoginInfo.json
deleted file mode 100644
index 49bad0763fc4..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ClusterListRemoteLoginInfo.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "clusterName": "demo_cluster",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "nodeId": "tvm-3601533753_1-20170719t162906z",
- "ipAddress": "13.84.190.124",
- "port": 50000
- },
- {
- "nodeId": "tvm-3601533753_2-20170719t162906z",
- "ipAddress": "13.84.190.124",
- "port": 50001
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteCluster.json
deleted file mode 100644
index c69f44a389ec..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteCluster.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "clusterName": "demo_cluster",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01"
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01",
- "Retry-After": 15
- }
- },
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteExperiment.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteExperiment.json
deleted file mode 100644
index 75532f285149..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteExperiment.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "experimentName": "demo_experiment",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01"
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01",
- "Retry-After": 15
- }
- },
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteJob.json
deleted file mode 100644
index 1ecc8f2e6c98..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteJob.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "experimentName": "demo_experiment",
- "jobName": "demo_job",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01"
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01",
- "Retry-After": 15
- }
- },
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteWorkspace.json
deleted file mode 100644
index e10e644a8974..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/DeleteWorkspace.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01"
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01",
- "Retry-After": 15
- }
- },
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetCluster.json
deleted file mode 100644
index 2f6ebeb7d966..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetCluster.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "clusterName": "demo_cluster",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/clusters/demo_cluster",
- "name": "demo_cluster",
- "type": "Microsoft.BatchAI/Clusters",
- "properties": {
- "provisioningState": "succeeded",
- "allocationState": "resizing",
- "creationTime": "2017-09-27T21:50:02.377Z",
- "allocationStateTransitionTime": "2017-09-27T21:50:04.521Z",
- "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z",
- "vmSize": "STANDARD_NC6",
- "currentNodeCount": 0,
- "nodeStateCounts": {
- "runningNodeCount": 0,
- "idleNodeCount": 0,
- "unusableNodeCount": 0,
- "preparingNodeCount": 0,
- "leavingNodeCount": 0
- },
- "vmPriority": "dedicated",
- "scaleSettings": {
- "manual": {
- "targetNodeCount": 1,
- "nodeDeallocationOption": "requeue"
- }
- },
- "virtualMachineConfiguration": {
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "16.04-LTS",
- "version": "latest"
- }
- },
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- },
- "nodeSetup": {
- "mountVolumes": {
- "azureFileShares": [
- {
- "accountName": "storage_account_name",
- "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name",
- "credentials": {},
- "relativeMountPath": "azfiles",
- "fileMode": "0777",
- "directoryMode": "0777"
- }
- ]
- }
- },
- "subnet": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1"
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetExperiment.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetExperiment.json
deleted file mode 100644
index e7e3195ec79d..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetExperiment.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "experimentName": "demo_experiment",
- "api-version": "2018-05-01"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspace/demo_workspace/experiments/demo_experiment",
- "name": "demo_experiment",
- "type": "Microsoft.BatchAI/Experiments",
- "properties": {
- "creationTime": "2017-09-27T22:27:52.611Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z"
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetJob.json
deleted file mode 100644
index 9cddc22e76d6..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetJob.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "experimentName": "demo_experiment",
- "jobName": "demo_job",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/experiments/demo_experiment/jobs/demo_job",
- "name": "demo_job",
- "type": "Microsoft.BatchAI/Jobs",
- "properties": {
- "schedulingPriority": "normal",
- "cluster": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/clusters/demo_cluster"
- },
- "nodeCount": 1,
- "containerSettings": {
- "imageSourceRegistry": {
- "image": "ubuntu"
- }
- },
- "toolType": "custom",
- "customToolkitSettings": {
- "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt"
- },
- "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles",
- "jobOutputDirectoryPathSegment": "00000000-0000-0000-0000-000000000000/demo_resource_group/workspaces/demo_workspace/experiments/demo_experiment/jobs/demo_job/00000000-0000-0000-0000-000000000000",
- "inputDirectories": [
- {
- "id": "INPUT",
- "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input"
- }
- ],
- "outputDirectories": [
- {
- "id": "OUTPUTS",
- "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/",
- "pathSuffix": "files"
- }
- ],
- "constraints": {
- "maxWallClockTime": "P7D"
- },
- "creationTime": "2017-09-27T23:36:52.611Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T23:36:53.701Z",
- "executionState": "running",
- "executionStateTransitionTime": "2017-09-27T23:36:56.395Z",
- "executionInfo": {
- "startTime": "2017-09-27T23:36:54.115Z"
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetWorkspace.json
deleted file mode 100644
index 86c67ea2fdd9..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/GetWorkspace.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace",
- "name": "demo_workspace",
- "type": "Microsoft.BatchAI/Workspace",
- "location": "eastus",
- "properties": {
- "creationTime": "2017-09-27T21:50:03.828Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z"
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/JobListRemoteLoginInfo.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/JobListRemoteLoginInfo.json
deleted file mode 100644
index 13b7d5aafe00..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/JobListRemoteLoginInfo.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "experimentName": "demo_experiment",
- "jobName": "demo_job",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "nodeId": "tvm-3601533753_1-20170719t162906z",
- "ipAddress": "13.84.190.124",
- "port": 50000
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListClusterByWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListClusterByWorkspace.json
deleted file mode 100644
index 86e7bef7611e..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListClusterByWorkspace.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspace/demo_workspace/clusters/demo_cluster",
- "name": "demo_cluster",
- "type": "Microsoft.BatchAI/Clusters",
- "properties": {
- "provisioningState": "succeeded",
- "allocationState": "resizing",
- "creationTime": "2017-09-27T22:28:07.645Z",
- "allocationStateTransitionTime": "2017-09-27T22:28:08.998Z",
- "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z",
- "vmSize": "STANDARD_NC6",
- "currentNodeCount": 0,
- "nodeStateCounts": {
- "runningNodeCount": 0,
- "idleNodeCount": 0,
- "unusableNodeCount": 0,
- "preparingNodeCount": 0,
- "leavingNodeCount": 0
- },
- "vmPriority": "dedicated",
- "scaleSettings": {
- "manual": {
- "targetNodeCount": 1,
- "nodeDeallocationOption": "requeue"
- }
- },
- "virtualMachineConfiguration": {
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "16.04-LTS",
- "version": "latest"
- }
- },
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- },
- "nodeSetup": {
- "mountVolumes": {
- "azureFileShares": [
- {
- "accountName": "storage_account_name",
- "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name",
- "credentials": {},
- "relativeMountPath": "azfiles",
- "fileMode": "0777",
- "directoryMode": "0777"
- }
- ]
- }
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListExperimentByWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListExperimentByWorkspace.json
deleted file mode 100644
index d3e6990dc623..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListExperimentByWorkspace.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "api-version": "2018-05-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspace/demo_workspace/experiments/demo_experiment",
- "name": "demo_experiment",
- "type": "Microsoft.BatchAI/Experiments",
- "properties": {
- "creationTime": "2017-09-27T22:27:52.611Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListFileServerByWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListFileServerByWorkspace.json
deleted file mode 100644
index 7eb6060f6fbe..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListFileServerByWorkspace.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/fileservers/fileservercedd134b",
- "name": "fileservercedd134b",
- "type": "Microsoft.BatchAI/FileServers",
- "properties": {
- "provisioningState": "succeeded",
- "creationTime": "2017-09-27T21:45:28.159Z",
- "provisioningStateTransitionTime": "2017-09-27T21:49:25.416Z",
- "vmSize": "STANDARD_NC6",
- "sshConfiguration": {
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- }
- },
- "dataDisks": {
- "diskSizeInGB": 10,
- "cachingType": "none",
- "diskCount": 2,
- "storageAccountType": "Standard_LRS"
- },
- "subnet": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1"
- },
- "mountSettings": {
- "mountPoint": "/mnt/data",
- "fileServerPublicIP": "13.90.141.66",
- "fileServerInternalIP": "10.0.0.4"
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListJobByExperiment.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListJobByExperiment.json
deleted file mode 100644
index bac6e5cda218..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListJobByExperiment.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "experimentName": "demo_experimnet",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/jobs/demo_job",
- "name": "demo_job",
- "type": "Microsoft.BatchAI/Jobs",
- "properties": {
- "schedulingPriority": "normal",
- "cluster": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/clusters/demo_cluster"
- },
- "nodeCount": 1,
- "containerSettings": {
- "imageSourceRegistry": {
- "image": "ubuntu"
- }
- },
- "toolType": "custom",
- "customToolkitSettings": {
- "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt"
- },
- "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles",
- "jobOutputDirectoryPathSegment": "00000000-0000-0000-0000-000000000000/demo_resource_group/workspaces/demo_workspace/experiments/demo_experiment/jobs/demo_job/00000000-0000-0000-0000-000000000000",
- "inputDirectories": [
- {
- "id": "INPUT",
- "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input"
- }
- ],
- "outputDirectories": [
- {
- "id": "OUTPUTS",
- "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/",
- "pathSuffix": "files"
- }
- ],
- "constraints": {
- "maxWallClockTime": "P7D"
- },
- "creationTime": "2017-09-27T23:36:52.611Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T23:36:53.701Z",
- "executionState": "running",
- "executionStateTransitionTime": "2017-09-27T23:36:56.395Z",
- "executionInfo": {
- "startTime": "2017-09-27T23:36:54.115Z"
- }
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOperation.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOperation.json
deleted file mode 100644
index 39c6ee54cbed..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOperation.json
+++ /dev/null
@@ -1,255 +0,0 @@
-{
- "parameters": {
- "api-version": "2018-05-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "display": {
- "description": "Lists Batch AI workspaces or gets the properties of a Batch AI workspace",
- "operation": "List or get Batch AI workspaces",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Workspaces"
- },
- "name": "Microsoft.BatchAI/workspaces/read",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Creates a new Batch AI workspace or updates an existing Batch AI workspace",
- "operation": "Create or update Batch AI workspace",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Workspaces"
- },
- "name": "Microsoft.BatchAI/workspaces/write",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Deletes a Batch AI workspace",
- "operation": "Delete Batch AI workspace",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Clusters"
- },
- "name": "Microsoft.BatchAI/workspaces/delete",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Lists Batch AI experiments or gets the properties of a Batch AI experiment",
- "operation": "List or get Batch AI experiements",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Experiments"
- },
- "name": "Microsoft.BatchAI/workspaces/experiments/read",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Creates a new Batch AI experiment or updates an existing Batch AI experiment",
- "operation": "Create or update Batch AI experiement",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Experiments"
- },
- "name": "Microsoft.BatchAI/workspaces/experiments/write",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Deletes a Batch AI experiment",
- "operation": "Delete Batch AI experiment",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Experiments"
- },
- "name": "Microsoft.BatchAI/workspaces/experiments/delete",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Lists Batch AI clusters or gets the properties of a Batch AI cluster",
- "operation": "List or get Batch AI clusters",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Clusters"
- },
- "name": "Microsoft.BatchAI/clusters/read",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Lists Batch AI clusters or gets the properties of a Batch AI cluster",
- "operation": "List or get Batch AI clusters",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Clusters"
- },
- "name": "Microsoft.BatchAI/workspaces/clusters/read",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Creates a new Batch AI cluster or updates an existing Batch AI cluster",
- "operation": "Create or update Batch AI cluster",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Clusters"
- },
- "name": "Microsoft.BatchAI/workspaces/clusters/write",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Deletes a Batch AI cluster",
- "operation": "Delete Batch AI cluster",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Clusters"
- },
- "name": "Microsoft.BatchAI/workspaces/clusters/delete",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Lists remote-login information for a Batch AI cluster",
- "operation": "List Batch AI cluster remote-login information",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Clusters"
- },
- "name": "Microsoft.BatchAI/workspaces/clusters/remoteLoginInformation/action",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Lists Batch AI jobs or gets the properties of a Batch AI job",
- "operation": "List or get Batch AI jobs",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Jobs"
- },
- "name": "Microsoft.BatchAI/workspaces/experiments/jobs/read",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Creates a new Batch AI job or updates an existing Batch AI job",
- "operation": "Create or update Batch AI job",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Jobs"
- },
- "name": "Microsoft.BatchAI/workspaces/experiments/jobs/write",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Deletes a Batch AI job",
- "operation": "Delete Batch AI job",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Jobs"
- },
- "name": "Microsoft.BatchAI/workspaces/experiments/jobs/delete",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Terminates a Batch AI job",
- "operation": "Terminate Batch AI job",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Jobs"
- },
- "name": "Microsoft.BatchAI/workspaces/experiments/jobs/terminate/action",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Lists remote-login information for a Batch AI job",
- "operation": "List Batch AI job remote-login information",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Jobs"
- },
- "name": "Microsoft.BatchAI/workspaces/experiments/jobs/remoteLoginInformation/action",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Lists output files for a Batch AI job",
- "operation": "List Batch AI job output files",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Jobs"
- },
- "name": "Microsoft.BatchAI/workspaces/experiments/jobs/listoutputfiles/action",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Gets Batch AI usages of the specified subscription at the specified Azure region",
- "operation": "Get Batch AI Usages",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Usages"
- },
- "name": "Microsoft.BatchAI/locations/usages/read",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Registers the subscription for the Batch AI Resource Provider and enables the creation of Batch AI resources",
- "operation": "Register the Batch AI Resource Provider",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Resource Provider"
- },
- "name": "Microsoft.BatchAI/register/action",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Unregisters the subscription for the Batch AI Resource Provider preventing the creation of Batch AI resources",
- "operation": "Unregister the Batch AI Resource Provider",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Resource Provider"
- },
- "name": "Microsoft.BatchAI/unregister/action",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Gets Batch AI async operation result at the specified Azure region",
- "operation": "Get Batch AI Opreation Result",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Operation Results"
- },
- "name": "Microsoft.BatchAI/locations/operationresults/read",
- "origin": "user,system",
- "properties": null
- },
- {
- "display": {
- "description": "Gets Batch AI async operation status at the specified Azure region",
- "operation": "Get Batch AI Opreation Status",
- "provider": "Microsoft Batch AI",
- "resource": "Batch AI Operation Statuses"
- },
- "name": "Microsoft.BatchAI/locations/operationstatuses/read",
- "origin": "user,system",
- "properties": null
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOutputFiles.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOutputFiles.json
deleted file mode 100644
index 1a9676422d27..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListOutputFiles.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "experimentName": "demo_experiment",
- "jobName": "demo_job",
- "outputdirectoryid": "stdouterr",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "name": "stderr-job_prep.txt",
- "fileType": "file",
- "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/host_prep_stderr.txt?sv=2016-05-31&sr=f&sig=CNPJmjDQT9Anld9%2FdnQ52ZBpfOff2el8r4el6J%2BnpJE%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl",
- "properties": {
- "lastModified": "2017-09-28T00:22:19Z",
- "contentLength": 0
- }
- },
- {
- "name": "stdout-job_prep.txt",
- "fileType": "file",
- "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/host_prep_stdout.txt?sv=2016-05-31&sr=f&sig=yK%2F5acWSTdcmBZGGL9%2F3IqeZ7N%2B1sRXfwB%2FaCkoRS%2Bc%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl",
- "properties": {
- "lastModified": "2017-09-28T00:22:19Z",
- "contentLength": 720
- }
- },
- {
- "name": "stderr.txt",
- "fileType": "file",
- "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/stderr.txt?sv=2016-05-31&sr=f&sig=TdvHhdQjvWWA0Z7aPb0oZpPgGbBPOyDarNXWHFnRS3c%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl",
- "properties": {
- "lastModified": "2017-09-28T00:22:19Z",
- "contentLength": 0
- }
- },
- {
- "name": "stdout.txt",
- "fileType": "file",
- "downloadUrl": "https://storage_account_name.file.core.windows.net/share/00000000-0000-0000-0000-000000000000/test_mgmt_batchai_jobs_test_job_preparation_hoste0e613b6/jobs/job/stdout.txt?sv=2016-05-31&sr=f&sig=nyydEjNnYpQfovknJc%2B5G%2F05g0IV4acWKlfkM35lh00%3D&se=2017-09-28T01%3A22%3A35Z&sp=rl",
- "properties": {
- "lastModified": "2017-09-28T00:22:19Z",
- "contentLength": 32
- }
- },
- {
- "name": "counters",
- "fileType": "directory"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListUsages.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListUsages.json
deleted file mode 100644
index 4852be27aa0a..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListUsages.json
+++ /dev/null
@@ -1,168 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "location": "eastus",
- "api-version": "2018-05-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "currentValue": 5,
- "limit": 20,
- "name": {
- "localizedValue": "Clusters",
- "value": "Clusters"
- },
- "unit": "Count"
- },
- {
- "currentValue": 49,
- "limit": 600,
- "name": {
- "localizedValue": "Total Cluster Dedicated Regional vCPUs",
- "value": "Total Cluster Dedicated Regional vCPUs"
- },
- "unit": "Count"
- },
- {
- "currentValue": 1,
- "limit": 600,
- "name": {
- "localizedValue": "Standard D Family Cluster Dedicated vCPUs",
- "value": "Standard D Family Cluster Dedicated vCPUs"
- },
- "unit": "Count"
- },
- {
- "currentValue": 0,
- "limit": 600,
- "name": {
- "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs",
- "value": "Standard Dv2 Family Cluster Dedicated vCPUs"
- },
- "unit": "Count"
- },
- {
- "currentValue": 48,
- "limit": 600,
- "name": {
- "localizedValue": "Standard NC Family Cluster Dedicated vCPUs",
- "value": "Standard NC Family Cluster Dedicated vCPUs"
- },
- "unit": "Count"
- },
- {
- "currentValue": 0,
- "limit": 0,
- "name": {
- "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs",
- "value": "Standard NCv2 Family Cluster Dedicated vCPUs"
- },
- "unit": "Count"
- },
- {
- "currentValue": 0,
- "limit": 0,
- "name": {
- "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs",
- "value": "Standard NCv3 Family Cluster Dedicated vCPUs"
- },
- "unit": "Count"
- },
- {
- "currentValue": 0,
- "limit": 0,
- "name": {
- "localizedValue": "Standard ND Family Cluster Dedicated vCPUs",
- "value": "Standard ND Family Cluster Dedicated vCPUs"
- },
- "unit": "Count"
- },
- {
- "currentValue": 0,
- "limit": 600,
- "name": {
- "localizedValue": "Standard NV Family Cluster Dedicated vCPUs",
- "value": "Standard NV Family Cluster Dedicated vCPUs"
- },
- "unit": "Count"
- },
- {
- "currentValue": 0,
- "limit": 150,
- "name": {
- "localizedValue": "Total Cluster Low Priority Regional vCPUs",
- "value": "Total Cluster LowPriority Regional vCPUs"
- },
- "unit": "Count"
- },
- {
- "currentValue": 0,
- "limit": 150,
- "name": {
- "localizedValue": "Standard D Family Cluster Low Priority vCPUs",
- "value": "Standard D Family Cluster LowPriority vCPUs"
- },
- "unit": "Count"
- },
- {
- "currentValue": 0,
- "limit": 150,
- "name": {
- "localizedValue": "Standard Dv2 Family Cluster Low Priority vCPUs",
- "value": "Standard Dv2 Family Cluster LowPriority vCPUs"
- },
- "unit": "Count"
- },
- {
- "currentValue": 0,
- "limit": 150,
- "name": {
- "localizedValue": "Standard NC Family Cluster Low Priority vCPUs",
- "value": "Standard NC Family Cluster LowPriority vCPUs"
- },
- "unit": "Count"
- },
- {
- "currentValue": 0,
- "limit": 0,
- "name": {
- "localizedValue": "Standard NCv2 Family Cluster Low Priority vCPUs",
- "value": "Standard NCv2 Family Cluster LowPriority vCPUs"
- },
- "unit": "Count"
- },
- {
- "currentValue": 0,
- "limit": 0,
- "name": {
- "localizedValue": "Standard NCv3 Family Cluster Low Priority vCPUs",
- "value": "Standard NCv3 Family Cluster LowPriority vCPUs"
- },
- "unit": "Count"
- },
- {
- "currentValue": 0,
- "limit": 0,
- "name": {
- "localizedValue": "Standard ND Family Cluster Low Priority vCPUs",
- "value": "Standard ND Family Cluster LowPriority vCPUs"
- },
- "unit": "Count"
- },
- {
- "currentValue": 0,
- "limit": 150,
- "name": {
- "localizedValue": "Standard NV Family Cluster Low Priority vCPUs",
- "value": "Standard NV Family Cluster LowPriority vCPUs"
- },
- "unit": "Count"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspace.json
deleted file mode 100644
index 4c9d5ace6f2e..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspace.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspace/demo_workspace",
- "name": "demo_workspace",
- "type": "Microsoft.BatchAI/Workspaces",
- "location": "eastus",
- "properties": {
- "creationTime": "2017-09-27T22:28:08.325Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspaceByResourceGroup.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspaceByResourceGroup.json
deleted file mode 100644
index a2684681d8be..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/ListWorkspaceByResourceGroup.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroupName": "demo_resource_group",
- "api-version": "2018-05-01"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspace/demo_workspace",
- "name": "demo_workspace",
- "type": "Microsoft.BatchAI/Workspaces",
- "location": "eastus",
- "properties": {
- "creationTime": "2017-09-27T22:28:08.325Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T22:28:08.327Z"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PatchCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PatchCluster.json
deleted file mode 100644
index 5d6802d5aabb..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PatchCluster.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "clusterName": "demo_cluster",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01",
- "parameters": {
- "properties": {
- "scaleSettings": {
- "autoScale": {
- "minimumNodeCount": 0,
- "maximumNodeCount": 10
- }
- }
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/clusters/demo_cluster",
- "name": "demo_cluster",
- "type": "Microsoft.BatchAI/Clusters",
- "properties": {
- "provisioningState": "succeeded",
- "allocationState": "steady",
- "creationTime": "2017-09-27T21:43:55.215Z",
- "allocationStateTransitionTime": "2017-09-27T21:43:57.664Z",
- "provisioningStateTransitionTime": "2017-09-27T21:43:56.238Z",
- "vmSize": "STANDARD_NC6",
- "currentNodeCount": 0,
- "nodeStateCounts": {
- "runningNodeCount": 0,
- "idleNodeCount": 0,
- "unusableNodeCount": 0,
- "preparingNodeCount": 0,
- "leavingNodeCount": 0
- },
- "vmPriority": "dedicated",
- "scaleSettings": {
- "autoScale": {
- "minimumNodeCount": 0,
- "maximumNodeCount": 10,
- "initialNodeCount": 0
- }
- },
- "virtualMachineConfiguration": {
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "16.04-LTS",
- "version": "latest"
- }
- },
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- },
- "nodeSetup": {
- "mountVolumes": {
- "azureFileShares": [
- {
- "accountName": "storage_account_name",
- "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name",
- "credentials": {},
- "relativeMountPath": "azfiles",
- "fileMode": "0777",
- "directoryMode": "0777"
- }
- ]
- }
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PatchWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PatchWorkspace.json
deleted file mode 100644
index 7e5160fcf08f..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PatchWorkspace.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01",
- "parameters": {
- "tags": {
- "key1": "value1"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace",
- "name": "demo_worksapce",
- "type": "Microsoft.BatchAI/Workspaces",
- "location": "eastus",
- "tags": {
- "key1": "value1"
- },
- "properties": {
- "creationTime": "2017-09-27T21:50:03.828Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z"
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutCluster.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutCluster.json
deleted file mode 100644
index 5bd81f4ee174..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutCluster.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "clusterName": "demo_cluster",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01",
- "parameters": {
- "properties": {
- "scaleSettings": {
- "manual": {
- "nodeDeallocationOption": "requeue",
- "targetNodeCount": 1
- }
- },
- "userAccountSettings": {
- "adminUserPassword": "admin_user_password",
- "adminUserSshPublicKey": "ssh-rsa AAAAB3NzaC1yc...",
- "adminUserName": "admin_user_name"
- },
- "nodeSetup": {
- "mountVolumes": {
- "azureFileShares": [
- {
- "relativeMountPath": "azfiles",
- "directoryMode": "0777",
- "accountName": "storage_account_name",
- "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name",
- "fileMode": "0777",
- "credentials": {
- "accountKey": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000=="
- }
- }
- ]
- }
- },
- "vmPriority": "dedicated",
- "vmSize": "STANDARD_NC6"
- }
- }
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01",
- "Retry-After": 15
- }
- },
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/clusters/demo_cluster",
- "name": "demo_cluster",
- "type": "Microsoft.BatchAI/Clusters",
- "properties": {
- "provisioningState": "succeeded",
- "allocationState": "resizing",
- "creationTime": "2017-09-27T21:50:02.377Z",
- "allocationStateTransitionTime": "2017-09-27T21:50:04.521Z",
- "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z",
- "vmSize": "STANDARD_NC6",
- "currentNodeCount": 0,
- "nodeStateCounts": {
- "runningNodeCount": 0,
- "idleNodeCount": 0,
- "unusableNodeCount": 0,
- "preparingNodeCount": 0,
- "leavingNodeCount": 0
- },
- "vmPriority": "dedicated",
- "scaleSettings": {
- "manual": {
- "targetNodeCount": 1,
- "nodeDeallocationOption": "requeue"
- }
- },
- "virtualMachineConfiguration": {
- "imageReference": {
- "publisher": "Canonical",
- "offer": "UbuntuServer",
- "sku": "16.04-LTS",
- "version": "latest"
- }
- },
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- },
- "nodeSetup": {
- "mountVolumes": {
- "azureFileShares": [
- {
- "accountName": "storage_account_name",
- "azureFileUrl": "https://storage_account_name.file.core.windows.net/azure_file_share_name",
- "credentials": {},
- "relativeMountPath": "azfiles",
- "fileMode": "0777",
- "directoryMode": "0777"
- }
- ]
- }
- },
- "subnet": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1"
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutExperiment.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutExperiment.json
deleted file mode 100644
index 3b4b6f8bfd59..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutExperiment.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "experimentName": "demo_experiment",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01",
- "parameters": {
- "properties": {}
- }
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01",
- "Retry-After": 15
- }
- },
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/experiments/demo_experiment",
- "name": "demo_experiment",
- "type": "Microsoft.BatchAI/Experiments",
- "properties": {
- "creationTime": "2017-09-27T21:49:52.611Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z"
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutFileServer.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutFileServer.json
deleted file mode 100644
index e11fd4ec53b0..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutFileServer.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "fileServerName": "demo_nfs",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01",
- "parameters": {
- "properties": {
- "sshConfiguration": {
- "userAccountSettings": {
- "adminUserPassword": "admin_user_password",
- "adminUserName": "admin_user_name"
- }
- },
- "dataDisks": {
- "diskSizeInGB": 10,
- "storageAccountType": "Standard_LRS",
- "diskCount": 2
- },
- "vmSize": "STANDARD_NC6"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/fileservers/fileservercedd134b",
- "name": "demo_nfs",
- "type": "Microsoft.BatchAI/FileServers",
- "properties": {
- "provisioningState": "succeeded",
- "creationTime": "2017-09-27T21:45:28.159Z",
- "provisioningStateTransitionTime": "2017-09-27T21:49:25.416Z",
- "vmSize": "STANDARD_NC6",
- "sshConfiguration": {
- "userAccountSettings": {
- "adminUserName": "admin_user_name"
- }
- },
- "dataDisks": {
- "diskSizeInGB": 10,
- "cachingType": "none",
- "diskCount": 2,
- "storageAccountType": "Standard_LRS"
- },
- "subnet": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.Network/virtualNetworks/7feb1976-8c31-4f1f-bea2-86cb1839a7bavnet/subnets/Subnet-1"
- },
- "mountSettings": {
- "mountPoint": "/mnt/data",
- "fileServerPublicIP": "13.90.141.66",
- "fileServerInternalIP": "10.0.0.4"
- }
- }
- }
- },
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01",
- "Retry-After": 15
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutJob.json
deleted file mode 100644
index 8d9d08d6cb20..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutJob.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "experimentName": "demo_experiment",
- "jobName": "demo_job",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01",
- "parameters": {
- "properties": {
- "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles",
- "cluster": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspace/demo_workspace/clusters/demo_cluster"
- },
- "nodeCount": 1,
- "customToolkitSettings": {
- "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt"
- },
- "inputDirectories": [
- {
- "id": "INPUT",
- "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input"
- }
- ],
- "schedulingPriority": "normal",
- "containerSettings": {
- "imageSourceRegistry": {
- "image": "ubuntu"
- }
- },
- "outputDirectories": [
- {
- "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/",
- "id": "OUTPUTS",
- "pathSuffix": "files"
- }
- ]
- }
- }
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01",
- "Retry-After": 15
- }
- },
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/experiments/demo_experiment/jobs/demo_job",
- "name": "demo_job",
- "type": "Microsoft.BatchAI/Job",
- "properties": {
- "schedulingPriority": "normal",
- "cluster": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace/clusters/demo_cluster"
- },
- "nodeCount": 1,
- "containerSettings": {
- "imageSourceRegistry": {
- "image": "ubuntu"
- }
- },
- "toolType": "custom",
- "customToolkitSettings": {
- "commandLine": "echo hi | tee $AZ_BATCHAI_OUTPUT_OUTPUTS/hi.txt"
- },
- "stdOutErrPathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles",
- "jobOutputDirectoryPathSegment": "00000000-0000-0000-0000-000000000000/demo_resource_group/workspaces/demo_workspace/00000000-0000-0000-0000-000000000000/experiments/demo_experiment/00000000-0000-0000-0000-000000000000/jobs/demo_job/00000000-0000-0000-0000-000000000000",
- "inputDirectories": [
- {
- "id": "INPUT",
- "path": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/input"
- }
- ],
- "outputDirectories": [
- {
- "id": "OUTPUTS",
- "pathPrefix": "$AZ_BATCHAI_MOUNT_ROOT/azfiles/",
- "pathSuffix": "files"
- }
- ],
- "constraints": {
- "maxWallClockTime": "P7D"
- },
- "creationTime": "2017-09-27T23:36:52.611Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T23:36:53.701Z",
- "executionState": "running",
- "executionStateTransitionTime": "2017-09-27T23:36:56.395Z",
- "executionInfo": {
- "startTime": "2017-09-27T23:36:54.115Z"
- }
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutWorkspace.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutWorkspace.json
deleted file mode 100644
index 0fd0054e9ef5..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/PutWorkspace.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01",
- "parameters": {
- "location": "eastus"
- }
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01",
- "Retry-After": 15
- }
- },
- "200": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demo_resource_group/providers/Microsoft.BatchAI/workspaces/demo_workspace",
- "name": "demo_worksapce",
- "type": "Microsoft.BatchAI/Workspaces",
- "location": "eastus",
- "properties": {
- "creationTime": "2017-09-27T21:50:03.828Z",
- "provisioningState": "succeeded",
- "provisioningStateTransitionTime": "2017-09-27T21:50:03.828Z"
- }
- }
- }
- }
-}
diff --git a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/TerminateJob.json b/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/TerminateJob.json
deleted file mode 100644
index 717faf5754ed..000000000000
--- a/specification/batchai/resource-manager/Microsoft.BatchAI/stable/2018-05-01/examples/TerminateJob.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "parameters": {
- "resourceGroupName": "demo_resource_group",
- "workspaceName": "demo_workspace",
- "experimentName": "demo_experiment",
- "jobName": "demo_job",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "api-version": "2018-05-01"
- },
- "responses": {
- "202": {
- "headers": {
- "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.BatchAI/locations/eastus/operationresults/7e69f371-db62-4183-bba0-5ee577d43bd7?api-version=2018-05-01",
- "Retry-After": 15
- }
- },
- "200": {}
- }
-}
diff --git a/specification/batchai/resource-manager/readme.go.md b/specification/batchai/resource-manager/readme.go.md
deleted file mode 100644
index b72de716abdf..000000000000
--- a/specification/batchai/resource-manager/readme.go.md
+++ /dev/null
@@ -1,46 +0,0 @@
-## Go
-
-These settings apply only when `--go` is specified on the command line.
-
-``` yaml $(go)
-go:
- license-header: MICROSOFT_MIT_NO_VERSION
- clear-output-folder: true
- namespace: batchai
-```
-
-### Go multi-api
-
-``` yaml $(go) && $(multiapi)
-batch:
- - tag: package-2017-09-preview
- - tag: package-2018-03
- - tag: package-2018-05
-```
-
-### Tag: package-2017-09-preview and go
-
-These settings apply only when `--tag=package-2017-09-preview --go` is specified on the command line.
-Please also specify `--go-sdk-folder=`.
-
-``` yaml $(tag)=='package-2017-09-preview' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2017-09-01-preview/$(namespace)
-```
-
-### Tag: package-2018-03 and go
-
-These settings apply only when `--tag=package-2018-03 --go` is specified on the command line.
-Please also specify `--go-sdk-folder=`.
-
-``` yaml $(tag)=='package-2018-03' && $(go)
-output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2018-03-01/$(namespace)
-```
-
-### Tag: package-2018-05 and go
-
-These settings apply only when `--tag=package-2018-05 --go` is specified on the command line.
-Please also specify `--go-sdk-folder=`.
-
-``` yaml $(tag)=='package-2018-05' && $(go)
-output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2018-05-01/$(namespace)
-```
\ No newline at end of file
diff --git a/specification/batchai/resource-manager/readme.md b/specification/batchai/resource-manager/readme.md
deleted file mode 100644
index 5167bc9667aa..000000000000
--- a/specification/batchai/resource-manager/readme.md
+++ /dev/null
@@ -1,188 +0,0 @@
-# Batch AI SDK
-
-> see https://aka.ms/autorest
-
-This is the AutoRest configuration file for Batch AI SDK.
-
----
-## Getting Started
-To build the SDK for Batch AI, 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 Batch AI.
-
-``` yaml
-openapi-type: arm
-tag: package-2018-05
-```
-
-
-### Tag: package-2017-09-preview
-
-These settings apply only when `--tag=package-2017-09-preview` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-09-preview'
-input-file:
-- Microsoft.BatchAI/preview/2017-09-01-preview/BatchAI.json
-```
-
-### Tag: package-2018-03
-
-These settings apply only when `--tag=package-2018-03` is specified on the command line.
-
-``` yaml $(tag) == 'package-2018-03'
-input-file:
-- Microsoft.BatchAI/stable/2018-03-01/BatchAI.json
-```
-
-### Tag: package-2018-05
-
-These settings apply only when `--tag=package-2018-05` is specified on the command line.
-
-``` yaml $(tag) == 'package-2018-05'
-input-file:
-- Microsoft.BatchAI/stable/2018-05-01/BatchAI.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
- - repo: azure-sdk-for-node
- - repo: azure-resource-manager-schemas
-```
-
-
-## CSharp Settings
-
-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.BatchAI
- payload-flattening-threshold: 1
- output-folder: $(csharp-sdks-folder)/batchai/Microsoft.Azure.Management.BatchAI/src/Generated
- clear-output-folder: true
-```
-
-## Python
-
-These settings apply only when `--python` is specified on the command line.
-Please also specify `--python-sdks-folder=`.
-Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-
-``` yaml $(python)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.batchai
- package-name: azure-mgmt-batchai
- clear-output-folder: true
-```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/azure-mgmt-batchai/azure/mgmt/batchai
-```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/azure-mgmt-batchai
-```
-
-## 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.batchai
-license-header: MICROSOFT_MIT_NO_CODEGEN
-payload-flattening-threshold: 1
-output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-batchai
-```
-
-### Java multi-api
-
-``` yaml $(java) && $(multiapi)
-batch:
- - tag: package-2017-09-preview
- - tag: package-2018-03
- - tag: package-2018-05
-```
-
-### Tag: package-2017-09-preview and java
-
-These settings apply only when `--tag=package-2017-09-preview --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag)=='package-2017-09-preview' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.batchai.v2017_09_01_preview
- output-folder: $(azure-libraries-for-java-folder)/sdk/batchai/mgmt-v2017_09_01_preview
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2018-03 and java
-
-These settings apply only when `--tag=package-2018-03 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag)=='package-2018-03' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.batchai.v2018_03_01
- output-folder: $(azure-libraries-for-java-folder)/sdk/batchai/mgmt-v2018_03_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2018-05 and java
-
-These settings apply only when `--tag=package-2018-05 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag)=='package-2018-05' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.batchai.v2018_05_01
- output-folder: $(azure-libraries-for-java-folder)/sdk/batchai/mgmt-v2018_05_01
-regenerate-manager: true
-generate-interface: true
-```
-
-
-
diff --git a/specification/batchai/resource-manager/readme.nodejs.md b/specification/batchai/resource-manager/readme.nodejs.md
deleted file mode 100644
index 0b3cb3651787..000000000000
--- a/specification/batchai/resource-manager/readme.nodejs.md
+++ /dev/null
@@ -1,15 +0,0 @@
-## Node.js
-
-These settings apply only when `--nodejs` is specified on the command line.
-Please also specify `--node-sdks-folder=`.
-
-``` yaml $(nodejs)
-nodejs:
- azure-arm: true
- package-name: azure-arm-batchai
- output-folder: $(node-sdks-folder)/lib/services/batchaiManagement
- payload-flattening-threshold: 1
- generate-license-txt: true
- generate-package-json: true
- generate-readme-md: true
-```
diff --git a/specification/batchai/resource-manager/readme.typescript.md b/specification/batchai/resource-manager/readme.typescript.md
deleted file mode 100644
index 7fe1eb8e1ad6..000000000000
--- a/specification/batchai/resource-manager/readme.typescript.md
+++ /dev/null
@@ -1,14 +0,0 @@
-## TypeScript
-
-These settings apply only when `--typescript` is specified on the command line.
-Please also specify `--typescript-sdks-folder=`.
-
-``` yaml $(typescript)
-typescript:
- azure-arm: true
- package-name: "@azure/arm-batchai"
- output-folder: "$(typescript-sdks-folder)/sdk/batchai/arm-batchai"
- clear-output-folder: true
- payload-flattening-threshold: 1
- generate-metadata: true
-```
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json
new file mode 100644
index 000000000000..b0e4afadc220
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json
@@ -0,0 +1,454 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-09-01-preview",
+ "title": "BillingManagementClient",
+ "description": "Billing client provides access to billing resources for Azure subscriptions."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.Billing/promotions/{promotionId}": {
+ "put": {
+ "summary": "Activate promotion",
+ "description": "Activate promotion and create promotion resource.",
+ "operationId": "Activate_Promotion",
+ "x-ms-examples": {
+ "PromotionActivation": {
+ "$ref": "./examples/PromotionActivation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/promotionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PromotionCreateRequest"
+ },
+ "description": "Request parameters that are provided to activate the promotion."
+ }
+ ],
+ "tags": [
+ "Promotion, Activate"
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource has been created",
+ "schema": {
+ "$ref": "#/definitions/PromotionResponse"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "summary": "Get a specific Promotion.",
+ "description": "Get the details of the `Promotion`.",
+ "operationId": "Promotion_Get",
+ "x-ms-examples": {
+ "GetPromotion": {
+ "$ref": "./examples/PromotionDetails.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/promotionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "tags": [
+ "Promotion"
+ ],
+ "responses": {
+ "200": {
+ "description": "Details of the `Promotion`.",
+ "schema": {
+ "$ref": "#/definitions/PromotionResponse"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/promotions": {
+ "get": {
+ "summary": "Get all `Promotion`s.",
+ "description": "List of all the `Promotion`s that the user has access.",
+ "operationId": "Promotions_List",
+ "x-ms-examples": {
+ "PromotionList": {
+ "$ref": "./examples/GetPromotions.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "tags": [
+ "Promotion"
+ ],
+ "responses": {
+ "200": {
+ "description": "List of `Promotion`s",
+ "schema": {
+ "$ref": "#/definitions/PromotionList"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/promotions/{promotionSkuId}/checkEligibility": {
+ "get": {
+ "tags": [
+ "Promotion_CheckEligibility"
+ ],
+ "operationId": "Promotion_CheckEligibility",
+ "description": "Checks the eligibility of a subscription for all active promotions.",
+ "x-ms-examples": {
+ "PromotionCheckEligibility": {
+ "$ref": "./examples/PromotionCheckEligibility.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/promotionSkuId"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/PromotionCheckEligibilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PromotionCreateRequest": {
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "sku": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PromotionCreateSkuNameRequestProperties"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PromotionCreateRequestProperties"
+ }
+ }
+ },
+ "PromotionCreateSkuNameRequestProperties": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "SKU Name of the promotion to activate"
+ }
+ }
+ },
+ "PromotionCreateRequestProperties": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Friendly name for user to easily identified the promotion."
+ },
+ "appliedScopes": {
+ "$ref": "#/definitions/AppliedScopes",
+ "description": "List of subscriptions getting the benefit of the promotion."
+ },
+ "orderId": {
+ "type": "string",
+ "description": "Unique Id for the promotion order."
+ }
+ }
+ },
+ "PromotionList": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of promotions.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/PromotionResponse"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PromotionResponse": {
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "etag": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Identifier of the promotion"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the promotion"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PromotionResponseProperties"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Type of resource. \"Microsoft.Billing/Promotions\""
+ }
+ }
+ },
+ "PromotionResponseProperties": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Friendly name for user to easily identified the promotion."
+ },
+ "effectiveDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "This is the DateTime when the promotion would come in effect"
+ },
+ "lastUpdatedDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last update time of the promotion resource."
+ },
+ "expiryDate": {
+ "type": "string",
+ "format": "date",
+ "description": "This is the date when the Reservation will expire."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Current state of the promotion."
+ },
+ "appliedScopes": {
+ "$ref": "#/definitions/AppliedScopes",
+ "description": "List of subscriptions getting the benefit of the promotion."
+ }
+ }
+ },
+ "AppliedScopes": {
+ "type": "array",
+ "description": "List of the subscriptions that the benefit will be applied.",
+ "items": {
+ "type": "string",
+ "minItems": 1,
+ "maxItems": 1
+ }
+ },
+ "PromotionCheckEligibilityResponse": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PromotionCheckEligibilityResponseProperties"
+ }
+ }
+ },
+ "PromotionCheckEligibilityResponseProperties": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the promotion"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the promotion"
+ },
+ "eligible": {
+ "type": "boolean",
+ "description": "Specifies whether the subscription is eligible for the promotion"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Reason in case the subscription is not eligible for promotion."
+ },
+ "eligibilitySubscriptionId": {
+ "type": "string",
+ "description": "Subscription Id on which the eligibility check was performed."
+ },
+ "expiryDate": {
+ "type": "string",
+ "format": "date",
+ "description": "Date till when the promotion is available."
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The details of the error.",
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "The details of the error.",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "description": "The target of the particular error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "The sub details of the error.",
+ "readOnly": true,
+ "$ref": "#/definitions/ErrorSubDetails"
+ }
+ }
+ },
+ "ErrorSubDetails": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "description": "The target of the particular error.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The version of the API to be used with the client request. The current version is 2019-10-01-preview."
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The ID that uniquely identifies an Azure subscription.",
+ "required": true,
+ "type": "string"
+ },
+ "promotionIdParameter": {
+ "name": "promotionId",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Promotion Id"
+ },
+ "promotionSkuId": {
+ "name": "promotionSkuId",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Promotion Sku Id"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/GetPromotions.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/GetPromotions.json
new file mode 100644
index 000000000000..6063a7926691
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/GetPromotions.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/promotions/105363ba-c9e4-421e-a630-4968bdc3f217",
+ "type": "Microsoft.Billing/promotions",
+ "name": "105363ba-c9e4-421e-a630-4968bdc3f217",
+ "etag": 1,
+ "properties": {
+ "appliedScopes": [
+ "/subscriptions/a4f60096-7846-4c87-9143-771e73ae26ce"
+ ],
+ "provisioningState": "Creating",
+ "displayName": "test-promo1",
+ "effectiveDateTime": "2020-10-19T21:03:19.9905904Z",
+ "lastUpdatedDateTime": "2020-10-19T21:03:19.9905904Z",
+ "expiryDate": "2021-01-31"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/PromotionActivation.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/PromotionActivation.json
new file mode 100644
index 000000000000..764d4c7d6818
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/PromotionActivation.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01-preview",
+ "promotionId": "ff0f1add-122a-43c1-a2ec-c2277781667d",
+ "parameters": {
+ "sku": {
+ "name": "wvd_promo_30p"
+ },
+ "properties": {
+ "appliedScopes": [
+ "/subscriptions/f6dc64c8-34bb-43d3-96b0-fd2b8c94f1c3"
+ ],
+ "displayName": "promotion-displayname",
+ "orderId": "ff0f1add-122a-43c1-a2ec-c2277781667d"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/promotions/ff0f1add-122a-43c1-a2ec-c2277781667d",
+ "type": "Microsoft.Billing/promotions",
+ "name": "ff0f1add-122a-43c1-a2ec-c2277781667d",
+ "properties": {
+ "appliedScopes": [
+ "/subscriptions/a4f60096-7846-4c87-9143-771e73ae26ce"
+ ],
+ "provisioningState": "Succeeded",
+ "expiryDate": "2021-02-01",
+ "displayName": "promotion-displayname",
+ "effectiveDateTime": "2020-11-03T02:26:53.0006733Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/PromotionCheckEligibility.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/PromotionCheckEligibility.json
new file mode 100644
index 000000000000..b6fd54b05579
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/PromotionCheckEligibility.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01-preview",
+ "promotionSkuId": "wvd_promo_30p",
+ "subscriptionId": "f6dc64c8-34bb-43d3-96b0-fd2b8c94f1c3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "id": "wvd_promo_30p",
+ "name": "WVD 30 percent off",
+ "eligible": true,
+ "reason": "None",
+ "eligibilitySubscriptionId": "f6dc64c8-34bb-43d3-96b0-fd2b8c94f1c3",
+ "expiryDate": "2021-10-01"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/PromotionDetails.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/PromotionDetails.json
new file mode 100644
index 000000000000..4a4e4829822f
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/PromotionDetails.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01-preview",
+ "promotionId": "{promotionId}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/promotions/105363ba-c9e4-421e-a630-4968bdc3f217",
+ "type": "Microsoft.Billing/promotions",
+ "name": "105363ba-c9e4-421e-a630-4968bdc3f217",
+ "etag": 1,
+ "properties": {
+ "appliedScopes": [
+ "/subscriptions/a4f60096-7846-4c87-9143-771e73ae26ce"
+ ],
+ "provisioningState": "Creating",
+ "displayName": "test-promo1",
+ "effectiveDateTime": "2020-10-19T21:03:19.9905904Z",
+ "lastUpdatedDateTime": "2020-10-19T21:03:19.9905904Z",
+ "expiryDate": "2020-10-19"
+ }
+ }
+ }
+ }
+}
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 5256816c34ae..f21b8f6c8c51 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
@@ -5729,6 +5729,12 @@
"$ref": "#/definitions/Transaction"
}
},
+ "totalCount": {
+ "description": "Total number of records.",
+ "type": "number",
+ "format": "int32",
+ "readOnly": true
+ },
"nextLink": {
"description": "The link (url) to the next page of results.",
"type": "string",
diff --git a/specification/billing/resource-manager/readme.md b/specification/billing/resource-manager/readme.md
index 8cb5f3f3a9a5..83c64370e22e 100644
--- a/specification/billing/resource-manager/readme.md
+++ b/specification/billing/resource-manager/readme.md
@@ -38,6 +38,17 @@ input-file:
- Microsoft.Billing/stable/2020-05-01/billing.json
- Microsoft.Billing/preview/2018-03-01-preview/billingV2.json
```
+
+### Tag: package-2020-09-preview
+
+These settings apply only when `--tag=package-2020-09-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-09-preview'
+input-file:
+- Microsoft.Billing/stable/2020-05-01/billing.json
+- Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json
+```
+
### Tag: package-2020-11-preview
These settings apply only when `--tag=package-2020-11-preview` is specified on the command line.
diff --git a/specification/blueprint/resource-manager/readme.md b/specification/blueprint/resource-manager/readme.md
index 5d57c7587278..3445d11dc42a 100644
--- a/specification/blueprint/resource-manager/readme.md
+++ b/specification/blueprint/resource-manager/readme.md
@@ -62,7 +62,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-resource-manager-schemas
```
diff --git a/specification/blueprint/resource-manager/readme.python.md b/specification/blueprint/resource-manager/readme.python.md
index c5fa5e96e328..e39e1e3a364a 100644
--- a/specification/blueprint/resource-manager/readme.python.md
+++ b/specification/blueprint/resource-manager/readme.python.md
@@ -2,27 +2,22 @@
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.blueprint
- package-name: azure-mgmt-blueprint
- title: BlueprintManagementClient
- description: The Blueprint Client.
- clear-output-folder: true
+``` yaml $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-blueprint
+no-namespace-folders: true
+package-version: 1.0.0b1
+clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/azure-mgmt-blueprint/azure/mgmt/blueprint
+
+``` yaml $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/blueprint/azure-mgmt-blueprint/azure/mgmt/blueprint
+```
+
+``` yaml $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/blueprint/azure-mgmt-blueprint
```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/azure-mgmt-blueprint
-```
\ No newline at end of file
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/botservice.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/botservice.json
index 772e0a1c5d47..3de5ee04b265 100644
--- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/botservice.json
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/botservice.json
@@ -1554,10 +1554,31 @@
"readOnly": true,
"description": "The bot's endpoint version"
},
+ "msaAppType": {
+ "type": "string",
+ "description": "Microsoft App Type for the bot",
+ "enum": [
+ "UserAssignedMSI",
+ "SingleTenant",
+ "MultiTenant"
+ ],
+ "x-ms-enum": {
+ "name": "msaAppType",
+ "modelAsString": true
+ }
+ },
"msaAppId": {
"type": "string",
"description": "Microsoft App Id for the bot"
},
+ "msaAppTenantId": {
+ "type": "string",
+ "description": "Microsoft App Tenant Id for the bot"
+ },
+ "msaAppMSIResourceId": {
+ "type": "string",
+ "description": "Microsoft App Managed Identity Resource Id for the bot"
+ },
"configuredChannels": {
"type": "array",
"items": {
@@ -1609,9 +1630,21 @@
"type": "boolean",
"description": "Whether the bot is in an isolated network"
},
+ "disableLocalAuth": {
+ "type": "boolean",
+ "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication."
+ },
"schemaTransformationVersion": {
"type": "string",
"description": "The channel schema transformation version for the bot"
+ },
+ "privateEndpointConnections": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of Private Endpoint Connections configured for the bot",
+ "items": {
+ "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection"
+ }
}
},
"description": "The parameters to provide for the Bot.",
@@ -2137,6 +2170,10 @@
"type": "string",
"description": "The Slack verification token. Value only returned through POST to the action Channel List API, otherwise empty."
},
+ "scopes": {
+ "type": "string",
+ "description": "The Slack permission scopes."
+ },
"landingPageUrl": {
"type": "string",
"description": "The Slack landing page Url"
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/CreateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/CreateBot.json
index 459eed1e7555..c459dffeba3a 100644
--- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/CreateBot.json
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/CreateBot.json
@@ -28,10 +28,14 @@
"luisappid2"
],
"luisKey": "luiskey",
+ "msaAppType": "UserAssignedMSI",
"msaAppId": "exampleappid",
+ "msaAppTenantId": "exampleapptenantid",
+ "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId",
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
"isIsolated": false,
+ "disableLocalAuth": true,
"schemaTransformationVersion": "1.0"
}
}
@@ -61,7 +65,10 @@
"luisappid1",
"luisappid2"
],
+ "msaAppType": "UserAssignedMSI",
"msaAppId": "msaappid",
+ "msaAppTenantId": "msaapptenantid",
+ "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId",
"configuredChannels": [
"facebook",
"groupme"
@@ -72,6 +79,7 @@
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
"isIsolated": false,
+ "disableLocalAuth": true,
"schemaTransformationVersion": "1.0"
}
}
@@ -98,7 +106,10 @@
"luisappid1",
"luisappid2"
],
+ "msaAppType": "UserAssignedMSI",
"msaAppId": "msaappid",
+ "msaAppTenantId": "msaapptenantid",
+ "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId",
"configuredChannels": [
"facebook",
"groupme"
@@ -109,6 +120,7 @@
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
"isIsolated": false,
+ "disableLocalAuth": true,
"schemaTransformationVersion": "1.0"
}
}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetBot.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetBot.json
index 478fbb23654d..f7d816111dc9 100644
--- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetBot.json
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetBot.json
@@ -30,7 +30,10 @@
"luisappid1",
"luisappid2"
],
+ "msaAppType": "UserAssignedMSI",
"msaAppId": "msaappid",
+ "msaAppTenantId": "msaapptenantid",
+ "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId",
"configuredChannels": [
"facebook",
"groupme"
@@ -41,7 +44,24 @@
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
"isIsolated": false,
- "schemaTransformationVersion": "1.0"
+ "schemaTransformationVersion": "1.0",
+ "disableLocalAuth": true,
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/privateEndpointConnections/privatelink",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.Network/privateEndpoints/privatelink"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
}
}
}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetPrivateEndpointConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetPrivateEndpointConnection.json
index 99cfb5068631..080872d4aa88 100644
--- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetPrivateEndpointConnection.json
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetPrivateEndpointConnection.json
@@ -20,7 +20,7 @@
"privateLinkServiceConnectionState": {
"status": "Approved",
"description": "Auto-Approved",
- "actionRequired": "None"
+ "actionsRequired": "None"
}
}
}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsByResourceGroup.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsByResourceGroup.json
index 07a253f7c039..6c61eae3c818 100644
--- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsByResourceGroup.json
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsByResourceGroup.json
@@ -31,7 +31,10 @@
"luisappid1",
"luisappid2"
],
+ "msaAppType": "UserAssignedMSI",
"msaAppId": "msaappid",
+ "msaAppTenantId": "msaapptenantid",
+ "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId",
"configuredChannels": [
"facebook",
"groupme"
@@ -42,6 +45,7 @@
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
"isIsolated": false,
+ "disableLocalAuth": true,
"schemaTransformationVersion": "1.0"
}
}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsBySubscription.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsBySubscription.json
index 8988345f5d8c..af352d809295 100644
--- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsBySubscription.json
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsBySubscription.json
@@ -30,7 +30,10 @@
"luisappid1",
"luisappid2"
],
+ "msaAppType": "UserAssignedMSI",
"msaAppId": "msaappid",
+ "msaAppTenantId": "msaapptenantid",
+ "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId",
"configuredChannels": [
"facebook",
"groupme"
@@ -41,6 +44,7 @@
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
"isIsolated": false,
+ "disableLocalAuth": true,
"schemaTransformationVersion": "1.0"
}
}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListPrivateEndpointConnections.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListPrivateEndpointConnections.json
index 7408d6fa87c6..ed58760cd1e4 100644
--- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListPrivateEndpointConnections.json
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListPrivateEndpointConnections.json
@@ -21,7 +21,7 @@
"privateLinkServiceConnectionState": {
"status": "Approved",
"description": "Auto-Approved",
- "actionRequired": "None"
+ "actionsRequired": "None"
}
}
},
@@ -37,7 +37,7 @@
"privateLinkServiceConnectionState": {
"status": "Approved",
"description": "Auto-Approved",
- "actionRequired": "None"
+ "actionsRequired": "None"
}
}
}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutPrivateEndpointConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutPrivateEndpointConnection.json
index 0b79af4523d6..6c254cfbc054 100644
--- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutPrivateEndpointConnection.json
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/PutPrivateEndpointConnection.json
@@ -28,7 +28,7 @@
"privateLinkServiceConnectionState": {
"status": "Approved",
"description": "Auto-Approved",
- "actionRequired": "None"
+ "actionsRequired": "None"
}
}
}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateBot.json
index d1a7719305c9..15e4556a4308 100644
--- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateBot.json
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateBot.json
@@ -28,10 +28,14 @@
"luisappid2"
],
"luisKey": "luiskey",
+ "msaAppType": "UserAssignedMSI",
"msaAppId": "msaappid",
+ "msaAppTenantId": "msaapptenantid",
+ "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId",
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
"isIsolated": false,
+ "disableLocalAuth": true,
"schemaTransformationVersion": "1.0"
}
}
@@ -61,7 +65,10 @@
"luisappid1",
"luisappid2"
],
+ "msaAppType": "UserAssignedMSI",
"msaAppId": "msaappid",
+ "msaAppTenantId": "msaapptenantid",
+ "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId",
"configuredChannels": [
"facebook",
"groupme"
@@ -72,6 +79,7 @@
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
"isIsolated": false,
+ "disableLocalAuth": true,
"schemaTransformationVersion": "1.0"
}
}
@@ -100,7 +108,10 @@
"luisappid1",
"luisappid2"
],
+ "msaAppType": "UserAssignedMSI",
"msaAppId": "msaappid",
+ "msaAppTenantId": "msaapptenantid",
+ "msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId",
"configuredChannels": [
"facebook",
"groupme"
@@ -111,6 +122,7 @@
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
"isIsolated": false,
+ "disableLocalAuth": true,
"schemaTransformationVersion": "1.0"
}
}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/privatelinks.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/privatelinks.json
index 03d65e67e1b3..974e0dfb111d 100644
--- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/privatelinks.json
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/privatelinks.json
@@ -83,7 +83,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/botservice/resource-manager/readme.typescript.md b/specification/botservice/resource-manager/readme.typescript.md
index 82dedaee02ad..8ac0657d2852 100644
--- a/specification/botservice/resource-manager/readme.typescript.md
+++ b/specification/botservice/resource-manager/readme.typescript.md
@@ -11,7 +11,7 @@ typescript:
generate-metadata: true
```
-``` yaml $(typescript) && !$(profile)
+``` yaml $(typescript) && !$(profile-content)
typescript:
package-name: "@azure/arm-botservice"
output-folder: "$(typescript-sdks-folder)/sdk/botservice/arm-botservice"
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json
index 72bfef245f21..6dff0ae76a06 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-04-15/cdn.json
@@ -1642,7 +1642,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps": {
@@ -1717,7 +1718,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/providers/Microsoft.Cdn/checkNameAvailability": {
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdn.json
index 85e58bdd2080..768647aaadab 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdn.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdn.json
@@ -1642,7 +1642,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps": {
@@ -1717,7 +1718,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/providers/Microsoft.Cdn/checkNameAvailability": {
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 985cc15ee100..7ea810593f26 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
@@ -2110,7 +2110,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps": {
@@ -2185,7 +2186,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/providers/Microsoft.Cdn/checkNameAvailability": {
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 5b5bb55288fa..8c80108d158f 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
@@ -2110,7 +2110,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps": {
@@ -2185,7 +2186,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/providers/Microsoft.Cdn/checkNameAvailability": {
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 24ba251127d2..51fa15d2fd67 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
@@ -2110,7 +2110,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps": {
@@ -2185,7 +2186,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/providers/Microsoft.Cdn/checkNameAvailability": {
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-09-01/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-09-01/cdn.json
index 6b5dd994036b..0cc2ca2e464f 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-09-01/cdn.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-09-01/cdn.json
@@ -2110,7 +2110,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps": {
@@ -2185,7 +2186,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/providers/Microsoft.Cdn/checkNameAvailability": {
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json
index c24b52c938f2..2bb224b8f2c4 100644
--- a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json
@@ -287,9 +287,25 @@
"workspaceResourceId": {
"description": "The Azure Monitor workspace ARM Resource ID. The resource ID should be in the following format: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}",
"type": "string"
+ },
+ "includeChangeDetails": {
+ "$ref": "#/definitions/ChangeDetailsMode"
}
}
},
+ "ChangeDetailsMode": {
+ "description": "The mode of includeChangeDetails feature. The flag configures whether to include or exclude content of the change before and after values.",
+ "enum": [
+ "None",
+ "Include",
+ "Exclude"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ChangeDetailsMode",
+ "modelAsString": true
+ }
+ },
"NotificationsState": {
"description": "The state of notifications feature.",
"enum": [
@@ -376,6 +392,10 @@
},
"properties": {
"$ref": "#/definitions/ConfigurationProfileResourceProperties"
+ },
+ "location": {
+ "description": "The location where the resource is to be deployed.",
+ "type": "string"
}
}
},
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileCreate.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileCreate.json
index bd24d84d7d07..5612c00136c4 100644
--- a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileCreate.json
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileCreate.json
@@ -3,7 +3,9 @@
"subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
"profileName": "default",
"api-version": "2020-04-01-preview",
- "resource": {}
+ "resource": {
+ "location": "centralus"
+ }
},
"responses": {
"200": {
@@ -13,11 +15,13 @@
"notifications": {
"azureMonitorWorkspaceProperties": {
"workspaceId": null,
- "workspaceResourceId": null
+ "workspaceResourceId": null,
+ "includeChangeDetails": "None"
},
"activationState": "None"
}
},
+ "location": "centralus",
"id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/providers/Microsoft.ChangeAnalysis/profile/default",
"name": "default"
}
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileCreateWithIdentity.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileCreateWithIdentity.json
index 09c9f23cba8d..03ba1abda668 100644
--- a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileCreateWithIdentity.json
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileCreateWithIdentity.json
@@ -6,7 +6,8 @@
"resource": {
"identity": {
"type": "SystemAssigned"
- }
+ },
+ "location": "centralus"
}
},
"responses": {
@@ -17,7 +18,8 @@
"notifications": {
"azureMonitorWorkspaceProperties": {
"workspaceId": null,
- "workspaceResourceId": null
+ "workspaceResourceId": null,
+ "includeChangeDetails": "None"
},
"activationState": "None"
}
@@ -27,6 +29,7 @@
"tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
"type": "SystemAssigned"
},
+ "location": "centralus",
"id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/providers/Microsoft.ChangeAnalysis/profile/default",
"name": "default"
}
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileGet.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileGet.json
index 9cc400f02bac..7ea27969f73a 100644
--- a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileGet.json
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileGet.json
@@ -12,7 +12,8 @@
"notifications": {
"azureMonitorWorkspaceProperties": {
"workspaceId": null,
- "workspaceResourceId": null
+ "workspaceResourceId": null,
+ "includeChangeDetails": "None"
},
"activationState": "None"
}
@@ -22,6 +23,7 @@
"tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
"type": "SystemAssigned"
},
+ "location": "centralus",
"id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/providers/Microsoft.ChangeAnalysis/profile/default",
"name": "default"
}
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileUpdate.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileUpdate.json
index 000c465f20ca..11aaa3c894b7 100644
--- a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileUpdate.json
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileUpdate.json
@@ -8,11 +8,13 @@
"notifications": {
"azureMonitorWorkspaceProperties": {
"workspaceId": "workspaceIdValue",
- "workspaceResourceId": "workspace resource Id"
+ "workspaceResourceId": "workspace resource Id",
+ "includeChangeDetails": "None"
},
"activationState": "Enabled"
}
- }
+ },
+ "location": "centralus"
}
},
"responses": {
@@ -23,12 +25,14 @@
"notifications": {
"azureMonitorWorkspaceProperties": {
"workspaceId": "workspaceIdValue",
- "workspaceResourceId": "workspace resource Id"
+ "workspaceResourceId": "workspace resource Id",
+ "includeChangeDetails": "None"
},
"activationState": "Enabled"
}
}
},
+ "location": "centralus",
"id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/providers/Microsoft.ChangeAnalysis/profile/default",
"name": "default"
}
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileUpdateWithIdentity.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileUpdateWithIdentity.json
index 3b06d6733ce9..fe1beb80587e 100644
--- a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileUpdateWithIdentity.json
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/examples/ConfigurationProfileUpdateWithIdentity.json
@@ -15,7 +15,8 @@
},
"identity": {
"type": "SystemAssigned"
- }
+ },
+ "location": "centralus"
}
},
"responses": {
@@ -26,7 +27,8 @@
"notifications": {
"azureMonitorWorkspaceProperties": {
"workspaceId": "workspaceIdValue",
- "workspaceResourceId": "workspace resource Id"
+ "workspaceResourceId": "workspace resource Id",
+ "includeChangeDetails": "None"
},
"activationState": "Enabled"
}
@@ -36,6 +38,7 @@
"tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
"type": "SystemAssigned"
},
+ "location": "centralus",
"id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/providers/Microsoft.ChangeAnalysis/profile/default",
"name": "default"
}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/readme.md b/specification/cognitiveservices/data-plane/ComputerVision/readme.md
index 2611a60db70e..f21a6095beb1 100644
--- a/specification/cognitiveservices/data-plane/ComputerVision/readme.md
+++ b/specification/cognitiveservices/data-plane/ComputerVision/readme.md
@@ -125,6 +125,7 @@ directive:
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.
+May need to supply `--version=V2` on the command line.
``` yaml $(python)
python-mode: create
@@ -133,11 +134,13 @@ add-credentials: true
payload-flattening-threshold: 2
namespace: azure.cognitiveservices.vision.computervision
package-name: azure-cognitiveservices-vision-computervision
+package-version: 0.9.0
clear-output-folder: true
use: "@microsoft.azure/autorest.python@~4.0.71"
version: V2
multiapi: true
no-async: true
+client-side-validation: false
directive:
from: source-file-python
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/Face.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/Face.json
index e7cef17c8c3f..d38d30cd08d9 100644
--- a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/Face.json
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/Face.json
@@ -2492,7 +2492,7 @@
"200": {
"description": "A successful call returns the operation's status.",
"schema": {
- "$ref": "#/definitions/AsyncStatus"
+ "$ref": "#/definitions/OperationStatus"
}
},
"default": {
@@ -2582,6 +2582,12 @@
"responses": {
"202": {
"description": "Success",
+ "headers": {
+ "Operation-Location": {
+ "description": "Operation location with an operation id used to track the progress of person creation.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/PersonCreationResponse"
}
@@ -2665,7 +2671,13 @@
],
"responses": {
"202": {
- "description": "Success"
+ "description": "Success",
+ "headers": {
+ "Operation-Location": {
+ "description": "Operation location with an operation id used to track the progress of person creation.",
+ "type": "string"
+ }
+ }
},
"default": {
"description": "Response entity accompanying non-successful responses containing additional details about the error.",
@@ -2766,6 +2778,12 @@
"responses": {
"202": {
"description": "Success",
+ "headers": {
+ "Operation-Location": {
+ "description": "Operation location with an operation id used to track the progress of person creation.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/EnrollmentPrintResponse"
}
@@ -2864,7 +2882,13 @@
],
"responses": {
"202": {
- "description": "Success"
+ "description": "Success",
+ "headers": {
+ "Operation-Location": {
+ "description": "Operation location with an operation id used to track the progress of person creation.",
+ "type": "string"
+ }
+ }
},
"default": {
"description": "Response entity accompanying non-successful responses containing additional details about the error.",
@@ -3029,7 +3053,13 @@
"description": "Success"
},
"202": {
- "description": "Success"
+ "description": "Success",
+ "headers": {
+ "Operation-Location": {
+ "description": "Operation location with an operation id used to track the progress of person creation.",
+ "type": "string"
+ }
+ }
},
"default": {
"description": "Response entity accompanying non-successful responses containing additional details about the error.",
@@ -3076,7 +3106,13 @@
],
"responses": {
"202": {
- "description": "Success"
+ "description": "Success",
+ "headers": {
+ "Operation-Location": {
+ "description": "Operation location with an operation id used to track the progress of person creation.",
+ "type": "string"
+ }
+ }
},
"default": {
"description": "Response entity accompanying non-successful responses containing additional details about the error.",
@@ -3149,7 +3185,13 @@
],
"responses": {
"202": {
- "description": "Success"
+ "description": "Success",
+ "headers": {
+ "Operation-Location": {
+ "description": "Operation location with an operation id used to track the progress of person creation.",
+ "type": "string"
+ }
+ }
},
"default": {
"description": "Response entity accompanying non-successful responses containing additional details about the error.",
@@ -3670,6 +3712,12 @@
"responses": {
"202": {
"description": "Success",
+ "headers": {
+ "Operation-Location": {
+ "description": "Operation location with an operation id used to track the progress of person creation.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/EnrollmentPrintResponse"
}
@@ -4813,6 +4861,26 @@
"minimum": 0,
"maximum": 1
},
+ "NameAndUserDataContractForCreation": {
+ "type": "object",
+ "description": "A combination of user defined name and user specified data for the person, largePersonGroup/personGroup, and largeFaceList/faceList.",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "User defined name, maximum length is 128.",
+ "maxLength": 128,
+ "minLength": 1
+ },
+ "userData": {
+ "type": "string",
+ "description": "User specified data. Length should not exceed 16KB.",
+ "maxLength": 16384
+ }
+ }
+ },
"NameAndUserDataContract": {
"type": "object",
"description": "A combination of user defined name and user specified data for the person, largePersonGroup/personGroup, and largeFaceList/faceList.",
@@ -4839,7 +4907,7 @@
},
"allOf": [
{
- "$ref": "#/definitions/NameAndUserDataContract"
+ "$ref": "#/definitions/NameAndUserDataContractForCreation"
}
]
},
@@ -5014,48 +5082,6 @@
}
}
},
- "OperationStatus": {
- "type": "object",
- "required": [
- "status",
- "createdTime"
- ],
- "description": "Operation status object. Operation refers to the asynchronous backend task including taking a snapshot and applying a snapshot.",
- "properties": {
- "status": {
- "type": "string",
- "description": "Operation status: notstarted, running, succeeded, failed. If the operation is requested and waiting to perform, the status is notstarted. If the operation is ongoing in backend, the status is running. Status succeeded means the operation is completed successfully, specifically for snapshot taking operation, it illustrates the snapshot is well taken and ready to apply, and for snapshot applying operation, it presents the target object has finished creating by the snapshot and ready to be used. Status failed is often caused by editing the source object while taking the snapshot or editing the target object while applying the snapshot before completion, see the field \"message\" to check the failure reason.",
- "x-ms-enum": {
- "name": "OperationStatusType",
- "modelAsString": false
- },
- "enum": [
- "notstarted",
- "running",
- "succeeded",
- "failed"
- ]
- },
- "createdTime": {
- "type": "string",
- "format": "date-time",
- "description": "A combined UTC date and time string that describes the time when the operation (take or apply a snapshot) is requested. E.g. 2018-12-25T11:41:02.2331413Z."
- },
- "lastActionTime": {
- "type": "string",
- "format": "date-time",
- "description": "A combined UTC date and time string that describes the last time the operation (take or apply a snapshot) is actively migrating data. The lastActionTime will keep increasing until the operation finishes. E.g. 2018-12-25T11:51:27.8705696Z."
- },
- "resourceLocation": {
- "type": "string",
- "description": "When the operation succeeds successfully, for snapshot taking operation the snapshot id will be included in this field, and for snapshot applying operation, the path to get the target object will be returned in this field."
- },
- "message": {
- "type": "string",
- "description": "Show failure message when operation fails (omitted when operation succeeds)."
- }
- }
- },
"PersistedFaceResponse": {
"type": "object",
"properties": {
@@ -5075,31 +5101,46 @@
"succeeded",
"failed"
],
- "type": "string"
+ "type": "string",
+ "description": "Operation status: notstarted, running, succeeded, failed. If the operation is requested and waiting to perform, the status is notstarted. If the operation is ongoing in backend, the status is running. Status succeeded means the operation is completed successfully, specifically for snapshot taking operation, it illustrates the snapshot is well taken and ready to apply, and for snapshot applying operation, it presents the target object has finished creating by the snapshot and ready to be used. Status failed is often caused by editing the source object while taking the snapshot or editing the target object while applying the snapshot before completion, see the field \"message\" to check the failure reason.",
+ "x-ms-enum": {
+ "name": "OperationStatusType",
+ "modelAsString": false
+ }
},
- "AsyncStatus": {
+ "OperationStatus": {
"type": "object",
+ "required": [
+ "status",
+ "createdTime"
+ ],
+ "description": "Operation status object. Operation refers to an asynchronous backend task.",
"properties": {
"status": {
"$ref": "#/definitions/AsyncOperationStatus"
},
"createdTime": {
"format": "date-time",
- "type": "string"
+ "type": "string",
+ "description": "A combined UTC date and time string that describes the time when the operation is requested. E.g. 2018-12-25T11:41:02.2331413Z."
},
"lastActionTime": {
"format": "date-time",
- "type": "string"
+ "type": "string",
+ "description": "A combined UTC date and time string that describes the last time the operation is actively running. The lastActionTime will keep increasing until the operation finishes. E.g. 2018-12-25T11:51:27.8705696Z."
},
"finishedTime": {
"format": "date-time",
- "type": "string"
+ "type": "string",
+ "description": "A combined UTC date and time string that describes the time when the operation finished. E.g. 2018-12-25T11:41:02.2331413Z."
},
"resourceLocation": {
- "type": "string"
+ "type": "string",
+ "description": "When the operation succeeds successfully, for snapshot taking operation the snapshot id will be included in this field, and for snapshot applying operation, the path to get the target object will be returned in this field."
},
"message": {
- "type": "string"
+ "type": "string",
+ "description": "Show failure message when operation fails (omitted when operation succeeds)."
}
}
},
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonDirectoryPersonFaceFromStream.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonDirectoryPersonFaceFromStream.json
index a0472d1b8c6c..1ad4270ba1b0 100644
--- a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonDirectoryPersonFaceFromStream.json
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonDirectoryPersonFaceFromStream.json
@@ -12,6 +12,9 @@
},
"responses": {
"202": {
+ "header": {
+ "Operation-Location": "/operations/a63a3bdd-a1db-4d05-87b8-dbad6850062a"
+ },
"body": {
"persistedFaceId": "6e04c175-219e-42a2-9d26-0e7b790e1ef4",
"recognitionModel": null,
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonDirectoryPersonFaceFromUrl.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonDirectoryPersonFaceFromUrl.json
index 67cfe0b4669b..6e8510fd9ac5 100644
--- a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonDirectoryPersonFaceFromUrl.json
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/AddPersonDirectoryPersonFaceFromUrl.json
@@ -14,6 +14,9 @@
},
"responses": {
"202": {
+ "header": {
+ "Operation-Location": "/operations/a63a3bdd-a1db-4d05-87b8-dbad6850062a"
+ },
"body": {
"persistedFaceId": "6e04c175-219e-42a2-9d26-0e7b790e1ef4",
"recognitionModel": null,
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewDynamicPersonGroup.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewDynamicPersonGroup.json
index 6b55410a2911..aaa952d485de 100644
--- a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewDynamicPersonGroup.json
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewDynamicPersonGroup.json
@@ -11,6 +11,10 @@
},
"responses": {
"200": {},
- "202": {}
+ "202": {
+ "header": {
+ "Operation-Location": "/operations/a63a3bdd-a1db-4d05-87b8-dbad6850062a"
+ }
+ }
}
}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewPersonDirectoryPerson.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewPersonDirectoryPerson.json
index 712996b5f693..a20321319d26 100644
--- a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewPersonDirectoryPerson.json
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/CreateNewPersonDirectoryPerson.json
@@ -10,6 +10,9 @@
},
"responses": {
"202": {
+ "header": {
+ "Operation-Location": "/operations/a63a3bdd-a1db-4d05-87b8-dbad6850062a"
+ },
"body": {
"personId": "4caa25ee-3bc6-4e88-adf8-12455ce7aab0"
}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteDynamicPersonGroup.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteDynamicPersonGroup.json
index bd318036ed6d..fcbdb738c691 100644
--- a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteDynamicPersonGroup.json
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeleteDynamicPersonGroup.json
@@ -6,6 +6,10 @@
"dynamicPersonGroupId": "abc"
},
"responses": {
- "202": {}
+ "202": {
+ "header": {
+ "Operation-Location": "/operations/a63a3bdd-a1db-4d05-87b8-dbad6850062a"
+ }
+ }
}
}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonDirectoryPerson.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonDirectoryPerson.json
index a2f224a8c305..bbb4bde7653b 100644
--- a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonDirectoryPerson.json
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonDirectoryPerson.json
@@ -6,6 +6,10 @@
"personId": "25985303-c537-4467-b41d-bdb45cd95ca1"
},
"responses": {
- "202": {}
+ "202": {
+ "header": {
+ "Operation-Location": "/operations/a63a3bdd-a1db-4d05-87b8-dbad6850062a"
+ }
+ }
}
}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonDirectoryPersonFace.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonDirectoryPersonFace.json
index 626c7b5e3503..687c94122726 100644
--- a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonDirectoryPersonFace.json
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/DeletePersonDirectoryPersonFace.json
@@ -8,6 +8,10 @@
"persistedFaceId": "62004fa7-1ac0-478e-9d5a-b38f9e7fbc68"
},
"responses": {
- "202": {}
+ "202": {
+ "header": {
+ "Operation-Location": "/operations/a63a3bdd-a1db-4d05-87b8-dbad6850062a"
+ }
+ }
}
}
diff --git a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateDynamicPersonGroup.json b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateDynamicPersonGroup.json
index c76dd3808c39..6fec5b4772bc 100644
--- a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateDynamicPersonGroup.json
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/examples/UpdateDynamicPersonGroup.json
@@ -17,6 +17,10 @@
}
},
"responses": {
- "202": {}
+ "202": {
+ "header": {
+ "Operation-Location": "/operations/a63a3bdd-a1db-4d05-87b8-dbad6850062a"
+ }
+ }
}
}
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 33604243db34..a0d5e7d06a50 100644
--- a/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json
+++ b/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json
@@ -3922,6 +3922,26 @@
"minimum": 0,
"maximum": 1
},
+ "NonNullableNameAndNullableUserDataContract": {
+ "type": "object",
+ "description": "A combination of user defined name and user specified data for the person, largePersonGroup/personGroup, and largeFaceList/faceList.",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "User defined name, maximum length is 128.",
+ "maxLength": 128,
+ "minLength": 1
+ },
+ "userData": {
+ "type": "string",
+ "description": "User specified data. Length should not exceed 16KB.",
+ "maxLength": 16384
+ }
+ }
+ },
"NameAndUserDataContract": {
"type": "object",
"description": "A combination of user defined name and user specified data for the person, largePersonGroup/personGroup, and largeFaceList/faceList.",
@@ -3948,7 +3968,7 @@
},
"allOf": [
{
- "$ref": "#/definitions/NameAndUserDataContract"
+ "$ref": "#/definitions/NonNullableNameAndNullableUserDataContract"
}
]
},
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/MetricsAdvisor.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/MetricsAdvisor.json
index bc483ec8f4a8..0d5db509f29c 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/MetricsAdvisor.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/MetricsAdvisor.json
@@ -1284,7 +1284,6 @@
"Daily",
"Hourly",
"Minutely",
- "Secondly",
"Custom"
],
"x-ms-enum": {
@@ -4116,9 +4115,6 @@
}
},
"AzureSQLConnectionStringParam": {
- "required": [
- "connectionString"
- ],
"type": "object",
"properties": {
"connectionString": {
@@ -4193,9 +4189,6 @@
"x-ms-discriminator-value": "AzureSQLConnectionString"
},
"DataLakeGen2SharedKeyParam": {
- "required": [
- "accountKey"
- ],
"type": "object",
"properties": {
"accountKey": {
@@ -4224,7 +4217,6 @@
"ServicePrincipalParam": {
"required": [
"clientId",
- "clientSecret",
"tenantId"
],
"type": "object",
@@ -4263,7 +4255,6 @@
"ServicePrincipalInKVParam": {
"required": [
"keyVaultClientId",
- "keyVaultClientSecret",
"keyVaultEndpoint",
"servicePrincipalIdNameInKV",
"servicePrincipalSecretNameInKV",
@@ -4611,7 +4602,6 @@
"Daily",
"Hourly",
"Minutely",
- "Secondly",
"Custom"
],
"type": "string",
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/Personalizer.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/Personalizer.json
index ef0bf3bcda8a..533090317e6a 100644
--- a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/Personalizer.json
+++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/Personalizer.json
@@ -1,11 +1,10 @@
{
"swagger": "2.0",
"info": {
- "title": "Personalizer Client v1.1-preview.1",
+ "title": "Personalizer Base",
"description": "Personalizer Service is an Azure Cognitive Service that makes it easy to target content and experiences without complex pre-analysis or cleanup of past data. Given a context and featurized content, the Personalizer Service returns which content item to show to users in rewardActionId. As rewards are sent in response to the use of rewardActionId, the reinforcement learning algorithm will improve the model and improve performance of future rank calls.",
"version": "v1.1-preview.1"
},
- "host": "localhost:5001",
"basePath": "/personalizer/v1.1-preview.1",
"schemes": [
"https"
@@ -181,7 +180,7 @@
"ConfigurationsV1Dot1Preview1"
],
"summary": "Apply Learning Settings and model from a pre-existing Offline Evaluation, making them the current online Learning Settings and model and replacing the previous ones.",
- "operationId": "Evaluation_Apply",
+ "operationId": "ServiceConfiguration_ApplyFromEvaluation",
"consumes": [
"application/json"
],
@@ -210,8 +209,8 @@
}
},
"x-ms-examples": {
- "Successful Evaluation_Apply request": {
- "$ref": "./examples/Evaluation_Apply.json"
+ "Successful ServiceConfiguration_ApplyFromEvaluation request": {
+ "$ref": "./examples/ServiceConfiguration_ApplyFromEvaluation.json"
}
}
}
@@ -770,73 +769,6 @@
}
},
"definitions": {
- "ApprenticeLearningMetrics": {
- "required": [
- "numberOfEvents",
- "numberOfImitatedEvents",
- "sumOfImitatedRewards",
- "sumOfRewards"
- ],
- "type": "object",
- "properties": {
- "numberOfEvents": {
- "format": "int64",
- "type": "integer"
- },
- "sumOfRewards": {
- "format": "float",
- "type": "number"
- },
- "numberOfImitatedEvents": {
- "format": "int64",
- "type": "integer"
- },
- "sumOfImitatedRewards": {
- "format": "float",
- "type": "number"
- }
- }
- },
- "ApprenticeModeMetrics": {
- "required": [
- "lastProcessedEventTime",
- "numberOfEvents",
- "numberOfImitatedEvents",
- "startTime",
- "sumOfImitatedRewards",
- "sumOfRewards"
- ],
- "type": "object",
- "properties": {
- "startTime": {
- "format": "date-time",
- "type": "string"
- },
- "lastProcessedEventTime": {
- "format": "date-time",
- "type": "string"
- },
- "lastBatchMetrics": {
- "$ref": "#/definitions/ApprenticeLearningMetrics"
- },
- "numberOfEvents": {
- "format": "int64",
- "type": "integer"
- },
- "sumOfRewards": {
- "format": "float",
- "type": "number"
- },
- "numberOfImitatedEvents": {
- "format": "int64",
- "type": "integer"
- },
- "sumOfImitatedRewards": {
- "format": "float",
- "type": "number"
- }
- }
- },
"ServiceConfiguration": {
"description": "The configuration of the service.",
"required": [
@@ -911,9 +843,6 @@
"modelAsString": true
}
},
- "latestApprenticeModeMetrics": {
- "$ref": "#/definitions/ApprenticeModeMetrics"
- },
"isAutoOptimizationEnabled": {
"description": "Flag indicating whether Personalizer will automatically optimize Learning Settings by running Offline Evaluations periodically.",
"type": "boolean"
@@ -1308,6 +1237,8 @@
"readOnly": true
},
"totalSummary": {
+ "description": "The aggregate total of the Offline Evaluation.",
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/PolicyResultSummary"
@@ -1318,7 +1249,7 @@
}
},
"Evaluation": {
- "description": "A counterfactual evaluation.",
+ "description": "A Counterfactual Evaluation.",
"type": "object",
"properties": {
"id": {
@@ -1376,6 +1307,7 @@
}
},
"featureImportance": {
+ "description": "Feature Importance.",
"type": "array",
"items": {
"type": "array",
@@ -1385,6 +1317,7 @@
}
},
"evaluationType": {
+ "description": "Evaluation type (manual or through Automatic Optimization).",
"enum": [
"Manual",
"Auto"
@@ -1396,9 +1329,11 @@
}
},
"optimalPolicy": {
+ "description": "Thr optimal policy.",
"type": "string"
},
"creationTime": {
+ "description": "Creation time.",
"format": "date-time",
"type": "string"
}
@@ -1479,6 +1414,8 @@
"type": "object",
"properties": {
"dateRange": {
+ "description": "Date range.",
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DateRange"
@@ -1534,6 +1471,7 @@
"type": "object",
"properties": {
"reward": {
+ "description": "List of SlotRewards",
"type": "array",
"items": {
"$ref": "#/definitions/SlotReward"
@@ -1785,18 +1723,6 @@
"x-ms-skip-url-encoding": true
}
},
- "securityDefinitions": {
- "apim_key": {
- "type": "apiKey",
- "name": "Ocp-Apim-Subscription-Key",
- "in": "header"
- }
- },
- "security": [
- {
- "apim_key": []
- }
- ],
"tags": [
{
"name": "ConfigurationsV1Dot1Preview1",
diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Evaluation_Apply.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/ServiceConfiguration_ApplyFromEvaluation.json
similarity index 100%
rename from specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/Evaluation_Apply.json
rename to specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.1/examples/ServiceConfiguration_ApplyFromEvaluation.json
diff --git a/specification/cognitiveservices/data-plane/Personalizer/readme.md b/specification/cognitiveservices/data-plane/Personalizer/readme.md
index 612669f6ca1b..326e97aec360 100644
--- a/specification/cognitiveservices/data-plane/Personalizer/readme.md
+++ b/specification/cognitiveservices/data-plane/Personalizer/readme.md
@@ -4,10 +4,10 @@
> see https://aka.ms/autorest
-The current release is `release_1_0`. A preview release release_1_0 is also available
+The current release is `release_1_0`. A preview release release_1_1_preview.1 is also available
``` yaml
-tag: release_1_0
+tag: release_1_1_preview.1
add-credentials: true
openapi-type: data-plane
```
@@ -28,7 +28,7 @@ input-file:
- preview/v1.0/Personalizer.json
```
-### Release 1.0-Preview
+### Release 1.1-Preview
These settings apply only when `--tag=release_1_1_preview.1` is specified on the command line.
``` yaml $(tag) == 'release_1_1_preview.1'
diff --git a/specification/cognitiveservices/data-plane/Personalizer/readme.python.md b/specification/cognitiveservices/data-plane/Personalizer/readme.python.md
index 24c65deccf6b..d76948d9823c 100644
--- a/specification/cognitiveservices/data-plane/Personalizer/readme.python.md
+++ b/specification/cognitiveservices/data-plane/Personalizer/readme.python.md
@@ -3,24 +3,27 @@
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.
+When used on the command line, you may need to specify `--verison=V2`.
``` yaml $(python)
-python-mode: create
-python:
- license-header: MICROSOFT_MIT_NO_VERSION
- add-credentials: true
- payload-flattening-threshold: 2
- namespace: azure.cognitiveservices.personalizer
- package-name: azure-cognitiveservices-personalizer
- clear-output-folder: true
+package-version: 0.2.0
+license-header: MICROSOFT_MIT_NO_VERSION
+add-credentials: true
+payload-flattening-threshold: 2
+namespace: azure.cognitiveservices.personalizer
+package-name: azure-cognitiveservices-personalizer
+use: "@microsoft.azure/autorest.python@~4.0.71"
+version: V2
+multiapi: true
+no-async: true
```
``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-personalizer/azure/cognitiveservices/personalizer
+no-namespace-folders: true
+clear-output-folder: false
+output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-personalizer/azure/cognitiveservices/personalizer
```
``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-personalizer
+basic-setup-py: true
+clear-output-folder: true
+output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-personalizer
```
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/TextAnalytics.json
new file mode 100644
index 000000000000..0b6cf21ddf91
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/TextAnalytics.json
@@ -0,0 +1,3123 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "v3.2-preview.1",
+ "contact": {
+ "name": "Microsoft Cognitive Services",
+ "url": "https://azure.microsoft.com/en-us/services/cognitive-services/text-analytics/",
+ "email": "mlapi@microsoft.com"
+ },
+ "title": "Text Analytics Client",
+ "description": "The Text Analytics API is a suite of natural language processing (NLP) services built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction and language detection. Functionality for analysis of text specific to the healthcare domain and personal information are also available in the API. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview"
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/text/analytics/{ApiVersion}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ]
+ },
+ "paths": {
+ "/analyze": {
+ "post": {
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "description": "Submit a collection of text documents for analysis. Specify one or more unique tasks to be executed.",
+ "operationId": "Analyze",
+ "summary": "Submit analysis job",
+ "parameters": [
+ {
+ "description": "Collection of documents to analyze and tasks to execute.",
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeBatchInput"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Submit analysis job request": {
+ "$ref": ".//examples//SuccessfulAnalyzeRequest.json"
+ }
+ },
+ "deprecated": false,
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/analyze/jobs/{jobId}": {
+ "get": {
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "description": "Get the status of an analysis job. A job may consist of one or more tasks. Once all tasks are completed, the job will transition to the completed state and results will be available for each task.",
+ "operationId": "AnalyzeStatus",
+ "summary": "Get analysis status and results",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AnalyzeJobId"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "default": 20,
+ "description": "(Optional) Set the maximum number of results per task. When both $top and $skip are specified, $skip is applied first.",
+ "in": "query",
+ "maximum": 50,
+ "minimum": 1,
+ "name": "$top",
+ "type": "integer"
+ },
+ {
+ "default": 0,
+ "description": "(Optional) Set the number of elements to offset in the response. When both $top and $skip are specified, $skip is applied first.",
+ "in": "query",
+ "minimum": 0,
+ "name": "$skip",
+ "type": "integer"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Analysis job status and metadata.",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeJobState"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Analysis job status request": {
+ "$ref": ".//examples//SuccessfulAnalyzeStatusRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/entities/health/jobs/{jobId}": {
+ "get": {
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "description": "Get details of the healthcare prediction job specified by the jobId.",
+ "operationId": "HealthStatus",
+ "summary": "Get healthcare analysis job status and results",
+ "parameters": [
+ {
+ "$ref": "#/parameters/JobId"
+ },
+ {
+ "default": 20,
+ "description": "(Optional) Set the maximum number of results per task. When both $top and $skip are specified, $skip is applied first.",
+ "in": "query",
+ "maximum": 50,
+ "minimum": 1,
+ "name": "$top",
+ "type": "integer"
+ },
+ {
+ "default": 0,
+ "description": "(Optional) Set the number of elements to offset in the response. When both $top and $skip are specified, $skip is applied first.",
+ "in": "query",
+ "minimum": 0,
+ "name": "$skip",
+ "type": "integer"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HealthcareJobState"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Health request": {
+ "$ref": ".//examples//SuccessfulHealthStatusRequest.json"
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "description": "Cancel healthcare prediction job.",
+ "operationId": "CancelHealthJob",
+ "summary": "Cancel healthcare prediction job",
+ "parameters": [
+ {
+ "$ref": "#/parameters/JobId"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Cancel Job request has been received.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Health request": {
+ "$ref": ".//examples//SuccessfulHealthDeleteRequest.json"
+ }
+ },
+ "deprecated": false,
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/entities/health/jobs": {
+ "post": {
+ "summary": "Submit healthcare analysis job",
+ "description": "Start a healthcare analysis job to recognize healthcare related entities (drugs, conditions, symptoms, etc) and their relations.",
+ "operationId": "Health",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted - call results in a link where the status of the submitted job can be checked via the GET operation.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Health request": {
+ "$ref": ".//examples//SuccessfulHealthRequest.json"
+ }
+ },
+ "deprecated": false,
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/entities/recognition/general": {
+ "post": {
+ "summary": "Named Entity Recognition",
+ "description": "The API returns a list of general named entities in a given document. For the list of supported entity types, check Supported Entity Types in Text Analytics API. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "EntitiesRecognitionGeneral",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of recognized entities returned for each valid document.",
+ "schema": {
+ "$ref": "#/definitions/EntitiesResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "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"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "name": "domain",
+ "in": "query",
+ "description": "(Optional) if specified, will set the PII domain to include only a subset of the entity categories. Possible values include: 'PHI', 'none'.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/PiiCategories"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of entities containing personal information returned for each valid document",
+ "schema": {
+ "$ref": "#/definitions/PiiResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "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/LoggingOptOut"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "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": "Unexpected error",
+ "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/LoggingOptOut"
+ },
+ {
+ "$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": "Unexpected error",
+ "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/LoggingOptOut"
+ },
+ {
+ "$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": "Unexpected error",
+ "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 (targets and assessments).",
+ "operationId": "Sentiment",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "name": "opinionMining",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain not only sentiment prediction but also opinion mining (aspect-based sentiment analysis) results.",
+ "type": "boolean"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "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": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Sentiment request": {
+ "$ref": ".//examples//SuccessfulSentimentRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ }
+ },
+ "definitions": {
+ "JobManifest": {
+ "properties": {
+ "tasks": {
+ "description": "The set of tasks to execute on the input documents. Cannot specify the same task more than once.",
+ "properties": {
+ "entityRecognitionTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntitiesTask"
+ }
+ },
+ "entityRecognitionPiiTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PiiTask"
+ }
+ },
+ "keyPhraseExtractionTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyPhrasesTask"
+ }
+ },
+ "entityLinkingTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityLinkingTask"
+ }
+ },
+ "sentimentAnalysisTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SentimentAnalysisTask"
+ }
+ },
+ "extractiveSummarizationTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExtractiveSummarizationTask"
+ }
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "tasks"
+ ],
+ "type": "object"
+ },
+ "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",
+ "NotFound"
+ ],
+ "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."
+ }
+ }
+ },
+ "ExtractiveSummarizationTask": {
+ "type": "object",
+ "properties": {
+ "parameters": {
+ "type": "object",
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ },
+ "sentenceCount": {
+ "default": 3,
+ "type": "integer"
+ },
+ "sortBy": {
+ "default": "Offset",
+ "enum": [
+ "Offset",
+ "Rank"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ "taskName": {
+ "type": "string"
+ }
+ }
+ },
+ "PiiTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "domain": {
+ "default": "none",
+ "enum": [
+ "phi",
+ "none"
+ ],
+ "type": "string"
+ },
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": true,
+ "type": "boolean"
+ },
+ "piiCategories": {
+ "$ref": "#/definitions/PiiCategories"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EntitiesTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SentimentAnalysisTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ },
+ "opinionMining": {
+ "default": false,
+ "type": "boolean"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "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."
+ }
+ }
+ },
+ "AnalyzeBatchInput": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDescriptor"
+ },
+ {
+ "$ref": "#/definitions/AnalysisInput"
+ },
+ {
+ "$ref": "#/definitions/JobManifest"
+ }
+ ]
+ },
+ "AnalyzeJobState": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AnalyzeJobMetadata"
+ },
+ {
+ "$ref": "#/definitions/TasksState"
+ },
+ {
+ "$ref": "#/definitions/AnalyzeJobErrorsAndStatistics"
+ },
+ {
+ "$ref": "#/definitions/Pagination"
+ }
+ ]
+ },
+ "ExtractiveSummarizationResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/ExtractedDocumentSummary"
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "ExtractedDocumentSummary": {
+ "type": "object",
+ "required": [
+ "id",
+ "sentences",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "sentences": {
+ "type": "array",
+ "description": "A ranked list of sentences representing the extracted summary.",
+ "items": {
+ "$ref": "#/definitions/ExtractedSummarySentence"
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "ExtractedSummarySentence": {
+ "type": "object",
+ "required": [
+ "text",
+ "rankScore",
+ "offset",
+ "length"
+ ],
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "The extracted sentence text."
+ },
+ "rankScore": {
+ "type": "number",
+ "format": "double",
+ "description": "A double value representing the relevance of the sentence within the summary. Higher values indicate higher importance."
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The sentence offset from the start of the document, based on the value of the parameter StringIndexType."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the sentence."
+ }
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "TaskState": {
+ "properties": {
+ "lastUpdateDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "taskName": {
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "notStarted",
+ "running",
+ "succeeded",
+ "failed",
+ "rejected",
+ "cancelled",
+ "cancelling"
+ ],
+ "x-ms-enum": {
+ "modelAsString": false,
+ "name": "State"
+ }
+ }
+ },
+ "required": [
+ "status",
+ "lastUpdateDateTime",
+ "taskName"
+ ],
+ "type": "object"
+ },
+ "TasksState": {
+ "properties": {
+ "tasks": {
+ "properties": {
+ "completed": {
+ "type": "integer"
+ },
+ "failed": {
+ "type": "integer"
+ },
+ "inProgress": {
+ "type": "integer"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "entityRecognitionTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/EntitiesTaskResult"
+ }
+ ]
+ }
+ },
+ "entityRecognitionPiiTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/PiiTaskResult"
+ }
+ ]
+ }
+ },
+ "keyPhraseExtractionTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/KeyPhraseTaskResult"
+ }
+ ]
+ }
+ },
+ "entityLinkingTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/EntityLinkingTaskResult"
+ }
+ ]
+ }
+ },
+ "sentimentAnalysisTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/SentimentTaskResult"
+ }
+ ]
+ }
+ },
+ "extractiveSummarizationTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/ExtractiveSummarizationTaskResult"
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "total",
+ "completed",
+ "failed",
+ "inProgress"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "tasks"
+ ],
+ "type": "object"
+ },
+ "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."
+ },
+ "targets": {
+ "type": "array",
+ "description": "The array of sentence targets for the sentence.",
+ "items": {
+ "$ref": "#/definitions/SentenceTarget"
+ }
+ },
+ "assessments": {
+ "type": "array",
+ "description": "The array of assessments for the sentence.",
+ "items": {
+ "$ref": "#/definitions/SentenceAssessment"
+ }
+ }
+ }
+ },
+ "SentenceTarget": {
+ "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": "Targeted sentiment in the sentence."
+ },
+ "confidenceScores": {
+ "description": "Target sentiment confidence scores for the target in the sentence.",
+ "$ref": "#/definitions/TargetConfidenceScoreLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The target offset from the start of the sentence."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the target."
+ },
+ "text": {
+ "type": "string",
+ "description": "The target text detected."
+ },
+ "relations": {
+ "type": "array",
+ "description": "The array of either assessment or target objects which is related to the target.",
+ "items": {
+ "$ref": "#/definitions/TargetRelation"
+ }
+ }
+ }
+ },
+ "SentenceAssessment": {
+ "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": "Assessment sentiment in the sentence."
+ },
+ "confidenceScores": {
+ "description": "Assessment sentiment confidence scores in the sentence.",
+ "$ref": "#/definitions/TargetConfidenceScoreLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The assessment offset from the start of the sentence."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the assessment."
+ },
+ "text": {
+ "type": "string",
+ "description": "The assessment text detected."
+ },
+ "isNegated": {
+ "type": "boolean",
+ "description": "The indicator representing if the assessment is negated."
+ }
+ }
+ },
+ "TargetRelation": {
+ "type": "object",
+ "required": [
+ "ref",
+ "relationType"
+ ],
+ "properties": {
+ "relationType": {
+ "type": "string",
+ "enum": [
+ "assessment",
+ "target"
+ ],
+ "x-ms-enum": {
+ "name": "TargetRelationType",
+ "modelAsString": false
+ },
+ "description": "The type related to the target."
+ },
+ "ref": {
+ "type": "string",
+ "description": "The JSON pointer indicating the linked object."
+ }
+ }
+ },
+ "TargetConfidenceScoreLabel": {
+ "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."
+ }
+ }
+ },
+ "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",
+ "redactedText",
+ "entities",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "redactedText": {
+ "type": "string",
+ "description": "Returns redacted text."
+ },
+ "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"
+ }
+ }
+ },
+ "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."
+ },
+ "subcategory": {
+ "type": "string",
+ "description": "(Optional) Entity sub type."
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start position for the entity text. Use of different 'stringIndexType' values can affect the offset returned."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Length for the entity text. Use of different 'stringIndexType' values can affect the length returned."
+ },
+ "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"
+ }
+ }
+ },
+ "HealthcareJobState": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobMetadata"
+ },
+ {
+ "$ref": "#/definitions/HealthcareTaskResult"
+ },
+ {
+ "$ref": "#/definitions/Pagination"
+ }
+ ]
+ },
+ "HealthcareResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentHealthcareEntities"
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "DocumentHealthcareEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "entities",
+ "relations",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "entities": {
+ "description": "Healthcare entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthcareEntity"
+ }
+ },
+ "relations": {
+ "type": "array",
+ "description": "Healthcare entity relations.",
+ "items": {
+ "$ref": "#/definitions/HealthcareRelation"
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "HealthcareEntity": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthcareEntityProperties"
+ },
+ {
+ "$ref": "#/definitions/HealthcareLinkingProperties"
+ }
+ ]
+ },
+ "HealthcareRelation": {
+ "type": "object",
+ "description": "Every relation is an entity graph of a certain relationType, where all entities are connected and have specific roles within the relation context.",
+ "required": [
+ "relationType",
+ "entities"
+ ],
+ "properties": {
+ "relationType": {
+ "description": "Type of relation. Examples include: `DosageOfMedication` or 'FrequencyOfMedication', etc.",
+ "type": "string",
+ "enum": [
+ "Abbreviation",
+ "DirectionOfBodyStructure",
+ "DirectionOfCondition",
+ "DirectionOfExamination",
+ "DirectionOfTreatment",
+ "DosageOfMedication",
+ "FormOfMedication",
+ "FrequencyOfMedication",
+ "FrequencyOfTreatment",
+ "QualifierOfCondition",
+ "RelationOfExamination",
+ "RouteOfMedication",
+ "TimeOfCondition",
+ "TimeOfEvent",
+ "TimeOfExamination",
+ "TimeOfMedication",
+ "TimeOfTreatment",
+ "UnitOfCondition",
+ "UnitOfExamination",
+ "ValueOfCondition",
+ "ValueOfExamination"
+ ],
+ "x-ms-enum": {
+ "name": "relationType",
+ "modelAsString": true
+ }
+ },
+ "entities": {
+ "description": "The entities in the relation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthcareRelationEntity"
+ }
+ }
+ }
+ },
+ "HealthcareAssertion": {
+ "type": "object",
+ "properties": {
+ "conditionality": {
+ "description": "Describes any conditionality on the entity.",
+ "type": "string",
+ "enum": [
+ "hypothetical",
+ "conditional"
+ ],
+ "x-ms-enum": {
+ "name": "Conditionality",
+ "modelAsString": false
+ }
+ },
+ "certainty": {
+ "description": "Describes the entities certainty and polarity.",
+ "type": "string",
+ "enum": [
+ "positive",
+ "positivePossible",
+ "neutralPossible",
+ "negativePossible",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "Certainty",
+ "modelAsString": false
+ }
+ },
+ "association": {
+ "description": "Describes if the entity is the subject of the text or if it describes someone else.",
+ "type": "string",
+ "enum": [
+ "subject",
+ "other"
+ ],
+ "x-ms-enum": {
+ "name": "Association",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "HealthcareRelationEntity": {
+ "type": "object",
+ "required": [
+ "ref",
+ "role"
+ ],
+ "properties": {
+ "ref": {
+ "description": "Reference link object, using a JSON pointer RFC 6901 (URI Fragment Identifier Representation), pointing to the entity .",
+ "type": "string"
+ },
+ "role": {
+ "description": "Role of entity in the relationship. For example: 'CD20-positive diffuse large B-cell lymphoma' has the following entities with their roles in parenthesis: CD20 (GeneOrProtein), Positive (Expression), diffuse large B-cell lymphoma (Diagnosis).",
+ "type": "string"
+ }
+ }
+ },
+ "HealthcareEntityLink": {
+ "type": "object",
+ "required": [
+ "dataSource",
+ "id"
+ ],
+ "properties": {
+ "dataSource": {
+ "description": "Entity Catalog. Examples include: UMLS, CHV, MSH, etc.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Entity id in the given source catalog.",
+ "type": "string"
+ }
+ }
+ },
+ "HealthcareEntityProperties": {
+ "type": "object",
+ "required": [
+ "text",
+ "category",
+ "offset",
+ "length",
+ "confidenceScore"
+ ],
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "Entity text as appears in the request."
+ },
+ "category": {
+ "x-ms-enum": {
+ "name": "healthcareEntityCategory",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Healthcare Entity Category.",
+ "enum": [
+ "BODY_STRUCTURE",
+ "AGE",
+ "GENDER",
+ "EXAMINATION_NAME",
+ "DATE",
+ "DIRECTION",
+ "FREQUENCY",
+ "MEASUREMENT_VALUE",
+ "MEASUREMENT_UNIT",
+ "RELATIONAL_OPERATOR",
+ "TIME",
+ "GENE_OR_PROTEIN",
+ "VARIANT",
+ "ADMINISTRATIVE_EVENT",
+ "CARE_ENVIRONMENT",
+ "HEALTHCARE_PROFESSION",
+ "DIAGNOSIS",
+ "SYMPTOM_OR_SIGN",
+ "CONDITION_QUALIFIER",
+ "MEDICATION_CLASS",
+ "MEDICATION_NAME",
+ "DOSAGE",
+ "MEDICATION_FORM",
+ "MEDICATION_ROUTE",
+ "FAMILY_RELATION",
+ "TREATMENT_NAME"
+ ]
+ },
+ "subcategory": {
+ "type": "string",
+ "description": "(Optional) Entity sub type."
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start position for the entity text. Use of different 'stringIndexType' values can affect the offset returned."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Length for the entity text. Use of different 'stringIndexType' values can affect the length returned."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "format": "double",
+ "description": "Confidence score between 0 and 1 of the extracted entity."
+ }
+ }
+ },
+ "HealthcareLinkingProperties": {
+ "properties": {
+ "assertion": {
+ "type": "object",
+ "$ref": "#/definitions/HealthcareAssertion"
+ },
+ "name": {
+ "description": "Preferred name for the entity. Example: 'histologically' would have a 'name' of 'histologic'.",
+ "type": "string"
+ },
+ "links": {
+ "description": "Entity references in known data sources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthcareEntityLink"
+ }
+ }
+ }
+ },
+ "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 Entity Search API unique identifier of the recognized entity."
+ }
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "AnalysisInput": {
+ "type": "object",
+ "required": [
+ "analysisInput"
+ ],
+ "properties": {
+ "analysisInput": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ }
+ }
+ },
+ "EntitiesTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/EntitiesResult"
+ }
+ }
+ },
+ "PiiTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/PiiResult"
+ }
+ }
+ },
+ "KeyPhraseTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/KeyPhraseResult"
+ }
+ }
+ },
+ "EntityLinkingTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/EntityLinkingResult"
+ }
+ }
+ },
+ "SentimentTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/SentimentResponse"
+ }
+ }
+ },
+ "ExtractiveSummarizationTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/ExtractiveSummarizationResult"
+ }
+ }
+ },
+ "HealthcareTaskResult": {
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/HealthcareResult"
+ },
+ "errors": {
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "JobDescriptor": {
+ "properties": {
+ "displayName": {
+ "description": "Optional display name for the analysis job.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "JobMetadata": {
+ "properties": {
+ "createdDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "expirationDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "jobId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "lastUpdateDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "notStarted",
+ "running",
+ "succeeded",
+ "failed",
+ "cancelled",
+ "cancelling"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": false,
+ "name": "State"
+ }
+ }
+ },
+ "required": [
+ "jobId",
+ "lastUpdateDateTime",
+ "createdDateTime",
+ "status"
+ ],
+ "type": "object"
+ },
+ "AnalyzeJobDisplayName": {
+ "properties": {
+ "displayName": {
+ "type": "string"
+ }
+ }
+ },
+ "AnalyzeJobMetadata": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobMetadata"
+ },
+ {
+ "$ref": "#/definitions/AnalyzeJobDisplayName"
+ }
+ ]
+ },
+ "AnalyzeJobErrorsAndStatistics": {
+ "properties": {
+ "errors": {
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ },
+ "type": "array"
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ }
+ },
+ "type": "object"
+ },
+ "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"
+ }
+ }
+ },
+ "KeyPhrasesTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EntityLinkingTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "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"
+ }
+ }
+ },
+ "Pagination": {
+ "properties": {
+ "@nextLink": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PiiResult": {
+ "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."
+ }
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "StringIndexType": {
+ "default": "TextElement_v8",
+ "enum": [
+ "TextElement_v8",
+ "UnicodeCodePoint",
+ "Utf16CodeUnit"
+ ],
+ "x-ms-enum": {
+ "name": "StringIndexType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "TextElement_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."
+ }
+ ]
+ },
+ "type": "string"
+ },
+ "PiiCategories": {
+ "description": "(Optional) describes the PII categories to return",
+ "items": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PiiCategory",
+ "modelAsString": true
+ },
+ "enum": [
+ "ABARoutingNumber",
+ "ARNationalIdentityNumber",
+ "AUBankAccountNumber",
+ "AUDriversLicenseNumber",
+ "AUMedicalAccountNumber",
+ "AUPassportNumber",
+ "AUTaxFileNumber",
+ "AUBusinessNumber",
+ "AUCompanyNumber",
+ "ATIdentityCard",
+ "ATTaxIdentificationNumber",
+ "ATValueAddedTaxNumber",
+ "AzureDocumentDBAuthKey",
+ "AzureIAASDatabaseConnectionAndSQLString",
+ "AzureIoTConnectionString",
+ "AzurePublishSettingPassword",
+ "AzureRedisCacheString",
+ "AzureSAS",
+ "AzureServiceBusString",
+ "AzureStorageAccountKey",
+ "AzureStorageAccountGeneric",
+ "BENationalNumber",
+ "BENationalNumberV2",
+ "BEValueAddedTaxNumber",
+ "BRCPFNumber",
+ "BRLegalEntityNumber",
+ "BRNationalIDRG",
+ "BGUniformCivilNumber",
+ "CABankAccountNumber",
+ "CADriversLicenseNumber",
+ "CAHealthServiceNumber",
+ "CAPassportNumber",
+ "CAPersonalHealthIdentification",
+ "CASocialInsuranceNumber",
+ "CLIdentityCardNumber",
+ "CNResidentIdentityCardNumber",
+ "CreditCardNumber",
+ "HRIdentityCardNumber",
+ "HRNationalIDNumber",
+ "HRPersonalIdentificationNumber",
+ "HRPersonalIdentificationOIBNumberV2",
+ "CYIdentityCard",
+ "CYTaxIdentificationNumber",
+ "CZPersonalIdentityNumber",
+ "CZPersonalIdentityV2",
+ "DKPersonalIdentificationNumber",
+ "DKPersonalIdentificationV2",
+ "DrugEnforcementAgencyNumber",
+ "EEPersonalIdentificationCode",
+ "EUDebitCardNumber",
+ "EUDriversLicenseNumber",
+ "EUGPSCoordinates",
+ "EUNationalIdentificationNumber",
+ "EUPassportNumber",
+ "EUSocialSecurityNumber",
+ "EUTaxIdentificationNumber",
+ "FIEuropeanHealthNumber",
+ "FINationalID",
+ "FINationalIDV2",
+ "FIPassportNumber",
+ "FRDriversLicenseNumber",
+ "FRHealthInsuranceNumber",
+ "FRNationalID",
+ "FRPassportNumber",
+ "FRSocialSecurityNumber",
+ "FRTaxIdentificationNumber",
+ "FRValueAddedTaxNumber",
+ "DEDriversLicenseNumber",
+ "DEPassportNumber",
+ "DEIdentityCardNumber",
+ "DETaxIdentificationNumber",
+ "DEValueAddedNumber",
+ "GRNationalIDCard",
+ "GRNationalIDV2",
+ "GRTaxIdentificationNumber",
+ "HKIdentityCardNumber",
+ "HUValueAddedNumber",
+ "HUPersonalIdentificationNumber",
+ "HUTaxIdentificationNumber",
+ "INPermanentAccount",
+ "INUniqueIdentificationNumber",
+ "IDIdentityCardNumber",
+ "InternationalBankingAccountNumber",
+ "IEPersonalPublicServiceNumber",
+ "IEPersonalPublicServiceNumberV2",
+ "ILBankAccountNumber",
+ "ILNationalID",
+ "ITDriversLicenseNumber",
+ "ITFiscalCode",
+ "ITValueAddedTaxNumber",
+ "JPBankAccountNumber",
+ "JPDriversLicenseNumber",
+ "JPPassportNumber",
+ "JPResidentRegistrationNumber",
+ "JPSocialInsuranceNumber",
+ "JPMyNumberCorporate",
+ "JPMyNumberPersonal",
+ "JPResidenceCardNumber",
+ "LVPersonalCode",
+ "LTPersonalCode",
+ "LUNationalIdentificationNumberNatural",
+ "LUNationalIdentificationNumberNonNatural",
+ "MYIdentityCardNumber",
+ "MTIdentityCardNumber",
+ "MTTaxIDNumber",
+ "NLCitizensServiceNumber",
+ "NLCitizensServiceNumberV2",
+ "NLTaxIdentificationNumber",
+ "NLValueAddedTaxNumber",
+ "NZBankAccountNumber",
+ "NZDriversLicenseNumber",
+ "NZInlandRevenueNumber",
+ "NZMinistryOfHealthNumber",
+ "NZSocialWelfareNumber",
+ "NOIdentityNumber",
+ "PHUnifiedMultiPurposeIDNumber",
+ "PLIdentityCard",
+ "PLNationalID",
+ "PLNationalIDV2",
+ "PLPassportNumber",
+ "PLTaxIdentificationNumber",
+ "PLREGONNumber",
+ "PTCitizenCardNumber",
+ "PTCitizenCardNumberV2",
+ "PTTaxIdentificationNumber",
+ "ROPersonalNumericalCode",
+ "RUPassportNumberDomestic",
+ "RUPassportNumberInternational",
+ "SANationalID",
+ "SGNationalRegistrationIdentityCardNumber",
+ "SKPersonalNumber",
+ "SITaxIdentificationNumber",
+ "SIUniqueMasterCitizenNumber",
+ "ZAIdentificationNumber",
+ "KRResidentRegistrationNumber",
+ "ESDNI",
+ "ESSocialSecurityNumber",
+ "ESTaxIdentificationNumber",
+ "SQLServerConnectionString",
+ "SENationalID",
+ "SENationalIDV2",
+ "SEPassportNumber",
+ "SETaxIdentificationNumber",
+ "SWIFTCode",
+ "CHSocialSecurityNumber",
+ "TWNationalID",
+ "TWPassportNumber",
+ "TWResidentCertificate",
+ "THPopulationIdentificationCode",
+ "TRNationalIdentificationNumber",
+ "UKDriversLicenseNumber",
+ "UKElectoralRollNumber",
+ "UKNationalHealthNumber",
+ "UKNationalInsuranceNumber",
+ "UKUniqueTaxpayerNumber",
+ "USUKPassportNumber",
+ "USBankAccountNumber",
+ "USDriversLicenseNumber",
+ "USIndividualTaxpayerIdentification",
+ "USSocialSecurityNumber",
+ "UAPassportNumberDomestic",
+ "UAPassportNumberInternational",
+ "Organization",
+ "Email",
+ "URL",
+ "Age",
+ "PhoneNumber",
+ "IPAddress",
+ "Date",
+ "Person",
+ "Address",
+ "All",
+ "Default"
+ ]
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "parameters": {
+ "ApiVersion": {
+ "name": "ApiVersion",
+ "description": "Text Analytics API version (for example, v3.0).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "v3.2-preview.1"
+ ],
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "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": "TextElement_v8",
+ "enum": [
+ "TextElement_v8",
+ "UnicodeCodePoint",
+ "Utf16CodeUnit"
+ ],
+ "x-ms-enum": {
+ "name": "StringIndexType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "TextElement_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"
+ },
+ "PiiCategories": {
+ "description": "(Optional) describes the PII categories to return",
+ "in": "query",
+ "collectionFormat": "csv",
+ "items": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PiiCategory",
+ "modelAsString": true
+ },
+ "enum": [
+ "ABARoutingNumber",
+ "ARNationalIdentityNumber",
+ "AUBankAccountNumber",
+ "AUDriversLicenseNumber",
+ "AUMedicalAccountNumber",
+ "AUPassportNumber",
+ "AUTaxFileNumber",
+ "AUBusinessNumber",
+ "AUCompanyNumber",
+ "ATIdentityCard",
+ "ATTaxIdentificationNumber",
+ "ATValueAddedTaxNumber",
+ "AzureDocumentDBAuthKey",
+ "AzureIAASDatabaseConnectionAndSQLString",
+ "AzureIoTConnectionString",
+ "AzurePublishSettingPassword",
+ "AzureRedisCacheString",
+ "AzureSAS",
+ "AzureServiceBusString",
+ "AzureStorageAccountKey",
+ "AzureStorageAccountGeneric",
+ "BENationalNumber",
+ "BENationalNumberV2",
+ "BEValueAddedTaxNumber",
+ "BRCPFNumber",
+ "BRLegalEntityNumber",
+ "BRNationalIDRG",
+ "BGUniformCivilNumber",
+ "CABankAccountNumber",
+ "CADriversLicenseNumber",
+ "CAHealthServiceNumber",
+ "CAPassportNumber",
+ "CAPersonalHealthIdentification",
+ "CASocialInsuranceNumber",
+ "CLIdentityCardNumber",
+ "CNResidentIdentityCardNumber",
+ "CreditCardNumber",
+ "HRIdentityCardNumber",
+ "HRNationalIDNumber",
+ "HRPersonalIdentificationNumber",
+ "HRPersonalIdentificationOIBNumberV2",
+ "CYIdentityCard",
+ "CYTaxIdentificationNumber",
+ "CZPersonalIdentityNumber",
+ "CZPersonalIdentityV2",
+ "DKPersonalIdentificationNumber",
+ "DKPersonalIdentificationV2",
+ "DrugEnforcementAgencyNumber",
+ "EEPersonalIdentificationCode",
+ "EUDebitCardNumber",
+ "EUDriversLicenseNumber",
+ "EUGPSCoordinates",
+ "EUNationalIdentificationNumber",
+ "EUPassportNumber",
+ "EUSocialSecurityNumber",
+ "EUTaxIdentificationNumber",
+ "FIEuropeanHealthNumber",
+ "FINationalID",
+ "FINationalIDV2",
+ "FIPassportNumber",
+ "FRDriversLicenseNumber",
+ "FRHealthInsuranceNumber",
+ "FRNationalID",
+ "FRPassportNumber",
+ "FRSocialSecurityNumber",
+ "FRTaxIdentificationNumber",
+ "FRValueAddedTaxNumber",
+ "DEDriversLicenseNumber",
+ "DEPassportNumber",
+ "DEIdentityCardNumber",
+ "DETaxIdentificationNumber",
+ "DEValueAddedNumber",
+ "GRNationalIDCard",
+ "GRNationalIDV2",
+ "GRTaxIdentificationNumber",
+ "HKIdentityCardNumber",
+ "HUValueAddedNumber",
+ "HUPersonalIdentificationNumber",
+ "HUTaxIdentificationNumber",
+ "INPermanentAccount",
+ "INUniqueIdentificationNumber",
+ "IDIdentityCardNumber",
+ "InternationalBankingAccountNumber",
+ "IEPersonalPublicServiceNumber",
+ "IEPersonalPublicServiceNumberV2",
+ "ILBankAccountNumber",
+ "ILNationalID",
+ "ITDriversLicenseNumber",
+ "ITFiscalCode",
+ "ITValueAddedTaxNumber",
+ "JPBankAccountNumber",
+ "JPDriversLicenseNumber",
+ "JPPassportNumber",
+ "JPResidentRegistrationNumber",
+ "JPSocialInsuranceNumber",
+ "JPMyNumberCorporate",
+ "JPMyNumberPersonal",
+ "JPResidenceCardNumber",
+ "LVPersonalCode",
+ "LTPersonalCode",
+ "LUNationalIdentificationNumberNatural",
+ "LUNationalIdentificationNumberNonNatural",
+ "MYIdentityCardNumber",
+ "MTIdentityCardNumber",
+ "MTTaxIDNumber",
+ "NLCitizensServiceNumber",
+ "NLCitizensServiceNumberV2",
+ "NLTaxIdentificationNumber",
+ "NLValueAddedTaxNumber",
+ "NZBankAccountNumber",
+ "NZDriversLicenseNumber",
+ "NZInlandRevenueNumber",
+ "NZMinistryOfHealthNumber",
+ "NZSocialWelfareNumber",
+ "NOIdentityNumber",
+ "PHUnifiedMultiPurposeIDNumber",
+ "PLIdentityCard",
+ "PLNationalID",
+ "PLNationalIDV2",
+ "PLPassportNumber",
+ "PLTaxIdentificationNumber",
+ "PLREGONNumber",
+ "PTCitizenCardNumber",
+ "PTCitizenCardNumberV2",
+ "PTTaxIdentificationNumber",
+ "ROPersonalNumericalCode",
+ "RUPassportNumberDomestic",
+ "RUPassportNumberInternational",
+ "SANationalID",
+ "SGNationalRegistrationIdentityCardNumber",
+ "SKPersonalNumber",
+ "SITaxIdentificationNumber",
+ "SIUniqueMasterCitizenNumber",
+ "ZAIdentificationNumber",
+ "KRResidentRegistrationNumber",
+ "ESDNI",
+ "ESSocialSecurityNumber",
+ "ESTaxIdentificationNumber",
+ "SQLServerConnectionString",
+ "SENationalID",
+ "SENationalIDV2",
+ "SEPassportNumber",
+ "SETaxIdentificationNumber",
+ "SWIFTCode",
+ "CHSocialSecurityNumber",
+ "TWNationalID",
+ "TWPassportNumber",
+ "TWResidentCertificate",
+ "THPopulationIdentificationCode",
+ "TRNationalIdentificationNumber",
+ "UKDriversLicenseNumber",
+ "UKElectoralRollNumber",
+ "UKNationalHealthNumber",
+ "UKNationalInsuranceNumber",
+ "UKUniqueTaxpayerNumber",
+ "USUKPassportNumber",
+ "USBankAccountNumber",
+ "USDriversLicenseNumber",
+ "USIndividualTaxpayerIdentification",
+ "USSocialSecurityNumber",
+ "UAPassportNumberDomestic",
+ "UAPassportNumberInternational",
+ "Organization",
+ "Email",
+ "URL",
+ "Age",
+ "PhoneNumber",
+ "IPAddress",
+ "Date",
+ "Person",
+ "Address",
+ "All",
+ "Default"
+ ]
+ },
+ "name": "piiCategories",
+ "required": false,
+ "type": "array",
+ "uniqueItems": true,
+ "x-ms-parameter-location": "method"
+ },
+ "JobId": {
+ "description": "Job ID",
+ "format": "uuid",
+ "in": "path",
+ "name": "jobId",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AnalyzeJobId": {
+ "description": "Job ID for Analyze",
+ "in": "path",
+ "name": "jobId",
+ "required": true,
+ "type": "string",
+ "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"
+ },
+ "LoggingOptOut": {
+ "name": "loggingOptOut",
+ "in": "query",
+ "description": "(Optional) If set to true, you opt-out of having your text input logged for troubleshooting. By default, Text Analytics logs your input text for 48 hours, solely to allow for troubleshooting issues in providing you with the Text Analytics natural language processing functions. Setting this parameter to true, disables input logging and may limit our ability to remediate issues that occur. Please see Cognitive Services Compliance and Privacy notes at https://aka.ms/cs-compliance for additional details, and Microsoft Responsible AI principles at https://www.microsoft.com/en-us/ai/responsible-ai.",
+ "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.2-preview.1/examples/SuccessfulAnalyzeRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulAnalyzeRequest.json
new file mode 100644
index 000000000000..b50ef145aac3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulAnalyzeRequest.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.1",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}",
+ "input": {
+ "displayName": "Extracting Location & US Region",
+ "analysisInput": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "I had a wonderful trip to Seattle last week."
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "I'm flying to NYC tomorrow. See you there."
+ }
+ ]
+ },
+ "tasks": {
+ "entityRecognitionTasks": [
+ {
+ "parameters": {
+ "model-version": "latest"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/text/analytics/v3.2-preview.1/analyze/jobs/{jobId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulAnalyzeStatusRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulAnalyzeStatusRequest.json
new file mode 100644
index 000000000000..0eb83f5cfa8e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulAnalyzeStatusRequest.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.1",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "createdDateTime": "2020-10-01T15:00:45Z",
+ "displayName": "Extracting Location & US Region",
+ "expirationDateTime": "2020-10-03T15:01:03Z",
+ "jobId": "c0f2a446-05d9-48fc-ba8f-3ef4af8d0b18",
+ "lastUpdateDateTime": "2020-10-01T15:01:03Z",
+ "status": "succeeded",
+ "tasks": {
+ "completed": 2,
+ "failed": 0,
+ "inProgress": 0,
+ "total": 2,
+ "entityRecognitionTasks": [
+ {
+ "taskName": "Recognize Entities (2020-04-01)",
+ "lastUpdateDateTime": "2020-10-01T15:01:03Z",
+ "status": "succeeded",
+ "results": {
+ "documents": [
+ {
+ "entities": [
+ {
+ "category": "Event",
+ "confidenceScore": 0.61,
+ "length": 4,
+ "offset": 18,
+ "text": "trip"
+ },
+ {
+ "category": "Location",
+ "confidenceScore": 0.82,
+ "length": 7,
+ "offset": 26,
+ "subcategory": "GPE",
+ "text": "Seattle"
+ },
+ {
+ "category": "DateTime",
+ "confidenceScore": 0.8,
+ "length": 9,
+ "offset": 34,
+ "subcategory": "DateRange",
+ "text": "last week"
+ }
+ ],
+ "id": "1",
+ "warnings": []
+ },
+ {
+ "entities": [
+ {
+ "category": "Location",
+ "confidenceScore": 0.52,
+ "length": 3,
+ "offset": 14,
+ "subcategory": "GPE",
+ "text": "NYC"
+ },
+ {
+ "category": "DateTime",
+ "confidenceScore": 0.8,
+ "length": 8,
+ "offset": 18,
+ "subcategory": "Date",
+ "text": "tomorrow"
+ }
+ ],
+ "id": "2",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-04-01"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulEntitiesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulEntitiesRequest.json
new file mode 100644
index 000000000000..0735c8d46bc3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulEntitiesRequest.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.1",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Microsoft was founded by Bill Gates and Paul Allen."
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "Pike place market is my favorite Seattle attraction."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "entities": [
+ {
+ "category": "Organization",
+ "confidenceScore": 0.84,
+ "length": 9,
+ "offset": 0,
+ "text": "Microsoft"
+ },
+ {
+ "category": "Person",
+ "confidenceScore": 0.85,
+ "length": 10,
+ "offset": 25,
+ "text": "Bill Gates"
+ },
+ {
+ "category": "Person",
+ "confidenceScore": 0.9,
+ "length": 10,
+ "offset": 40,
+ "text": "Paul Allen"
+ }
+ ],
+ "id": "1",
+ "warnings": []
+ },
+ {
+ "entities": [
+ {
+ "category": "Location",
+ "confidenceScore": 0.55,
+ "length": 7,
+ "offset": 33,
+ "subcategory": "GPE",
+ "text": "Seattle"
+ }
+ ],
+ "id": "2",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulEntityLinkingRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulEntityLinkingRequest.json
new file mode 100644
index 000000000000..22f109e8ccea
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulEntityLinkingRequest.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.1",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Microsoft was founded by Bill Gates and Paul Allen."
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "Pike place market is my favorite Seattle attraction."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "entities": [
+ {
+ "dataSource": "Wikipedia",
+ "id": "Bill Gates",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.52,
+ "length": 10,
+ "offset": 25,
+ "text": "Bill Gates"
+ }
+ ],
+ "name": "Bill Gates",
+ "url": "https://en.wikipedia.org/wiki/Bill_Gates"
+ },
+ {
+ "dataSource": "Wikipedia",
+ "id": "Paul Allen",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.54,
+ "length": 10,
+ "offset": 40,
+ "text": "Paul Allen"
+ }
+ ],
+ "name": "Paul Allen",
+ "url": "https://en.wikipedia.org/wiki/Paul_Allen"
+ },
+ {
+ "dataSource": "Wikipedia",
+ "id": "Microsoft",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.49,
+ "length": 9,
+ "offset": 0,
+ "text": "Microsoft"
+ }
+ ],
+ "name": "Microsoft",
+ "url": "https://en.wikipedia.org/wiki/Microsoft"
+ }
+ ],
+ "id": "1",
+ "warnings": []
+ },
+ {
+ "entities": [
+ {
+ "dataSource": "Wikipedia",
+ "id": "Pike Place Market",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.86,
+ "length": 17,
+ "offset": 0,
+ "text": "Pike place market"
+ }
+ ],
+ "name": "Pike Place Market",
+ "url": "https://en.wikipedia.org/wiki/Pike_Place_Market"
+ },
+ {
+ "dataSource": "Wikipedia",
+ "id": "Seattle",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.27,
+ "length": 7,
+ "offset": 33,
+ "text": "Seattle"
+ }
+ ],
+ "name": "Seattle",
+ "url": "https://en.wikipedia.org/wiki/Seattle"
+ }
+ ],
+ "id": "2",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-02-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulEntityPIIRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulEntityPIIRequest.json
new file mode 100644
index 000000000000..9a0aef782973
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulEntityPIIRequest.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.1",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "My SSN is 859-98-0987"
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "Your ABA number - 111000025 - is the first 9 digits in the lower left hand corner of your personal check."
+ },
+ {
+ "id": "3",
+ "language": "en",
+ "text": "Is 998.214.865-68 your Brazilian CPF number?"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "redactedText": "My SSN is ***********",
+ "entities": [
+ {
+ "category": "U.S. Social Security Number (SSN)",
+ "confidenceScore": 0.65,
+ "length": 11,
+ "offset": 28,
+ "text": "859-98-0987"
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "redactedText": "Your ABA number - ********* - is the first 9 digits in the lower left hand corner of your personal check.",
+ "entities": [
+ {
+ "category": "ABA Routing Number",
+ "confidenceScore": 0.75,
+ "length": 9,
+ "offset": 18,
+ "text": "111000025"
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "3",
+ "redactedText": "Is ************** your Brazilian CPF number?",
+ "entities": [
+ {
+ "category": "Brazil CPF Number",
+ "confidenceScore": 0.85,
+ "length": 14,
+ "offset": 3,
+ "text": "998.214.865-68"
+ }
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulHealthDeleteRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulHealthDeleteRequest.json
new file mode 100644
index 000000000000..0822a3fec54c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulHealthDeleteRequest.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.1",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/text/analytics/v3.2-preview.1/entities/healthcare/jobs/{jobId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulHealthRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulHealthRequest.json
new file mode 100644
index 000000000000..08df27f320cd
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulHealthRequest.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.1",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Subject is taking 100mg of ibuprofen twice daily."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/text/analytics/v3.2-preview.1/entities/healthcare/jobs/{jobId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulHealthStatusRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulHealthStatusRequest.json
new file mode 100644
index 000000000000..2423db1d8db0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulHealthStatusRequest.json
@@ -0,0 +1,206 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.1",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "createdDateTime": "2020-10-01T15:01:03Z",
+ "expirationDateTime": "2020-10-03T15:01:03Z",
+ "jobId": "c0f2a446-05d9-48fc-ba8f-3ef4af8d0b18",
+ "lastUpdateDateTime": "2020-10-01T15:01:03Z",
+ "status": "succeeded",
+ "results": {
+ "documents": [
+ {
+ "id": "1",
+ "entities": [
+ {
+ "offset": 18,
+ "length": 5,
+ "text": "100mg",
+ "category": "DOSAGE",
+ "confidenceScore": 0.99
+ },
+ {
+ "offset": 27,
+ "length": 9,
+ "text": "ibuprofen",
+ "category": "MEDICATION_NAME",
+ "confidenceScore": 1.0,
+ "assertion": {
+ "certainty": "positive"
+ },
+ "links": [
+ {
+ "id": "C0020740",
+ "dataSource": "UMLS"
+ },
+ {
+ "id": "0000019879",
+ "dataSource": "AOD"
+ },
+ {
+ "id": "M01AE01",
+ "dataSource": "ATC"
+ },
+ {
+ "id": "0046165",
+ "dataSource": "CCPSS"
+ },
+ {
+ "id": "0000006519",
+ "dataSource": "CHV"
+ },
+ {
+ "id": "2270-2077",
+ "dataSource": "CSP"
+ },
+ {
+ "id": "DB01050",
+ "dataSource": "DRUGBANK"
+ },
+ {
+ "id": "1611",
+ "dataSource": "GS"
+ },
+ {
+ "id": "sh97005926",
+ "dataSource": "LCH_NW"
+ },
+ {
+ "id": "LP16165-0",
+ "dataSource": "LNC"
+ },
+ {
+ "id": "40458",
+ "dataSource": "MEDCIN"
+ },
+ {
+ "id": "d00015",
+ "dataSource": "MMSL"
+ },
+ {
+ "id": "D007052",
+ "dataSource": "MSH"
+ },
+ {
+ "id": "WK2XYI10QM",
+ "dataSource": "MTHSPL"
+ },
+ {
+ "id": "C561",
+ "dataSource": "NCI"
+ },
+ {
+ "id": "C561",
+ "dataSource": "NCI_CTRP"
+ },
+ {
+ "id": "00803",
+ "dataSource": "NCI_DCP"
+ },
+ {
+ "id": "NSC0256857",
+ "dataSource": "NCI_DTP"
+ },
+ {
+ "id": "WK2XYI10QM",
+ "dataSource": "NCI_FDA"
+ },
+ {
+ "id": "CDR0000613511",
+ "dataSource": "NCI_NCI-GLOSS"
+ },
+ {
+ "id": "002377",
+ "dataSource": "NDDF"
+ },
+ {
+ "id": "CDR0000040475",
+ "dataSource": "PDQ"
+ },
+ {
+ "id": "x02MO",
+ "dataSource": "RCD"
+ },
+ {
+ "id": "5640",
+ "dataSource": "RXNORM"
+ },
+ {
+ "id": "E-7772",
+ "dataSource": "SNM"
+ },
+ {
+ "id": "C-603C0",
+ "dataSource": "SNMI"
+ },
+ {
+ "id": "387207008",
+ "dataSource": "SNOMEDCT_US"
+ },
+ {
+ "id": "m39860",
+ "dataSource": "USP"
+ },
+ {
+ "id": "MTHU000060",
+ "dataSource": "USPMG"
+ },
+ {
+ "id": "4017840",
+ "dataSource": "VANDF"
+ }
+ ]
+ },
+ {
+ "offset": 37,
+ "length": 11,
+ "text": "twice daily",
+ "category": "FREQUENCY",
+ "confidenceScore": 1
+ }
+ ],
+ "relations": [
+ {
+ "relationType": "DosageOfMedication",
+ "entities": [
+ {
+ "ref": "#/documents/0/entities/0",
+ "role": "Attribute"
+ },
+ {
+ "ref": "#/documents/0/entities/1",
+ "role": "Entity"
+ }
+ ]
+ },
+ {
+ "relationType": "FrequencyOfMedication",
+ "entities": [
+ {
+ "ref": "#/documents/0/entities/2",
+ "role": "Attribute"
+ },
+ {
+ "ref": "#/documents/0/entities/1",
+ "role": "Entity"
+ }
+ ]
+ }
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-05-08"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulKeyPhrasesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulKeyPhrasesRequest.json
new file mode 100644
index 000000000000..82907a754644
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulKeyPhrasesRequest.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.1",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Microsoft was founded by Bill Gates and Paul Allen."
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "Text Analytics is one of the Azure Cognitive Services."
+ },
+ {
+ "id": "3",
+ "language": "en",
+ "text": "My cat might need to see a veterinarian."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "keyPhrases": [
+ "Bill Gates",
+ "Paul Allen",
+ "Microsoft"
+ ],
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "keyPhrases": [
+ "Azure Cognitive Services",
+ "Text Analytics"
+ ],
+ "warnings": []
+ },
+ {
+ "id": "3",
+ "keyPhrases": [
+ "cat",
+ "veterinarian"
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulLanguagesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulLanguagesRequest.json
new file mode 100644
index 000000000000..813500e96b5f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulLanguagesRequest.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.1",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "text": "Hello world"
+ },
+ {
+ "id": "2",
+ "text": "Bonjour tout le monde"
+ },
+ {
+ "id": "3",
+ "text": "Hola mundo"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "detectedLanguage": {
+ "confidenceScore": 1,
+ "iso6391Name": "en",
+ "name": "English"
+ },
+ "id": "1",
+ "warnings": []
+ },
+ {
+ "detectedLanguage": {
+ "confidenceScore": 1,
+ "iso6391Name": "fr",
+ "name": "French"
+ },
+ "id": "2",
+ "warnings": []
+ },
+ {
+ "detectedLanguage": {
+ "confidenceScore": 1,
+ "iso6391Name": "es",
+ "name": "Spanish"
+ },
+ "id": "3",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulSentimentRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulSentimentRequest.json
new file mode 100644
index 000000000000..92985e7f3e31
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.1/examples/SuccessfulSentimentRequest.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.1",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Great atmosphere. Close to plenty of restaurants, hotels, and transit! Staff are friendly and helpful."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "confidenceScores": {
+ "negative": 0,
+ "neutral": 0,
+ "positive": 1
+ },
+ "id": "1",
+ "sentences": [
+ {
+ "targets": [
+ {
+ "confidenceScores": {
+ "negative": 0,
+ "positive": 1
+ },
+ "length": 10,
+ "offset": 6,
+ "relations": [
+ {
+ "ref": "#/documents/0/sentences/0/assessments/0",
+ "relationType": "assessment"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "atmosphere"
+ }
+ ],
+ "confidenceScores": {
+ "negative": 0,
+ "neutral": 0,
+ "positive": 1
+ },
+ "length": 17,
+ "offset": 0,
+ "assessments": [
+ {
+ "confidenceScores": {
+ "negative": 0,
+ "positive": 1
+ },
+ "isNegated": false,
+ "length": 5,
+ "offset": 0,
+ "sentiment": "positive",
+ "text": "great"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "Great atmosphere."
+ },
+ {
+ "targets": [
+ {
+ "confidenceScores": {
+ "negative": 0.01,
+ "positive": 0.99
+ },
+ "length": 11,
+ "offset": 37,
+ "relations": [
+ {
+ "ref": "#/documents/0/sentences/1/assessments/0",
+ "relationType": "assessment"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "restaurants"
+ },
+ {
+ "confidenceScores": {
+ "negative": 0.01,
+ "positive": 0.99
+ },
+ "length": 6,
+ "offset": 50,
+ "relations": [
+ {
+ "ref": "#/documents/0/sentences/1/assessments/0",
+ "relationType": "assessment"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "hotels"
+ }
+ ],
+ "confidenceScores": {
+ "negative": 0.01,
+ "neutral": 0.86,
+ "positive": 0.13
+ },
+ "length": 52,
+ "offset": 18,
+ "assessments": [
+ {
+ "confidenceScores": {
+ "negative": 0.01,
+ "positive": 0.99
+ },
+ "isNegated": false,
+ "length": 15,
+ "offset": 18,
+ "sentiment": "positive",
+ "text": "Close to plenty"
+ }
+ ],
+ "sentiment": "neutral",
+ "text": "Close to plenty of restaurants, hotels, and transit!"
+ }
+ ],
+ "sentiment": "positive",
+ "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 3565ecfa5880..28558b8301bd 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
@@ -116,6 +116,22 @@ These settings apply only when `--tag=release_3_1_preview.5` is specified on the
input-file: preview/v3.1-preview.5/TextAnalytics.json
```
+### Release 3.1
+
+These settings apply only when `--tag=release_3_1` is specified on the command line.
+
+``` yaml $(tag) == 'release_3_1'
+input-file: stable/v3.1/TextAnalytics.json
+```
+
+### Release 3.2-preview.1
+
+These settings apply only when `--tag=release_3_2_preview.1` is specified on the command line.
+
+``` yaml $(tag) == 'release_3_2_preview.1'
+input-file: preview/v3.2-preview.1/TextAnalytics.json
+```
+
## Swagger to SDK
This section describes what SDK should be generated by the automatic system.
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/TextAnalytics.json
new file mode 100644
index 000000000000..39d988388122
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/TextAnalytics.json
@@ -0,0 +1,2966 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "v3.1",
+ "contact": {
+ "name": "Microsoft Cognitive Services",
+ "url": "https://azure.microsoft.com/en-us/services/cognitive-services/text-analytics/",
+ "email": "mlapi@microsoft.com"
+ },
+ "title": "Text Analytics Client",
+ "description": "The Text Analytics API is a suite of natural language processing (NLP) services built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction and language detection. Functionality for analysis of text specific to the healthcare domain and personal information are also available in the API. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview"
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/text/analytics/{ApiVersion}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ]
+ },
+ "paths": {
+ "/analyze": {
+ "post": {
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "description": "Submit a collection of text documents for analysis. Specify one or more unique tasks to be executed.",
+ "operationId": "Analyze",
+ "summary": "Submit analysis job",
+ "parameters": [
+ {
+ "description": "Collection of documents to analyze and tasks to execute.",
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeBatchInput"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Submit analysis job request": {
+ "$ref": ".//examples//SuccessfulAnalyzeRequest.json"
+ }
+ },
+ "deprecated": false,
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/analyze/jobs/{jobId}": {
+ "get": {
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "description": "Get the status of an analysis job. A job may consist of one or more tasks. Once all tasks are completed, the job will transition to the completed state and results will be available for each task.",
+ "operationId": "AnalyzeStatus",
+ "summary": "Get analysis status and results",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AnalyzeJobId"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "default": 20,
+ "description": "(Optional) Set the maximum number of results per task. When both $top and $skip are specified, $skip is applied first.",
+ "in": "query",
+ "maximum": 50,
+ "minimum": 1,
+ "name": "$top",
+ "type": "integer"
+ },
+ {
+ "default": 0,
+ "description": "(Optional) Set the number of elements to offset in the response. When both $top and $skip are specified, $skip is applied first.",
+ "in": "query",
+ "minimum": 0,
+ "name": "$skip",
+ "type": "integer"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Analysis job status and metadata.",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeJobState"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Analysis job status request": {
+ "$ref": ".//examples//SuccessfulAnalyzeStatusRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/entities/health/jobs/{jobId}": {
+ "get": {
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "description": "Get details of the healthcare prediction job specified by the jobId.",
+ "operationId": "HealthStatus",
+ "summary": "Get healthcare analysis job status and results",
+ "parameters": [
+ {
+ "$ref": "#/parameters/JobId"
+ },
+ {
+ "default": 20,
+ "description": "(Optional) Set the maximum number of results per task. When both $top and $skip are specified, $skip is applied first.",
+ "in": "query",
+ "maximum": 50,
+ "minimum": 1,
+ "name": "$top",
+ "type": "integer"
+ },
+ {
+ "default": 0,
+ "description": "(Optional) Set the number of elements to offset in the response. When both $top and $skip are specified, $skip is applied first.",
+ "in": "query",
+ "minimum": 0,
+ "name": "$skip",
+ "type": "integer"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HealthcareJobState"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Health request": {
+ "$ref": ".//examples//SuccessfulHealthStatusRequest.json"
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "description": "Cancel healthcare prediction job.",
+ "operationId": "CancelHealthJob",
+ "summary": "Cancel healthcare prediction job",
+ "parameters": [
+ {
+ "$ref": "#/parameters/JobId"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Cancel Job request has been received.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Health request": {
+ "$ref": ".//examples//SuccessfulHealthDeleteRequest.json"
+ }
+ },
+ "deprecated": false,
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/entities/health/jobs": {
+ "post": {
+ "summary": "Submit healthcare analysis job",
+ "description": "Start a healthcare analysis job to recognize healthcare related entities (drugs, conditions, symptoms, etc) and their relations.",
+ "operationId": "Health",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted - call results in a link where the status of the submitted job can be checked via the GET operation.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Health request": {
+ "$ref": ".//examples//SuccessfulHealthRequest.json"
+ }
+ },
+ "deprecated": false,
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/entities/recognition/general": {
+ "post": {
+ "summary": "Named Entity Recognition",
+ "description": "The API returns a list of general named entities in a given document. For the list of supported entity types, check Supported Entity Types in Text Analytics API. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "EntitiesRecognitionGeneral",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of recognized entities returned for each valid document.",
+ "schema": {
+ "$ref": "#/definitions/EntitiesResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "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"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "name": "domain",
+ "in": "query",
+ "description": "(Optional) if specified, will set the PII domain to include only a subset of the entity categories. Possible values include: 'PHI', 'none'.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/PiiCategories"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of entities containing personal information returned for each valid document",
+ "schema": {
+ "$ref": "#/definitions/PiiResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "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/LoggingOptOut"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "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": "Unexpected error",
+ "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/LoggingOptOut"
+ },
+ {
+ "$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": "Unexpected error",
+ "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/LoggingOptOut"
+ },
+ {
+ "$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": "Unexpected error",
+ "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 (targets and assessments).",
+ "operationId": "Sentiment",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "name": "opinionMining",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain not only sentiment prediction but also opinion mining (aspect-based sentiment analysis) results.",
+ "type": "boolean"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "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": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Sentiment request": {
+ "$ref": ".//examples//SuccessfulSentimentRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ }
+ },
+ "definitions": {
+ "JobManifest": {
+ "properties": {
+ "tasks": {
+ "description": "The set of tasks to execute on the input documents. Cannot specify the same task more than once.",
+ "properties": {
+ "entityRecognitionTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntitiesTask"
+ }
+ },
+ "entityRecognitionPiiTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PiiTask"
+ }
+ },
+ "keyPhraseExtractionTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyPhrasesTask"
+ }
+ },
+ "entityLinkingTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityLinkingTask"
+ }
+ },
+ "sentimentAnalysisTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SentimentAnalysisTask"
+ }
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "tasks"
+ ],
+ "type": "object"
+ },
+ "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",
+ "NotFound"
+ ],
+ "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."
+ }
+ }
+ },
+ "PiiTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "domain": {
+ "default": "none",
+ "enum": [
+ "phi",
+ "none"
+ ],
+ "type": "string"
+ },
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": true,
+ "type": "boolean"
+ },
+ "piiCategories": {
+ "$ref": "#/definitions/PiiCategories"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EntitiesTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SentimentAnalysisTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ },
+ "opinionMining": {
+ "default": false,
+ "type": "boolean"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "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."
+ }
+ }
+ },
+ "AnalyzeBatchInput": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDescriptor"
+ },
+ {
+ "$ref": "#/definitions/AnalysisInput"
+ },
+ {
+ "$ref": "#/definitions/JobManifest"
+ }
+ ]
+ },
+ "AnalyzeJobState": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AnalyzeJobMetadata"
+ },
+ {
+ "$ref": "#/definitions/TasksState"
+ },
+ {
+ "$ref": "#/definitions/AnalyzeJobErrorsAndStatistics"
+ },
+ {
+ "$ref": "#/definitions/Pagination"
+ }
+ ]
+ },
+ "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."
+ }
+ }
+ },
+ "TaskState": {
+ "properties": {
+ "lastUpdateDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "taskName": {
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "notStarted",
+ "running",
+ "succeeded",
+ "failed",
+ "rejected",
+ "cancelled",
+ "cancelling"
+ ],
+ "x-ms-enum": {
+ "modelAsString": false,
+ "name": "State"
+ }
+ }
+ },
+ "required": [
+ "status",
+ "lastUpdateDateTime",
+ "taskName"
+ ],
+ "type": "object"
+ },
+ "TasksState": {
+ "properties": {
+ "tasks": {
+ "properties": {
+ "completed": {
+ "type": "integer"
+ },
+ "failed": {
+ "type": "integer"
+ },
+ "inProgress": {
+ "type": "integer"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "entityRecognitionTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/EntitiesTaskResult"
+ }
+ ]
+ }
+ },
+ "entityRecognitionPiiTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/PiiTaskResult"
+ }
+ ]
+ }
+ },
+ "keyPhraseExtractionTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/KeyPhraseTaskResult"
+ }
+ ]
+ }
+ },
+ "entityLinkingTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/EntityLinkingTaskResult"
+ }
+ ]
+ }
+ },
+ "sentimentAnalysisTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/SentimentTaskResult"
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "total",
+ "completed",
+ "failed",
+ "inProgress"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "tasks"
+ ],
+ "type": "object"
+ },
+ "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."
+ },
+ "targets": {
+ "type": "array",
+ "description": "The array of sentence targets for the sentence.",
+ "items": {
+ "$ref": "#/definitions/SentenceTarget"
+ }
+ },
+ "assessments": {
+ "type": "array",
+ "description": "The array of assessments for the sentence.",
+ "items": {
+ "$ref": "#/definitions/SentenceAssessment"
+ }
+ }
+ }
+ },
+ "SentenceTarget": {
+ "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": "Targeted sentiment in the sentence."
+ },
+ "confidenceScores": {
+ "description": "Target sentiment confidence scores for the target in the sentence.",
+ "$ref": "#/definitions/TargetConfidenceScoreLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The target offset from the start of the sentence."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the target."
+ },
+ "text": {
+ "type": "string",
+ "description": "The target text detected."
+ },
+ "relations": {
+ "type": "array",
+ "description": "The array of either assessment or target objects which is related to the target.",
+ "items": {
+ "$ref": "#/definitions/TargetRelation"
+ }
+ }
+ }
+ },
+ "SentenceAssessment": {
+ "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": "Assessment sentiment in the sentence."
+ },
+ "confidenceScores": {
+ "description": "Assessment sentiment confidence scores in the sentence.",
+ "$ref": "#/definitions/TargetConfidenceScoreLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The assessment offset from the start of the sentence."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the assessment."
+ },
+ "text": {
+ "type": "string",
+ "description": "The assessment text detected."
+ },
+ "isNegated": {
+ "type": "boolean",
+ "description": "The indicator representing if the assessment is negated."
+ }
+ }
+ },
+ "TargetRelation": {
+ "type": "object",
+ "required": [
+ "ref",
+ "relationType"
+ ],
+ "properties": {
+ "relationType": {
+ "type": "string",
+ "enum": [
+ "assessment",
+ "target"
+ ],
+ "x-ms-enum": {
+ "name": "TargetRelationType",
+ "modelAsString": false
+ },
+ "description": "The type related to the target."
+ },
+ "ref": {
+ "type": "string",
+ "description": "The JSON pointer indicating the linked object."
+ }
+ }
+ },
+ "TargetConfidenceScoreLabel": {
+ "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."
+ }
+ }
+ },
+ "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",
+ "redactedText",
+ "entities",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "redactedText": {
+ "type": "string",
+ "description": "Returns redacted text."
+ },
+ "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"
+ }
+ }
+ },
+ "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."
+ },
+ "subcategory": {
+ "type": "string",
+ "description": "(Optional) Entity sub type."
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start position for the entity text. Use of different 'stringIndexType' values can affect the offset returned."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Length for the entity text. Use of different 'stringIndexType' values can affect the length returned."
+ },
+ "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"
+ }
+ }
+ },
+ "HealthcareJobState": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobMetadata"
+ },
+ {
+ "$ref": "#/definitions/HealthcareTaskResult"
+ },
+ {
+ "$ref": "#/definitions/Pagination"
+ }
+ ]
+ },
+ "HealthcareResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentHealthcareEntities"
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "DocumentHealthcareEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "entities",
+ "relations",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "entities": {
+ "description": "Healthcare entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthcareEntity"
+ }
+ },
+ "relations": {
+ "type": "array",
+ "description": "Healthcare entity relations.",
+ "items": {
+ "$ref": "#/definitions/HealthcareRelation"
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "HealthcareEntity": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthcareEntityProperties"
+ },
+ {
+ "$ref": "#/definitions/HealthcareLinkingProperties"
+ }
+ ]
+ },
+ "HealthcareRelation": {
+ "type": "object",
+ "description": "Every relation is an entity graph of a certain relationType, where all entities are connected and have specific roles within the relation context.",
+ "required": [
+ "relationType",
+ "entities"
+ ],
+ "properties": {
+ "relationType": {
+ "description": "Type of relation. Examples include: `DosageOfMedication` or 'FrequencyOfMedication', etc.",
+ "type": "string",
+ "enum": [
+ "Abbreviation",
+ "DirectionOfBodyStructure",
+ "DirectionOfCondition",
+ "DirectionOfExamination",
+ "DirectionOfTreatment",
+ "DosageOfMedication",
+ "FormOfMedication",
+ "FrequencyOfMedication",
+ "FrequencyOfTreatment",
+ "QualifierOfCondition",
+ "RelationOfExamination",
+ "RouteOfMedication",
+ "TimeOfCondition",
+ "TimeOfEvent",
+ "TimeOfExamination",
+ "TimeOfMedication",
+ "TimeOfTreatment",
+ "UnitOfCondition",
+ "UnitOfExamination",
+ "ValueOfCondition",
+ "ValueOfExamination"
+ ],
+ "x-ms-enum": {
+ "name": "relationType",
+ "modelAsString": true
+ }
+ },
+ "entities": {
+ "description": "The entities in the relation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthcareRelationEntity"
+ }
+ }
+ }
+ },
+ "HealthcareAssertion": {
+ "type": "object",
+ "properties": {
+ "conditionality": {
+ "description": "Describes any conditionality on the entity.",
+ "type": "string",
+ "enum": [
+ "hypothetical",
+ "conditional"
+ ],
+ "x-ms-enum": {
+ "name": "Conditionality",
+ "modelAsString": false
+ }
+ },
+ "certainty": {
+ "description": "Describes the entities certainty and polarity.",
+ "type": "string",
+ "enum": [
+ "positive",
+ "positivePossible",
+ "neutralPossible",
+ "negativePossible",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "Certainty",
+ "modelAsString": false
+ }
+ },
+ "association": {
+ "description": "Describes if the entity is the subject of the text or if it describes someone else.",
+ "type": "string",
+ "enum": [
+ "subject",
+ "other"
+ ],
+ "x-ms-enum": {
+ "name": "Association",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "HealthcareRelationEntity": {
+ "type": "object",
+ "required": [
+ "ref",
+ "role"
+ ],
+ "properties": {
+ "ref": {
+ "description": "Reference link object, using a JSON pointer RFC 6901 (URI Fragment Identifier Representation), pointing to the entity .",
+ "type": "string"
+ },
+ "role": {
+ "description": "Role of entity in the relationship. For example: 'CD20-positive diffuse large B-cell lymphoma' has the following entities with their roles in parenthesis: CD20 (GeneOrProtein), Positive (Expression), diffuse large B-cell lymphoma (Diagnosis).",
+ "type": "string"
+ }
+ }
+ },
+ "HealthcareEntityLink": {
+ "type": "object",
+ "required": [
+ "dataSource",
+ "id"
+ ],
+ "properties": {
+ "dataSource": {
+ "description": "Entity Catalog. Examples include: UMLS, CHV, MSH, etc.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Entity id in the given source catalog.",
+ "type": "string"
+ }
+ }
+ },
+ "HealthcareEntityProperties": {
+ "type": "object",
+ "required": [
+ "text",
+ "category",
+ "offset",
+ "length",
+ "confidenceScore"
+ ],
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "Entity text as appears in the request."
+ },
+ "category": {
+ "x-ms-enum": {
+ "name": "healthcareEntityCategory",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Healthcare Entity Category.",
+ "enum": [
+ "BODY_STRUCTURE",
+ "AGE",
+ "GENDER",
+ "EXAMINATION_NAME",
+ "DATE",
+ "DIRECTION",
+ "FREQUENCY",
+ "MEASUREMENT_VALUE",
+ "MEASUREMENT_UNIT",
+ "RELATIONAL_OPERATOR",
+ "TIME",
+ "GENE_OR_PROTEIN",
+ "VARIANT",
+ "ADMINISTRATIVE_EVENT",
+ "CARE_ENVIRONMENT",
+ "HEALTHCARE_PROFESSION",
+ "DIAGNOSIS",
+ "SYMPTOM_OR_SIGN",
+ "CONDITION_QUALIFIER",
+ "MEDICATION_CLASS",
+ "MEDICATION_NAME",
+ "DOSAGE",
+ "MEDICATION_FORM",
+ "MEDICATION_ROUTE",
+ "FAMILY_RELATION",
+ "TREATMENT_NAME"
+ ]
+ },
+ "subcategory": {
+ "type": "string",
+ "description": "(Optional) Entity sub type."
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start position for the entity text. Use of different 'stringIndexType' values can affect the offset returned."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Length for the entity text. Use of different 'stringIndexType' values can affect the length returned."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "format": "double",
+ "description": "Confidence score between 0 and 1 of the extracted entity."
+ }
+ }
+ },
+ "HealthcareLinkingProperties": {
+ "properties": {
+ "assertion": {
+ "type": "object",
+ "$ref": "#/definitions/HealthcareAssertion"
+ },
+ "name": {
+ "description": "Preferred name for the entity. Example: 'histologically' would have a 'name' of 'histologic'.",
+ "type": "string"
+ },
+ "links": {
+ "description": "Entity references in known data sources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthcareEntityLink"
+ }
+ }
+ }
+ },
+ "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 Entity Search API unique identifier of the recognized entity."
+ }
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "AnalysisInput": {
+ "type": "object",
+ "required": [
+ "analysisInput"
+ ],
+ "properties": {
+ "analysisInput": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ }
+ }
+ },
+ "EntitiesTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/EntitiesResult"
+ }
+ }
+ },
+ "PiiTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/PiiResult"
+ }
+ }
+ },
+ "KeyPhraseTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/KeyPhraseResult"
+ }
+ }
+ },
+ "EntityLinkingTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/EntityLinkingResult"
+ }
+ }
+ },
+ "SentimentTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/SentimentResponse"
+ }
+ }
+ },
+ "HealthcareTaskResult": {
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/HealthcareResult"
+ },
+ "errors": {
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "JobDescriptor": {
+ "properties": {
+ "displayName": {
+ "description": "Optional display name for the analysis job.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "JobMetadata": {
+ "properties": {
+ "createdDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "expirationDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "jobId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "lastUpdateDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "notStarted",
+ "running",
+ "succeeded",
+ "failed",
+ "cancelled",
+ "cancelling"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": false,
+ "name": "State"
+ }
+ }
+ },
+ "required": [
+ "jobId",
+ "lastUpdateDateTime",
+ "createdDateTime",
+ "status"
+ ],
+ "type": "object"
+ },
+ "AnalyzeJobDisplayName": {
+ "properties": {
+ "displayName": {
+ "type": "string"
+ }
+ }
+ },
+ "AnalyzeJobMetadata": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobMetadata"
+ },
+ {
+ "$ref": "#/definitions/AnalyzeJobDisplayName"
+ }
+ ]
+ },
+ "AnalyzeJobErrorsAndStatistics": {
+ "properties": {
+ "errors": {
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ },
+ "type": "array"
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ }
+ },
+ "type": "object"
+ },
+ "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"
+ }
+ }
+ },
+ "KeyPhrasesTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EntityLinkingTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "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"
+ }
+ }
+ },
+ "Pagination": {
+ "properties": {
+ "@nextLink": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PiiResult": {
+ "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."
+ }
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "StringIndexType": {
+ "default": "TextElement_v8",
+ "enum": [
+ "TextElement_v8",
+ "UnicodeCodePoint",
+ "Utf16CodeUnit"
+ ],
+ "x-ms-enum": {
+ "name": "StringIndexType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "TextElement_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."
+ }
+ ]
+ },
+ "type": "string"
+ },
+ "PiiCategories": {
+ "description": "(Optional) describes the PII categories to return",
+ "items": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PiiCategory",
+ "modelAsString": true
+ },
+ "enum": [
+ "ABARoutingNumber",
+ "ARNationalIdentityNumber",
+ "AUBankAccountNumber",
+ "AUDriversLicenseNumber",
+ "AUMedicalAccountNumber",
+ "AUPassportNumber",
+ "AUTaxFileNumber",
+ "AUBusinessNumber",
+ "AUCompanyNumber",
+ "ATIdentityCard",
+ "ATTaxIdentificationNumber",
+ "ATValueAddedTaxNumber",
+ "AzureDocumentDBAuthKey",
+ "AzureIAASDatabaseConnectionAndSQLString",
+ "AzureIoTConnectionString",
+ "AzurePublishSettingPassword",
+ "AzureRedisCacheString",
+ "AzureSAS",
+ "AzureServiceBusString",
+ "AzureStorageAccountKey",
+ "AzureStorageAccountGeneric",
+ "BENationalNumber",
+ "BENationalNumberV2",
+ "BEValueAddedTaxNumber",
+ "BRCPFNumber",
+ "BRLegalEntityNumber",
+ "BRNationalIDRG",
+ "BGUniformCivilNumber",
+ "CABankAccountNumber",
+ "CADriversLicenseNumber",
+ "CAHealthServiceNumber",
+ "CAPassportNumber",
+ "CAPersonalHealthIdentification",
+ "CASocialInsuranceNumber",
+ "CLIdentityCardNumber",
+ "CNResidentIdentityCardNumber",
+ "CreditCardNumber",
+ "HRIdentityCardNumber",
+ "HRNationalIDNumber",
+ "HRPersonalIdentificationNumber",
+ "HRPersonalIdentificationOIBNumberV2",
+ "CYIdentityCard",
+ "CYTaxIdentificationNumber",
+ "CZPersonalIdentityNumber",
+ "CZPersonalIdentityV2",
+ "DKPersonalIdentificationNumber",
+ "DKPersonalIdentificationV2",
+ "DrugEnforcementAgencyNumber",
+ "EEPersonalIdentificationCode",
+ "EUDebitCardNumber",
+ "EUDriversLicenseNumber",
+ "EUGPSCoordinates",
+ "EUNationalIdentificationNumber",
+ "EUPassportNumber",
+ "EUSocialSecurityNumber",
+ "EUTaxIdentificationNumber",
+ "FIEuropeanHealthNumber",
+ "FINationalID",
+ "FINationalIDV2",
+ "FIPassportNumber",
+ "FRDriversLicenseNumber",
+ "FRHealthInsuranceNumber",
+ "FRNationalID",
+ "FRPassportNumber",
+ "FRSocialSecurityNumber",
+ "FRTaxIdentificationNumber",
+ "FRValueAddedTaxNumber",
+ "DEDriversLicenseNumber",
+ "DEPassportNumber",
+ "DEIdentityCardNumber",
+ "DETaxIdentificationNumber",
+ "DEValueAddedNumber",
+ "GRNationalIDCard",
+ "GRNationalIDV2",
+ "GRTaxIdentificationNumber",
+ "HKIdentityCardNumber",
+ "HUValueAddedNumber",
+ "HUPersonalIdentificationNumber",
+ "HUTaxIdentificationNumber",
+ "INPermanentAccount",
+ "INUniqueIdentificationNumber",
+ "IDIdentityCardNumber",
+ "InternationalBankingAccountNumber",
+ "IEPersonalPublicServiceNumber",
+ "IEPersonalPublicServiceNumberV2",
+ "ILBankAccountNumber",
+ "ILNationalID",
+ "ITDriversLicenseNumber",
+ "ITFiscalCode",
+ "ITValueAddedTaxNumber",
+ "JPBankAccountNumber",
+ "JPDriversLicenseNumber",
+ "JPPassportNumber",
+ "JPResidentRegistrationNumber",
+ "JPSocialInsuranceNumber",
+ "JPMyNumberCorporate",
+ "JPMyNumberPersonal",
+ "JPResidenceCardNumber",
+ "LVPersonalCode",
+ "LTPersonalCode",
+ "LUNationalIdentificationNumberNatural",
+ "LUNationalIdentificationNumberNonNatural",
+ "MYIdentityCardNumber",
+ "MTIdentityCardNumber",
+ "MTTaxIDNumber",
+ "NLCitizensServiceNumber",
+ "NLCitizensServiceNumberV2",
+ "NLTaxIdentificationNumber",
+ "NLValueAddedTaxNumber",
+ "NZBankAccountNumber",
+ "NZDriversLicenseNumber",
+ "NZInlandRevenueNumber",
+ "NZMinistryOfHealthNumber",
+ "NZSocialWelfareNumber",
+ "NOIdentityNumber",
+ "PHUnifiedMultiPurposeIDNumber",
+ "PLIdentityCard",
+ "PLNationalID",
+ "PLNationalIDV2",
+ "PLPassportNumber",
+ "PLTaxIdentificationNumber",
+ "PLREGONNumber",
+ "PTCitizenCardNumber",
+ "PTCitizenCardNumberV2",
+ "PTTaxIdentificationNumber",
+ "ROPersonalNumericalCode",
+ "RUPassportNumberDomestic",
+ "RUPassportNumberInternational",
+ "SANationalID",
+ "SGNationalRegistrationIdentityCardNumber",
+ "SKPersonalNumber",
+ "SITaxIdentificationNumber",
+ "SIUniqueMasterCitizenNumber",
+ "ZAIdentificationNumber",
+ "KRResidentRegistrationNumber",
+ "ESDNI",
+ "ESSocialSecurityNumber",
+ "ESTaxIdentificationNumber",
+ "SQLServerConnectionString",
+ "SENationalID",
+ "SENationalIDV2",
+ "SEPassportNumber",
+ "SETaxIdentificationNumber",
+ "SWIFTCode",
+ "CHSocialSecurityNumber",
+ "TWNationalID",
+ "TWPassportNumber",
+ "TWResidentCertificate",
+ "THPopulationIdentificationCode",
+ "TRNationalIdentificationNumber",
+ "UKDriversLicenseNumber",
+ "UKElectoralRollNumber",
+ "UKNationalHealthNumber",
+ "UKNationalInsuranceNumber",
+ "UKUniqueTaxpayerNumber",
+ "USUKPassportNumber",
+ "USBankAccountNumber",
+ "USDriversLicenseNumber",
+ "USIndividualTaxpayerIdentification",
+ "USSocialSecurityNumber",
+ "UAPassportNumberDomestic",
+ "UAPassportNumberInternational",
+ "Organization",
+ "Email",
+ "URL",
+ "Age",
+ "PhoneNumber",
+ "IPAddress",
+ "Date",
+ "Person",
+ "Address",
+ "All",
+ "Default"
+ ]
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "parameters": {
+ "ApiVersion": {
+ "name": "ApiVersion",
+ "description": "Text Analytics API version (for example, v3.0).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "v3.1"
+ ],
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "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": "TextElement_v8",
+ "enum": [
+ "TextElement_v8",
+ "UnicodeCodePoint",
+ "Utf16CodeUnit"
+ ],
+ "x-ms-enum": {
+ "name": "StringIndexType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "TextElement_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"
+ },
+ "PiiCategories": {
+ "description": "(Optional) describes the PII categories to return",
+ "in": "query",
+ "collectionFormat": "csv",
+ "items": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PiiCategory",
+ "modelAsString": true
+ },
+ "enum": [
+ "ABARoutingNumber",
+ "ARNationalIdentityNumber",
+ "AUBankAccountNumber",
+ "AUDriversLicenseNumber",
+ "AUMedicalAccountNumber",
+ "AUPassportNumber",
+ "AUTaxFileNumber",
+ "AUBusinessNumber",
+ "AUCompanyNumber",
+ "ATIdentityCard",
+ "ATTaxIdentificationNumber",
+ "ATValueAddedTaxNumber",
+ "AzureDocumentDBAuthKey",
+ "AzureIAASDatabaseConnectionAndSQLString",
+ "AzureIoTConnectionString",
+ "AzurePublishSettingPassword",
+ "AzureRedisCacheString",
+ "AzureSAS",
+ "AzureServiceBusString",
+ "AzureStorageAccountKey",
+ "AzureStorageAccountGeneric",
+ "BENationalNumber",
+ "BENationalNumberV2",
+ "BEValueAddedTaxNumber",
+ "BRCPFNumber",
+ "BRLegalEntityNumber",
+ "BRNationalIDRG",
+ "BGUniformCivilNumber",
+ "CABankAccountNumber",
+ "CADriversLicenseNumber",
+ "CAHealthServiceNumber",
+ "CAPassportNumber",
+ "CAPersonalHealthIdentification",
+ "CASocialInsuranceNumber",
+ "CLIdentityCardNumber",
+ "CNResidentIdentityCardNumber",
+ "CreditCardNumber",
+ "HRIdentityCardNumber",
+ "HRNationalIDNumber",
+ "HRPersonalIdentificationNumber",
+ "HRPersonalIdentificationOIBNumberV2",
+ "CYIdentityCard",
+ "CYTaxIdentificationNumber",
+ "CZPersonalIdentityNumber",
+ "CZPersonalIdentityV2",
+ "DKPersonalIdentificationNumber",
+ "DKPersonalIdentificationV2",
+ "DrugEnforcementAgencyNumber",
+ "EEPersonalIdentificationCode",
+ "EUDebitCardNumber",
+ "EUDriversLicenseNumber",
+ "EUGPSCoordinates",
+ "EUNationalIdentificationNumber",
+ "EUPassportNumber",
+ "EUSocialSecurityNumber",
+ "EUTaxIdentificationNumber",
+ "FIEuropeanHealthNumber",
+ "FINationalID",
+ "FINationalIDV2",
+ "FIPassportNumber",
+ "FRDriversLicenseNumber",
+ "FRHealthInsuranceNumber",
+ "FRNationalID",
+ "FRPassportNumber",
+ "FRSocialSecurityNumber",
+ "FRTaxIdentificationNumber",
+ "FRValueAddedTaxNumber",
+ "DEDriversLicenseNumber",
+ "DEPassportNumber",
+ "DEIdentityCardNumber",
+ "DETaxIdentificationNumber",
+ "DEValueAddedNumber",
+ "GRNationalIDCard",
+ "GRNationalIDV2",
+ "GRTaxIdentificationNumber",
+ "HKIdentityCardNumber",
+ "HUValueAddedNumber",
+ "HUPersonalIdentificationNumber",
+ "HUTaxIdentificationNumber",
+ "INPermanentAccount",
+ "INUniqueIdentificationNumber",
+ "IDIdentityCardNumber",
+ "InternationalBankingAccountNumber",
+ "IEPersonalPublicServiceNumber",
+ "IEPersonalPublicServiceNumberV2",
+ "ILBankAccountNumber",
+ "ILNationalID",
+ "ITDriversLicenseNumber",
+ "ITFiscalCode",
+ "ITValueAddedTaxNumber",
+ "JPBankAccountNumber",
+ "JPDriversLicenseNumber",
+ "JPPassportNumber",
+ "JPResidentRegistrationNumber",
+ "JPSocialInsuranceNumber",
+ "JPMyNumberCorporate",
+ "JPMyNumberPersonal",
+ "JPResidenceCardNumber",
+ "LVPersonalCode",
+ "LTPersonalCode",
+ "LUNationalIdentificationNumberNatural",
+ "LUNationalIdentificationNumberNonNatural",
+ "MYIdentityCardNumber",
+ "MTIdentityCardNumber",
+ "MTTaxIDNumber",
+ "NLCitizensServiceNumber",
+ "NLCitizensServiceNumberV2",
+ "NLTaxIdentificationNumber",
+ "NLValueAddedTaxNumber",
+ "NZBankAccountNumber",
+ "NZDriversLicenseNumber",
+ "NZInlandRevenueNumber",
+ "NZMinistryOfHealthNumber",
+ "NZSocialWelfareNumber",
+ "NOIdentityNumber",
+ "PHUnifiedMultiPurposeIDNumber",
+ "PLIdentityCard",
+ "PLNationalID",
+ "PLNationalIDV2",
+ "PLPassportNumber",
+ "PLTaxIdentificationNumber",
+ "PLREGONNumber",
+ "PTCitizenCardNumber",
+ "PTCitizenCardNumberV2",
+ "PTTaxIdentificationNumber",
+ "ROPersonalNumericalCode",
+ "RUPassportNumberDomestic",
+ "RUPassportNumberInternational",
+ "SANationalID",
+ "SGNationalRegistrationIdentityCardNumber",
+ "SKPersonalNumber",
+ "SITaxIdentificationNumber",
+ "SIUniqueMasterCitizenNumber",
+ "ZAIdentificationNumber",
+ "KRResidentRegistrationNumber",
+ "ESDNI",
+ "ESSocialSecurityNumber",
+ "ESTaxIdentificationNumber",
+ "SQLServerConnectionString",
+ "SENationalID",
+ "SENationalIDV2",
+ "SEPassportNumber",
+ "SETaxIdentificationNumber",
+ "SWIFTCode",
+ "CHSocialSecurityNumber",
+ "TWNationalID",
+ "TWPassportNumber",
+ "TWResidentCertificate",
+ "THPopulationIdentificationCode",
+ "TRNationalIdentificationNumber",
+ "UKDriversLicenseNumber",
+ "UKElectoralRollNumber",
+ "UKNationalHealthNumber",
+ "UKNationalInsuranceNumber",
+ "UKUniqueTaxpayerNumber",
+ "USUKPassportNumber",
+ "USBankAccountNumber",
+ "USDriversLicenseNumber",
+ "USIndividualTaxpayerIdentification",
+ "USSocialSecurityNumber",
+ "UAPassportNumberDomestic",
+ "UAPassportNumberInternational",
+ "Organization",
+ "Email",
+ "URL",
+ "Age",
+ "PhoneNumber",
+ "IPAddress",
+ "Date",
+ "Person",
+ "Address",
+ "All",
+ "Default"
+ ]
+ },
+ "name": "piiCategories",
+ "required": false,
+ "type": "array",
+ "uniqueItems": true,
+ "x-ms-parameter-location": "method"
+ },
+ "JobId": {
+ "description": "Job ID",
+ "format": "uuid",
+ "in": "path",
+ "name": "jobId",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AnalyzeJobId": {
+ "description": "Job ID for Analyze",
+ "in": "path",
+ "name": "jobId",
+ "required": true,
+ "type": "string",
+ "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"
+ },
+ "LoggingOptOut": {
+ "name": "loggingOptOut",
+ "in": "query",
+ "description": "(Optional) If set to true, you opt-out of having your text input logged for troubleshooting. By default, Text Analytics logs your input text for 48 hours, solely to allow for troubleshooting issues in providing you with the Text Analytics natural language processing functions. Setting this parameter to true, disables input logging and may limit our ability to remediate issues that occur. Please see Cognitive Services Compliance and Privacy notes at https://aka.ms/cs-compliance for additional details, and Microsoft Responsible AI principles at https://www.microsoft.com/en-us/ai/responsible-ai.",
+ "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/stable/v3.1/examples/SuccessfulAnalyzeRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulAnalyzeRequest.json
new file mode 100644
index 000000000000..f80468967cea
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulAnalyzeRequest.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.1",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}",
+ "input": {
+ "displayName": "Extracting Location & US Region",
+ "analysisInput": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "I had a wonderful trip to Seattle last week."
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "I'm flying to NYC tomorrow. See you there."
+ }
+ ]
+ },
+ "tasks": {
+ "entityRecognitionTasks": [
+ {
+ "parameters": {
+ "model-version": "latest"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/text/analytics/v3.1/analyze/jobs/{jobId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulAnalyzeStatusRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulAnalyzeStatusRequest.json
new file mode 100644
index 000000000000..d4ee37b40eab
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulAnalyzeStatusRequest.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.1",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "createdDateTime": "2020-10-01T15:00:45Z",
+ "displayName": "Extracting Location & US Region",
+ "expirationDateTime": "2020-10-03T15:01:03Z",
+ "jobId": "c0f2a446-05d9-48fc-ba8f-3ef4af8d0b18",
+ "lastUpdateDateTime": "2020-10-01T15:01:03Z",
+ "status": "succeeded",
+ "tasks": {
+ "completed": 2,
+ "failed": 0,
+ "inProgress": 0,
+ "total": 2,
+ "entityRecognitionTasks": [
+ {
+ "taskName": "Recognize Entities (2020-04-01)",
+ "lastUpdateDateTime": "2020-10-01T15:01:03Z",
+ "status": "succeeded",
+ "results": {
+ "documents": [
+ {
+ "entities": [
+ {
+ "category": "Event",
+ "confidenceScore": 0.61,
+ "length": 4,
+ "offset": 18,
+ "text": "trip"
+ },
+ {
+ "category": "Location",
+ "confidenceScore": 0.82,
+ "length": 7,
+ "offset": 26,
+ "subcategory": "GPE",
+ "text": "Seattle"
+ },
+ {
+ "category": "DateTime",
+ "confidenceScore": 0.8,
+ "length": 9,
+ "offset": 34,
+ "subcategory": "DateRange",
+ "text": "last week"
+ }
+ ],
+ "id": "1",
+ "warnings": []
+ },
+ {
+ "entities": [
+ {
+ "category": "Location",
+ "confidenceScore": 0.52,
+ "length": 3,
+ "offset": 14,
+ "subcategory": "GPE",
+ "text": "NYC"
+ },
+ {
+ "category": "DateTime",
+ "confidenceScore": 0.8,
+ "length": 8,
+ "offset": 18,
+ "subcategory": "Date",
+ "text": "tomorrow"
+ }
+ ],
+ "id": "2",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-04-01"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulEntitiesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulEntitiesRequest.json
new file mode 100644
index 000000000000..5c72248e9ba2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulEntitiesRequest.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.1",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Microsoft was founded by Bill Gates and Paul Allen."
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "Pike place market is my favorite Seattle attraction."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "entities": [
+ {
+ "category": "Organization",
+ "confidenceScore": 0.84,
+ "length": 9,
+ "offset": 0,
+ "text": "Microsoft"
+ },
+ {
+ "category": "Person",
+ "confidenceScore": 0.85,
+ "length": 10,
+ "offset": 25,
+ "text": "Bill Gates"
+ },
+ {
+ "category": "Person",
+ "confidenceScore": 0.9,
+ "length": 10,
+ "offset": 40,
+ "text": "Paul Allen"
+ }
+ ],
+ "id": "1",
+ "warnings": []
+ },
+ {
+ "entities": [
+ {
+ "category": "Location",
+ "confidenceScore": 0.55,
+ "length": 7,
+ "offset": 33,
+ "subcategory": "GPE",
+ "text": "Seattle"
+ }
+ ],
+ "id": "2",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulEntityLinkingRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulEntityLinkingRequest.json
new file mode 100644
index 000000000000..3c5b9357e0cc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulEntityLinkingRequest.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.1",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Microsoft was founded by Bill Gates and Paul Allen."
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "Pike place market is my favorite Seattle attraction."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "entities": [
+ {
+ "dataSource": "Wikipedia",
+ "id": "Bill Gates",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.52,
+ "length": 10,
+ "offset": 25,
+ "text": "Bill Gates"
+ }
+ ],
+ "name": "Bill Gates",
+ "url": "https://en.wikipedia.org/wiki/Bill_Gates"
+ },
+ {
+ "dataSource": "Wikipedia",
+ "id": "Paul Allen",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.54,
+ "length": 10,
+ "offset": 40,
+ "text": "Paul Allen"
+ }
+ ],
+ "name": "Paul Allen",
+ "url": "https://en.wikipedia.org/wiki/Paul_Allen"
+ },
+ {
+ "dataSource": "Wikipedia",
+ "id": "Microsoft",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.49,
+ "length": 9,
+ "offset": 0,
+ "text": "Microsoft"
+ }
+ ],
+ "name": "Microsoft",
+ "url": "https://en.wikipedia.org/wiki/Microsoft"
+ }
+ ],
+ "id": "1",
+ "warnings": []
+ },
+ {
+ "entities": [
+ {
+ "dataSource": "Wikipedia",
+ "id": "Pike Place Market",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.86,
+ "length": 17,
+ "offset": 0,
+ "text": "Pike place market"
+ }
+ ],
+ "name": "Pike Place Market",
+ "url": "https://en.wikipedia.org/wiki/Pike_Place_Market"
+ },
+ {
+ "dataSource": "Wikipedia",
+ "id": "Seattle",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.27,
+ "length": 7,
+ "offset": 33,
+ "text": "Seattle"
+ }
+ ],
+ "name": "Seattle",
+ "url": "https://en.wikipedia.org/wiki/Seattle"
+ }
+ ],
+ "id": "2",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-02-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulEntityPIIRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulEntityPIIRequest.json
new file mode 100644
index 000000000000..8f64ad94acec
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulEntityPIIRequest.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.1",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "My SSN is 859-98-0987"
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "Your ABA number - 111000025 - is the first 9 digits in the lower left hand corner of your personal check."
+ },
+ {
+ "id": "3",
+ "language": "en",
+ "text": "Is 998.214.865-68 your Brazilian CPF number?"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "redactedText": "My SSN is ***********",
+ "entities": [
+ {
+ "category": "U.S. Social Security Number (SSN)",
+ "confidenceScore": 0.65,
+ "length": 11,
+ "offset": 28,
+ "text": "859-98-0987"
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "redactedText": "Your ABA number - ********* - is the first 9 digits in the lower left hand corner of your personal check.",
+ "entities": [
+ {
+ "category": "ABA Routing Number",
+ "confidenceScore": 0.75,
+ "length": 9,
+ "offset": 18,
+ "text": "111000025"
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "3",
+ "redactedText": "Is ************** your Brazilian CPF number?",
+ "entities": [
+ {
+ "category": "Brazil CPF Number",
+ "confidenceScore": 0.85,
+ "length": 14,
+ "offset": 3,
+ "text": "998.214.865-68"
+ }
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulHealthDeleteRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulHealthDeleteRequest.json
new file mode 100644
index 000000000000..071c295ccd22
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulHealthDeleteRequest.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.1",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/text/analytics/v3.1/entities/healthcare/jobs/{jobId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulHealthRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulHealthRequest.json
new file mode 100644
index 000000000000..3791aecb42a4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulHealthRequest.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.1",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Subject is taking 100mg of ibuprofen twice daily."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/text/analytics/v3.1/entities/healthcare/jobs/{jobId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulHealthStatusRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulHealthStatusRequest.json
new file mode 100644
index 000000000000..0c0fd5102404
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulHealthStatusRequest.json
@@ -0,0 +1,206 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.1",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "createdDateTime": "2020-10-01T15:01:03Z",
+ "expirationDateTime": "2020-10-03T15:01:03Z",
+ "jobId": "c0f2a446-05d9-48fc-ba8f-3ef4af8d0b18",
+ "lastUpdateDateTime": "2020-10-01T15:01:03Z",
+ "status": "succeeded",
+ "results": {
+ "documents": [
+ {
+ "id": "1",
+ "entities": [
+ {
+ "offset": 18,
+ "length": 5,
+ "text": "100mg",
+ "category": "DOSAGE",
+ "confidenceScore": 0.99
+ },
+ {
+ "offset": 27,
+ "length": 9,
+ "text": "ibuprofen",
+ "category": "MEDICATION_NAME",
+ "confidenceScore": 1.0,
+ "assertion": {
+ "certainty": "positive"
+ },
+ "links": [
+ {
+ "id": "C0020740",
+ "dataSource": "UMLS"
+ },
+ {
+ "id": "0000019879",
+ "dataSource": "AOD"
+ },
+ {
+ "id": "M01AE01",
+ "dataSource": "ATC"
+ },
+ {
+ "id": "0046165",
+ "dataSource": "CCPSS"
+ },
+ {
+ "id": "0000006519",
+ "dataSource": "CHV"
+ },
+ {
+ "id": "2270-2077",
+ "dataSource": "CSP"
+ },
+ {
+ "id": "DB01050",
+ "dataSource": "DRUGBANK"
+ },
+ {
+ "id": "1611",
+ "dataSource": "GS"
+ },
+ {
+ "id": "sh97005926",
+ "dataSource": "LCH_NW"
+ },
+ {
+ "id": "LP16165-0",
+ "dataSource": "LNC"
+ },
+ {
+ "id": "40458",
+ "dataSource": "MEDCIN"
+ },
+ {
+ "id": "d00015",
+ "dataSource": "MMSL"
+ },
+ {
+ "id": "D007052",
+ "dataSource": "MSH"
+ },
+ {
+ "id": "WK2XYI10QM",
+ "dataSource": "MTHSPL"
+ },
+ {
+ "id": "C561",
+ "dataSource": "NCI"
+ },
+ {
+ "id": "C561",
+ "dataSource": "NCI_CTRP"
+ },
+ {
+ "id": "00803",
+ "dataSource": "NCI_DCP"
+ },
+ {
+ "id": "NSC0256857",
+ "dataSource": "NCI_DTP"
+ },
+ {
+ "id": "WK2XYI10QM",
+ "dataSource": "NCI_FDA"
+ },
+ {
+ "id": "CDR0000613511",
+ "dataSource": "NCI_NCI-GLOSS"
+ },
+ {
+ "id": "002377",
+ "dataSource": "NDDF"
+ },
+ {
+ "id": "CDR0000040475",
+ "dataSource": "PDQ"
+ },
+ {
+ "id": "x02MO",
+ "dataSource": "RCD"
+ },
+ {
+ "id": "5640",
+ "dataSource": "RXNORM"
+ },
+ {
+ "id": "E-7772",
+ "dataSource": "SNM"
+ },
+ {
+ "id": "C-603C0",
+ "dataSource": "SNMI"
+ },
+ {
+ "id": "387207008",
+ "dataSource": "SNOMEDCT_US"
+ },
+ {
+ "id": "m39860",
+ "dataSource": "USP"
+ },
+ {
+ "id": "MTHU000060",
+ "dataSource": "USPMG"
+ },
+ {
+ "id": "4017840",
+ "dataSource": "VANDF"
+ }
+ ]
+ },
+ {
+ "offset": 37,
+ "length": 11,
+ "text": "twice daily",
+ "category": "FREQUENCY",
+ "confidenceScore": 1
+ }
+ ],
+ "relations": [
+ {
+ "relationType": "DosageOfMedication",
+ "entities": [
+ {
+ "ref": "#/documents/0/entities/0",
+ "role": "Attribute"
+ },
+ {
+ "ref": "#/documents/0/entities/1",
+ "role": "Entity"
+ }
+ ]
+ },
+ {
+ "relationType": "FrequencyOfMedication",
+ "entities": [
+ {
+ "ref": "#/documents/0/entities/2",
+ "role": "Attribute"
+ },
+ {
+ "ref": "#/documents/0/entities/1",
+ "role": "Entity"
+ }
+ ]
+ }
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-05-08"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulKeyPhrasesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulKeyPhrasesRequest.json
new file mode 100644
index 000000000000..544df54ecd4d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulKeyPhrasesRequest.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.1",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Microsoft was founded by Bill Gates and Paul Allen."
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "Text Analytics is one of the Azure Cognitive Services."
+ },
+ {
+ "id": "3",
+ "language": "en",
+ "text": "My cat might need to see a veterinarian."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "keyPhrases": [
+ "Bill Gates",
+ "Paul Allen",
+ "Microsoft"
+ ],
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "keyPhrases": [
+ "Azure Cognitive Services",
+ "Text Analytics"
+ ],
+ "warnings": []
+ },
+ {
+ "id": "3",
+ "keyPhrases": [
+ "cat",
+ "veterinarian"
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulLanguagesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulLanguagesRequest.json
new file mode 100644
index 000000000000..e5c9d454ee49
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulLanguagesRequest.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.1",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "text": "Hello world"
+ },
+ {
+ "id": "2",
+ "text": "Bonjour tout le monde"
+ },
+ {
+ "id": "3",
+ "text": "Hola mundo"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "detectedLanguage": {
+ "confidenceScore": 1,
+ "iso6391Name": "en",
+ "name": "English"
+ },
+ "id": "1",
+ "warnings": []
+ },
+ {
+ "detectedLanguage": {
+ "confidenceScore": 1,
+ "iso6391Name": "fr",
+ "name": "French"
+ },
+ "id": "2",
+ "warnings": []
+ },
+ {
+ "detectedLanguage": {
+ "confidenceScore": 1,
+ "iso6391Name": "es",
+ "name": "Spanish"
+ },
+ "id": "3",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulSentimentRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulSentimentRequest.json
new file mode 100644
index 000000000000..8170ba0275c8
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.1/examples/SuccessfulSentimentRequest.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.1",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Great atmosphere. Close to plenty of restaurants, hotels, and transit! Staff are friendly and helpful."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "confidenceScores": {
+ "negative": 0,
+ "neutral": 0,
+ "positive": 1
+ },
+ "id": "1",
+ "sentences": [
+ {
+ "targets": [
+ {
+ "confidenceScores": {
+ "negative": 0,
+ "positive": 1
+ },
+ "length": 10,
+ "offset": 6,
+ "relations": [
+ {
+ "ref": "#/documents/0/sentences/0/assessments/0",
+ "relationType": "assessment"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "atmosphere"
+ }
+ ],
+ "confidenceScores": {
+ "negative": 0,
+ "neutral": 0,
+ "positive": 1
+ },
+ "length": 17,
+ "offset": 0,
+ "assessments": [
+ {
+ "confidenceScores": {
+ "negative": 0,
+ "positive": 1
+ },
+ "isNegated": false,
+ "length": 5,
+ "offset": 0,
+ "sentiment": "positive",
+ "text": "great"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "Great atmosphere."
+ },
+ {
+ "targets": [
+ {
+ "confidenceScores": {
+ "negative": 0.01,
+ "positive": 0.99
+ },
+ "length": 11,
+ "offset": 37,
+ "relations": [
+ {
+ "ref": "#/documents/0/sentences/1/assessments/0",
+ "relationType": "assessment"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "restaurants"
+ },
+ {
+ "confidenceScores": {
+ "negative": 0.01,
+ "positive": 0.99
+ },
+ "length": 6,
+ "offset": 50,
+ "relations": [
+ {
+ "ref": "#/documents/0/sentences/1/assessments/0",
+ "relationType": "assessment"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "hotels"
+ }
+ ],
+ "confidenceScores": {
+ "negative": 0.01,
+ "neutral": 0.86,
+ "positive": 0.13
+ },
+ "length": 52,
+ "offset": 18,
+ "assessments": [
+ {
+ "confidenceScores": {
+ "negative": 0.01,
+ "positive": 0.99
+ },
+ "isNegated": false,
+ "length": 15,
+ "offset": 18,
+ "sentiment": "positive",
+ "text": "Close to plenty"
+ }
+ ],
+ "sentiment": "neutral",
+ "text": "Close to plenty of restaurants, hotels, and transit!"
+ }
+ ],
+ "sentiment": "positive",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/CheckSkuAvailability.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/CheckSkuAvailability.json
index d8e7bd7b7cb7..5ff30f99d648 100644
--- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/CheckSkuAvailability.json
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/CheckSkuAvailability.json
@@ -5,7 +5,7 @@
"location": "westus",
"parameters": {
"skus": [
- "S0"
+ "S"
],
"kind": "Face",
"type": "Microsoft.CognitiveServices/accounts"
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/GetSkus.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/GetSkus.json
index b44ab00bba73..1daed7ba8a3c 100644
--- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/GetSkus.json
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/GetSkus.json
@@ -329,47 +329,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "AUSTRALIAEAST"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "AUSTRALIAEAST"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "AUSTRALIAEAST"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "AUSTRALIAEAST"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -469,47 +429,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "BRAZILSOUTH"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "BRAZILSOUTH"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "BRAZILSOUTH"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "BRAZILSOUTH"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -589,47 +509,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "CENTRALUSEUAP"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "CENTRALUSEUAP"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "CENTRALUSEUAP"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "CENTRALUSEUAP"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -749,47 +629,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -929,47 +769,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTUS2"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTUS2"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTUS2"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTUS2"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -1089,7 +889,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -1099,41 +899,41 @@
},
{
"resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "Face",
"locations": [
- "WESTEUROPE"
+ "NORTHEUROPE"
],
"restrictions": []
},
{
"resourceType": "accounts",
- "name": "S2",
+ "name": "S0",
"tier": "Standard",
- "kind": "TextAnalytics",
+ "kind": "Face",
"locations": [
- "WESTEUROPE"
+ "NORTHEUROPE"
],
"restrictions": []
},
{
"resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
+ "name": "F0",
+ "tier": "Free",
+ "kind": "ComputerVision",
"locations": [
- "WESTEUROPE"
+ "NORTHEUROPE"
],
"restrictions": []
},
{
"resourceType": "accounts",
- "name": "S4",
+ "name": "S1",
"tier": "Standard",
- "kind": "TextAnalytics",
+ "kind": "ComputerVision",
"locations": [
- "WESTEUROPE"
+ "NORTHEUROPE"
],
"restrictions": []
},
@@ -1141,7 +941,7 @@
"resourceType": "accounts",
"name": "F0",
"tier": "Free",
- "kind": "Face",
+ "kind": "ContentModerator",
"locations": [
"NORTHEUROPE"
],
@@ -1151,7 +951,7 @@
"resourceType": "accounts",
"name": "S0",
"tier": "Standard",
- "kind": "Face",
+ "kind": "ContentModerator",
"locations": [
"NORTHEUROPE"
],
@@ -1161,7 +961,7 @@
"resourceType": "accounts",
"name": "F0",
"tier": "Free",
- "kind": "ComputerVision",
+ "kind": "TextAnalytics",
"locations": [
"NORTHEUROPE"
],
@@ -1169,9 +969,9 @@
},
{
"resourceType": "accounts",
- "name": "S1",
+ "name": "S",
"tier": "Standard",
- "kind": "ComputerVision",
+ "kind": "TextAnalytics",
"locations": [
"NORTHEUROPE"
],
@@ -1181,7 +981,7 @@
"resourceType": "accounts",
"name": "F0",
"tier": "Free",
- "kind": "ContentModerator",
+ "kind": "LUIS",
"locations": [
"NORTHEUROPE"
],
@@ -1191,7 +991,7 @@
"resourceType": "accounts",
"name": "S0",
"tier": "Standard",
- "kind": "ContentModerator",
+ "kind": "LUIS",
"locations": [
"NORTHEUROPE"
],
@@ -1201,9 +1001,9 @@
"resourceType": "accounts",
"name": "F0",
"tier": "Free",
- "kind": "TextAnalytics",
+ "kind": "Face",
"locations": [
- "NORTHEUROPE"
+ "SOUTHEASTASIA"
],
"restrictions": []
},
@@ -1211,89 +1011,9 @@
"resourceType": "accounts",
"name": "S0",
"tier": "Standard",
- "kind": "TextAnalytics",
+ "kind": "Face",
"locations": [
- "NORTHEUROPE"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "NORTHEUROPE"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "NORTHEUROPE"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "NORTHEUROPE"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "NORTHEUROPE"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "F0",
- "tier": "Free",
- "kind": "LUIS",
- "locations": [
- "NORTHEUROPE"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "LUIS",
- "locations": [
- "NORTHEUROPE"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "F0",
- "tier": "Free",
- "kind": "Face",
- "locations": [
- "SOUTHEASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "Face",
- "locations": [
- "SOUTHEASTASIA"
+ "SOUTHEASTASIA"
],
"restrictions": []
},
@@ -1369,47 +1089,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "SOUTHEASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "SOUTHEASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "SOUTHEASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "SOUTHEASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -1489,47 +1169,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTASIA"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -1649,47 +1289,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTCENTRALUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTCENTRALUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTCENTRALUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "WESTCENTRALUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -1769,47 +1369,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "SOUTHCENTRALUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "SOUTHCENTRALUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "SOUTHCENTRALUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "SOUTHCENTRALUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -1949,7 +1509,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
@@ -1957,56 +1517,6 @@
],
"restrictions": []
},
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTUS"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "F0",
- "tier": "Free",
- "kind": "LUIS",
- "locations": [
- "EASTUS"
- ],
- "restrictions": []
- },
{
"resourceType": "accounts",
"name": "S0",
@@ -2109,47 +1619,7 @@
},
{
"resourceType": "accounts",
- "name": "S0",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTUS2"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S1",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTUS2"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S2",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTUS2"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S3",
- "tier": "Standard",
- "kind": "TextAnalytics",
- "locations": [
- "EASTUS2"
- ],
- "restrictions": []
- },
- {
- "resourceType": "accounts",
- "name": "S4",
+ "name": "S",
"tier": "Standard",
"kind": "TextAnalytics",
"locations": [
diff --git a/specification/cognitiveservices/resource-manager/readme.md b/specification/cognitiveservices/resource-manager/readme.md
index fe2aad3a95f4..846c047e0ed7 100644
--- a/specification/cognitiveservices/resource-manager/readme.md
+++ b/specification/cognitiveservices/resource-manager/readme.md
@@ -71,7 +71,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
diff --git a/specification/cognitiveservices/resource-manager/readme.python.md b/specification/cognitiveservices/resource-manager/readme.python.md
index 342f0b0c1455..df7348bac398 100644
--- a/specification/cognitiveservices/resource-manager/readme.python.md
+++ b/specification/cognitiveservices/resource-manager/readme.python.md
@@ -4,18 +4,6 @@ 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.cognitiveservices
- package-name: azure-mgmt-cognitiveservices
- package-version: 2.0.0
- clear-output-folder: true
-```
-
``` yaml $(python) && $(track2)
python-mode: create
azure-arm: true
@@ -26,17 +14,11 @@ package-version: 11.0.0b1
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
no-namespace-folders: true
output-folder: $(python-sdks-folder)/cognitiveservices/azure-mgmt-cognitiveservices/azure/mgmt/cognitiveservices
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/cognitiveservices/azure-mgmt-cognitiveservices/azure/mgmt/cognitiveservices
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
basic-setup-py: true
output-folder: $(python-sdks-folder)/cognitiveservices/azure-mgmt-cognitiveservices
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/cognitiveservices/azure-mgmt-cognitiveservices
```
diff --git a/specification/commerce/resource-manager/readme.md b/specification/commerce/resource-manager/readme.md
index 78eeba4be483..9decb8b7ce87 100644
--- a/specification/commerce/resource-manager/readme.md
+++ b/specification/commerce/resource-manager/readme.md
@@ -59,9 +59,7 @@ 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-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
@@ -75,43 +73,7 @@ swagger-to-sdk:
## 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.commerce
- package-name: azure-mgmt-commerce
- 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-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:
- namespace: azure.mgmt.commerce.v2015_06_01_preview
- output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce/azure/mgmt/commerce/v2015_06_01_preview
-```
+See configuration in [readme.python.md](./readme.python.md)
## Go
diff --git a/specification/commerce/resource-manager/readme.python.md b/specification/commerce/resource-manager/readme.python.md
new file mode 100644
index 000000000000..a89b9c1df3a8
--- /dev/null
+++ b/specification/commerce/resource-manager/readme.python.md
@@ -0,0 +1,48 @@
+## Python
+
+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-commerce
+package-version: 1.0.0b1
+no-namespace-folders: true
+```
+
+### Python multi-api
+
+Generate all API versions currently shipped for this package
+
+```yaml $(multiapi)
+clear-output-folder: true
+batch:
+ - tag: package-2015-06-preview
+ - multiapiscript: true
+```
+
+``` yaml $(multiapiscript)
+output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce/azure/mgmt/commerce/
+clear-output-folder: false
+perform-load: false
+```
+
+### 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'
+namespace: azure.mgmt.commerce.v2015_06_01_preview
+output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce/azure/mgmt/commerce/v2015_06_01_preview
+```
+
+``` yaml $(python) && $(track2)
+modelerfour:
+ lenient-model-deduplication: true
+directive:
+ - from: swagger-document
+ where: $.definitions.OfferTermInfo.properties.Name
+ transform: >
+ $['x-ms-enum']['name'] = 'OfferTermInfoEnum';
+```
diff --git a/specification/commerce/resource-manager/readme.typescript.md b/specification/commerce/resource-manager/readme.typescript.md
index 2026b493f92f..c05c2e4b58f9 100644
--- a/specification/commerce/resource-manager/readme.typescript.md
+++ b/specification/commerce/resource-manager/readme.typescript.md
@@ -3,7 +3,7 @@
These settings apply only when `--typescript` is specified on the command line.
Please also specify `--typescript-sdks-folder=`.
-``` yaml $(typescript) && !$(profile)
+``` yaml $(typescript) && !$(profile-content)
typescript:
azure-arm: true
package-name: "@azure/arm-commerce"
@@ -15,9 +15,9 @@ typescript:
### Profile: profile-hybrid-2020-09-01
-These settings apply only when `--profile=profile-hybrid-2020-09-01` is specified on the command line.
+These settings apply only when `--profile-content=profile-hybrid-2020-09-01` is specified on the command line.
-``` yaml $(profile)=='profile-hybrid-2020-09-01'
+``` yaml $(profile-content)=='profile-hybrid-2020-09-01'
typescript:
package-name: "@azure/arm-commerce-profile-2020-09-01-hybrid"
output-folder: "$(typescript-sdks-folder)/sdk/commerce/arm-commerce-profile-2020-09-01-hybrid"
@@ -26,4 +26,4 @@ typescript:
generate-metadata: true
batch:
- tag: profile-hybrid-2020-09-01
-```
\ No newline at end of file
+```
diff --git a/specification/common-types/data-plane/v1/types.json b/specification/common-types/data-plane/v1/types.json
new file mode 100644
index 000000000000..b28088d93ada
--- /dev/null
+++ b/specification/common-types/data-plane/v1/types.json
@@ -0,0 +1,74 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "1.0",
+ "title": "Common types"
+ },
+ "paths": {},
+ "definitions": {
+ "ErrorDetail": {
+ "type": "object",
+ "description": "The error detail.",
+ "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/ErrorDetail"
+ },
+ "description": "The error details."
+ },
+ "additionalInfo": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorAdditionalInfo"
+ },
+ "description": "The error additional info."
+ }
+ }
+ },
+ "ErrorResponse": {
+ "type": "object",
+ "title": "Error response",
+ "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "properties": {
+ "error": {
+ "description": "The error object.",
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ }
+ },
+ "ErrorAdditionalInfo": {
+ "type": "object",
+ "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."
+ }
+ }
+}
diff --git a/specification/common-types/resource-management/v1/privatelinks.json b/specification/common-types/resource-management/v1/privatelinks.json
index 91e640b03feb..5ceea8c222c7 100644
--- a/specification/common-types/resource-management/v1/privatelinks.json
+++ b/specification/common-types/resource-management/v1/privatelinks.json
@@ -7,6 +7,7 @@
"paths": {},
"definitions": {
"PrivateEndpoint": {
+ "type": "object",
"properties": {
"id": {
"readOnly": true,
@@ -17,6 +18,7 @@
"description": "The Private Endpoint resource."
},
"PrivateEndpointConnection": {
+ "type": "object",
"properties": {
"properties": {
"$ref": "#/definitions/PrivateEndpointConnectionProperties",
@@ -32,6 +34,7 @@
"description": "The Private Endpoint Connection resource."
},
"PrivateEndpointConnectionProperties": {
+ "type": "object",
"properties": {
"privateEndpoint": {
"$ref": "#/definitions/PrivateEndpoint",
@@ -52,6 +55,7 @@
"description": "Properties of the PrivateEndpointConnectProperties."
},
"PrivateLinkServiceConnectionState": {
+ "type": "object",
"properties": {
"status": {
"$ref": "#/definitions/PrivateEndpointServiceConnectionStatus",
@@ -97,6 +101,7 @@
}
},
"PrivateLinkResource": {
+ "type": "object",
"properties": {
"properties": {
"$ref": "#/definitions/PrivateLinkResourceProperties",
@@ -112,6 +117,7 @@
"description": "A private link resource"
},
"PrivateLinkResourceProperties": {
+ "type": "object",
"properties": {
"groupId": {
"description": "The private link resource group id.",
@@ -137,6 +143,7 @@
"description": "Properties of a private link resource."
},
"PrivateEndpointConnectionListResult": {
+ "type": "object",
"properties": {
"value": {
"type": "array",
@@ -149,6 +156,7 @@
"description": "List of private endpoint connection associated with the specified storage account"
},
"PrivateLinkResourceListResult": {
+ "type": "object",
"properties": {
"value": {
"type": "array",
diff --git a/specification/common-types/resource-management/v1/types.json b/specification/common-types/resource-management/v1/types.json
index c85c6a77693a..8a817487e2b9 100644
--- a/specification/common-types/resource-management/v1/types.json
+++ b/specification/common-types/resource-management/v1/types.json
@@ -9,6 +9,7 @@
"Resource": {
"title": "Resource",
"description": "Common fields that are returned in the response for all Azure Resource Manager resources",
+ "type": "object",
"properties": {
"id": {
"readOnly": true,
@@ -32,6 +33,7 @@
"x-ms-client-name": "AzureEntityResource",
"title": "Entity Resource",
"description": "The resource model definition for an Azure Resource Manager resource with an etag.",
+ "type": "object",
"properties": {
"etag": {
"type": "string",
@@ -48,6 +50,7 @@
"TrackedResource": {
"title": "Tracked Resource",
"description": "The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'",
+ "type": "object",
"properties": {
"tags": {
"type": "object",
@@ -82,6 +85,7 @@
"ProxyResource": {
"title": "Proxy Resource",
"description": "The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location",
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/Resource"
@@ -90,6 +94,7 @@
},
"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.",
+ "type": "object",
"properties": {
"id": {
"readOnly": true,
@@ -181,6 +186,7 @@
},
"Sku": {
"description": "The resource model definition representing SKU",
+ "type": "object",
"properties": {
"name": {
"type": "string",
@@ -220,6 +226,7 @@
},
"Identity": {
"description": "Identity for the resource.",
+ "type": "object",
"properties": {
"principalId": {
"readOnly": true,
@@ -245,6 +252,7 @@
}
},
"Plan": {
+ "type": "object",
"properties": {
"name": {
"type": "string",
@@ -277,6 +285,7 @@
"ErrorResponse": {
"title": "Error Response",
"description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.)",
+ "type": "object",
"properties": {
"code": {
"readOnly": true,
@@ -312,6 +321,7 @@
}
},
"ErrorAdditionalInfo": {
+ "type": "object",
"properties": {
"type": {
"readOnly": true,
@@ -343,6 +353,7 @@
},
"display": {
"description": "Localized display information for this particular operation.",
+ "type": "object",
"properties": {
"provider": {
"description": "The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\".",
@@ -396,6 +407,7 @@
},
"OperationListResult": {
"description": "A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results.",
+ "type": "object",
"properties": {
"value": {
"type": "array",
@@ -550,7 +562,6 @@
"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/common-types/resource-management/v2/privatelinks.json b/specification/common-types/resource-management/v2/privatelinks.json
index be415f3555ea..117c93054e7b 100644
--- a/specification/common-types/resource-management/v2/privatelinks.json
+++ b/specification/common-types/resource-management/v2/privatelinks.json
@@ -7,6 +7,7 @@
"paths": {},
"definitions": {
"PrivateEndpoint": {
+ "type": "object",
"properties": {
"id": {
"readOnly": true,
@@ -17,6 +18,7 @@
"description": "The Private Endpoint resource."
},
"PrivateEndpointConnection": {
+ "type": "object",
"properties": {
"properties": {
"$ref": "#/definitions/PrivateEndpointConnectionProperties",
@@ -32,6 +34,7 @@
"description": "The Private Endpoint Connection resource."
},
"PrivateEndpointConnectionProperties": {
+ "type": "object",
"properties": {
"privateEndpoint": {
"$ref": "#/definitions/PrivateEndpoint",
@@ -52,6 +55,7 @@
"description": "Properties of the PrivateEndpointConnectProperties."
},
"PrivateLinkServiceConnectionState": {
+ "type": "object",
"properties": {
"status": {
"$ref": "#/definitions/PrivateEndpointServiceConnectionStatus",
@@ -97,6 +101,7 @@
}
},
"PrivateLinkResource": {
+ "type": "object",
"properties": {
"properties": {
"$ref": "#/definitions/PrivateLinkResourceProperties",
@@ -112,6 +117,7 @@
"description": "A private link resource"
},
"PrivateLinkResourceProperties": {
+ "type": "object",
"properties": {
"groupId": {
"description": "The private link resource group id.",
@@ -137,6 +143,7 @@
"description": "Properties of a private link resource."
},
"PrivateEndpointConnectionListResult": {
+ "type": "object",
"properties": {
"value": {
"type": "array",
@@ -149,6 +156,7 @@
"description": "List of private endpoint connection associated with the specified storage account"
},
"PrivateLinkResourceListResult": {
+ "type": "object",
"properties": {
"value": {
"type": "array",
diff --git a/specification/common-types/resource-management/v2/types.json b/specification/common-types/resource-management/v2/types.json
index b883e5c7a7f0..a6224050586b 100644
--- a/specification/common-types/resource-management/v2/types.json
+++ b/specification/common-types/resource-management/v2/types.json
@@ -9,6 +9,7 @@
"Resource": {
"title": "Resource",
"description": "Common fields that are returned in the response for all Azure Resource Manager resources",
+ "type": "object",
"properties": {
"id": {
"readOnly": true,
@@ -32,6 +33,7 @@
"x-ms-client-name": "AzureEntityResource",
"title": "Entity Resource",
"description": "The resource model definition for an Azure Resource Manager resource with an etag.",
+ "type": "object",
"properties": {
"etag": {
"type": "string",
@@ -48,6 +50,7 @@
"TrackedResource": {
"title": "Tracked Resource",
"description": "The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'",
+ "type": "object",
"properties": {
"tags": {
"type": "object",
@@ -82,6 +85,7 @@
"ProxyResource": {
"title": "Proxy Resource",
"description": "The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location",
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/Resource"
@@ -90,6 +94,7 @@
},
"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.",
+ "type": "object",
"properties": {
"id": {
"readOnly": true,
@@ -181,6 +186,7 @@
},
"Sku": {
"description": "The resource model definition representing SKU",
+ "type": "object",
"properties": {
"name": {
"type": "string",
@@ -220,6 +226,7 @@
},
"Identity": {
"description": "Identity for the resource.",
+ "type": "object",
"properties": {
"principalId": {
"readOnly": true,
@@ -245,6 +252,7 @@
}
},
"Plan": {
+ "type": "object",
"properties": {
"name": {
"type": "string",
@@ -276,6 +284,7 @@
},
"ErrorDetail": {
"description": "The error detail.",
+ "type": "object",
"properties": {
"code": {
"readOnly": true,
@@ -313,6 +322,7 @@
"ErrorResponse": {
"title": "Error response",
"description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).",
+ "type": "object",
"properties": {
"error": {
"description": "The error object.",
@@ -321,6 +331,7 @@
}
},
"ErrorAdditionalInfo": {
+ "type": "object",
"properties": {
"type": {
"readOnly": true,
@@ -352,6 +363,7 @@
},
"display": {
"description": "Localized display information for this particular operation.",
+ "type": "object",
"properties": {
"provider": {
"description": "The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\".",
@@ -405,6 +417,7 @@
},
"OperationListResult": {
"description": "A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results.",
+ "type": "object",
"properties": {
"value": {
"type": "array",
@@ -647,7 +660,6 @@
"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/communication/data-plane/CallingServer/preview/2021-06-15-preview/communicationservicescallingserver.json b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/communicationservicescallingserver.json
new file mode 100644
index 000000000000..a529c3c06520
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/communicationservicescallingserver.json
@@ -0,0 +1,1457 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-06-15-preview",
+ "title": "Azure Communication CallingServer Service",
+ "description": "Azure Communication CallingServer Service"
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/calling/callConnections": {
+ "post": {
+ "tags": [
+ "CallConnection"
+ ],
+ "summary": "Create a new call.",
+ "description": "Create a new call.",
+ "operationId": "CallConnections_CreateCall",
+ "parameters": [
+ {
+ "name": "callRequest",
+ "in": "body",
+ "description": "Create call request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateCallRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Returns the create call response.",
+ "schema": {
+ "$ref": "#/definitions/CreateCallResult"
+ }
+ },
+ "400": {
+ "$ref": "#/responses/400"
+ },
+ "401": {
+ "$ref": "#/responses/401"
+ },
+ "403": {
+ "$ref": "#/responses/403"
+ },
+ "500": {
+ "$ref": "#/responses/500"
+ }
+ },
+ "x-ms-examples": {
+ "Create a new call.": {
+ "$ref": "./examples/CallConnections_CreateCall.json"
+ }
+ }
+ }
+ },
+ "/calling/callConnections/{callConnectionId}/:hangup": {
+ "post": {
+ "tags": [
+ "CallConnection"
+ ],
+ "summary": "Hangup the call.",
+ "description": "Hangup the call.",
+ "operationId": "CallConnections_HangupCall",
+ "parameters": [
+ {
+ "name": "callConnectionId",
+ "in": "path",
+ "description": "The call connection id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Returns the hangup call response."
+ },
+ "400": {
+ "$ref": "#/responses/400"
+ },
+ "401": {
+ "$ref": "#/responses/401"
+ },
+ "403": {
+ "$ref": "#/responses/403"
+ },
+ "404": {
+ "$ref": "#/responses/404"
+ },
+ "500": {
+ "$ref": "#/responses/500"
+ }
+ },
+ "x-ms-examples": {
+ "Hangup the call.": {
+ "$ref": "./examples/CallConnections_HangupCall.json"
+ }
+ }
+ }
+ },
+ "/calling/callConnections/{callConnectionId}/:playAudio": {
+ "post": {
+ "tags": [
+ "CallConnection"
+ ],
+ "summary": "Play audio in the call.",
+ "description": "Play audio in the call.",
+ "operationId": "CallConnections_PlayAudio",
+ "parameters": [
+ {
+ "name": "callConnectionId",
+ "in": "path",
+ "description": "The call connection id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "request",
+ "in": "body",
+ "description": "Play audio request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PlayAudioRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Returns the play audio response.",
+ "schema": {
+ "$ref": "#/definitions/PlayAudioResult"
+ }
+ },
+ "400": {
+ "$ref": "#/responses/400"
+ },
+ "401": {
+ "$ref": "#/responses/401"
+ },
+ "403": {
+ "$ref": "#/responses/403"
+ },
+ "404": {
+ "$ref": "#/responses/404"
+ },
+ "500": {
+ "$ref": "#/responses/500"
+ }
+ },
+ "x-ms-examples": {
+ "Play audio in the call.": {
+ "$ref": "./examples/CallConnections_PlayAudio.json"
+ }
+ }
+ }
+ },
+ "/calling/callConnections/{callConnectionId}/:cancelAllMediaOperations": {
+ "post": {
+ "tags": [
+ "CallConnection"
+ ],
+ "summary": "Cancel all media operations.",
+ "description": "Cancel all media operations.",
+ "operationId": "CallConnections_CancelAllMediaOperations",
+ "parameters": [
+ {
+ "name": "callConnectionId",
+ "in": "path",
+ "description": "The call connection id",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "cancelAllMediaOperationRequest",
+ "in": "body",
+ "description": "The cancel all media operations context.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CancelAllMediaOperationsRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the cancel all media operations response.",
+ "schema": {
+ "$ref": "#/definitions/CancelAllMediaOperationsResult"
+ }
+ },
+ "400": {
+ "$ref": "#/responses/400"
+ },
+ "401": {
+ "$ref": "#/responses/401"
+ },
+ "403": {
+ "$ref": "#/responses/403"
+ },
+ "404": {
+ "$ref": "#/responses/404"
+ },
+ "500": {
+ "$ref": "#/responses/500"
+ }
+ },
+ "x-ms-examples": {
+ "Cancel all media operations.": {
+ "$ref": "./examples/CallConnections_CancelAllMediaOperations.json"
+ }
+ }
+ }
+ },
+ "/calling/serverCalls/{serverCallId}/participants": {
+ "post": {
+ "tags": [
+ "ServerCall"
+ ],
+ "summary": "Add a participant to the call.",
+ "description": "Add a participant to the call.",
+ "operationId": "ServerCalls_AddParticipant",
+ "parameters": [
+ {
+ "name": "serverCallId",
+ "in": "path",
+ "description": "The server call id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addParticipantRequest",
+ "in": "body",
+ "description": "The add participant request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddParticipantRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Returns the add participant response.",
+ "schema": {
+ "$ref": "#/definitions/AddParticipantResult"
+ }
+ },
+ "400": {
+ "$ref": "#/responses/400"
+ },
+ "401": {
+ "$ref": "#/responses/401"
+ },
+ "403": {
+ "$ref": "#/responses/403"
+ },
+ "404": {
+ "$ref": "#/responses/404"
+ },
+ "500": {
+ "$ref": "#/responses/500"
+ }
+ },
+ "x-ms-examples": {
+ "Add a participant to the call.": {
+ "$ref": "./examples/ServerCalls_AddParticipant.json"
+ }
+ }
+ }
+ },
+ "/calling/serverCalls/{serverCallId}/participants/{participantId}": {
+ "delete": {
+ "tags": [
+ "ServerCall"
+ ],
+ "summary": "Remove participant from the call.",
+ "description": "Remove participant from the call.",
+ "operationId": "ServerCalls_RemoveParticipant",
+ "parameters": [
+ {
+ "name": "serverCallId",
+ "in": "path",
+ "description": "Server call id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "participantId",
+ "in": "path",
+ "description": "Participant id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Returns the remove participant response."
+ },
+ "400": {
+ "$ref": "#/responses/400"
+ },
+ "401": {
+ "$ref": "#/responses/401"
+ },
+ "403": {
+ "$ref": "#/responses/403"
+ },
+ "404": {
+ "$ref": "#/responses/404"
+ },
+ "500": {
+ "$ref": "#/responses/500"
+ }
+ },
+ "x-ms-examples": {
+ "Remove participant from the call.": {
+ "$ref": "./examples/ServerCalls_RemoveParticipant.json"
+ }
+ }
+ }
+ },
+ "/calling/callConnections/{callConnectionId}/participants": {
+ "post": {
+ "tags": [
+ "CallConnection"
+ ],
+ "summary": "Add a participant to the call.",
+ "description": "Add a participant to the call.",
+ "operationId": "CallConnections_AddParticipant",
+ "parameters": [
+ {
+ "name": "callConnectionId",
+ "in": "path",
+ "description": "The call connection id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addParticipantRequest",
+ "in": "body",
+ "description": "Add participant request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddParticipantRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Returns the add participant response.",
+ "schema": {
+ "$ref": "#/definitions/AddParticipantResult"
+ }
+ },
+ "400": {
+ "$ref": "#/responses/400"
+ },
+ "401": {
+ "$ref": "#/responses/401"
+ },
+ "403": {
+ "$ref": "#/responses/403"
+ },
+ "404": {
+ "$ref": "#/responses/404"
+ },
+ "500": {
+ "$ref": "#/responses/500"
+ }
+ },
+ "x-ms-examples": {
+ "Add a participant to the call.": {
+ "$ref": "./examples/CallConnections_AddParticipant.json"
+ }
+ }
+ }
+ },
+ "/calling/callConnections/{callConnectionId}/participants/{participantId}": {
+ "delete": {
+ "tags": [
+ "CallConnection"
+ ],
+ "summary": "Remove a participant from the call.",
+ "description": "Remove a participant from the call.",
+ "operationId": "CallConnections_RemoveParticipant",
+ "parameters": [
+ {
+ "name": "callConnectionId",
+ "in": "path",
+ "description": "The call connection id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "participantId",
+ "in": "path",
+ "description": "The participant id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Returns the remove participant response."
+ },
+ "400": {
+ "$ref": "#/responses/400"
+ },
+ "401": {
+ "$ref": "#/responses/401"
+ },
+ "403": {
+ "$ref": "#/responses/403"
+ },
+ "404": {
+ "$ref": "#/responses/404"
+ },
+ "500": {
+ "$ref": "#/responses/500"
+ }
+ },
+ "x-ms-examples": {
+ "Remove a participant from the call.": {
+ "$ref": "./examples/CallConnections_RemoveParticipant.json"
+ }
+ }
+ }
+ },
+ "/calling/serverCalls/{serverCallId}/recordings": {
+ "post": {
+ "tags": [
+ "Recording"
+ ],
+ "summary": "Start recording of the call.",
+ "operationId": "ServerCalls_StartRecording",
+ "parameters": [
+ {
+ "name": "serverCallId",
+ "in": "path",
+ "description": "The server call id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "request",
+ "in": "body",
+ "description": "The request body of start call recording request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StartCallRecordingRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the start call recording response.",
+ "schema": {
+ "$ref": "#/definitions/StartCallRecordingResult"
+ }
+ },
+ "400": {
+ "$ref": "#/responses/400"
+ },
+ "401": {
+ "$ref": "#/responses/401"
+ },
+ "403": {
+ "$ref": "#/responses/403"
+ },
+ "404": {
+ "$ref": "#/responses/404"
+ },
+ "500": {
+ "$ref": "#/responses/500"
+ }
+ },
+ "x-ms-examples": {
+ "Start recording of the call.": {
+ "$ref": "./examples/ServerCalls_StartRecording.json"
+ }
+ }
+ }
+ },
+ "/calling/serverCalls/{serverCallId}/recordings/{recordingId}": {
+ "get": {
+ "tags": [
+ "Recording"
+ ],
+ "summary": "Get call recording properties.",
+ "operationId": "ServerCalls_GetRecordingProperties",
+ "parameters": [
+ {
+ "name": "serverCallId",
+ "in": "path",
+ "description": "The server call id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recordingId",
+ "in": "path",
+ "description": "The recording id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the recording state.",
+ "schema": {
+ "$ref": "#/definitions/CallRecordingProperties"
+ }
+ },
+ "400": {
+ "$ref": "#/responses/400"
+ },
+ "401": {
+ "$ref": "#/responses/401"
+ },
+ "403": {
+ "$ref": "#/responses/403"
+ },
+ "404": {
+ "$ref": "#/responses/404"
+ },
+ "500": {
+ "$ref": "#/responses/500"
+ }
+ },
+ "x-ms-examples": {
+ "Get call recording properties.": {
+ "$ref": "./examples/ServerCalls_GetRecordingProperties.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Recording"
+ ],
+ "summary": "Stop recording the call.",
+ "operationId": "ServerCalls_StopRecording",
+ "parameters": [
+ {
+ "name": "serverCallId",
+ "in": "path",
+ "description": "The server call id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recordingId",
+ "in": "path",
+ "description": "The recording id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the stop call recording response."
+ },
+ "400": {
+ "$ref": "#/responses/400"
+ },
+ "401": {
+ "$ref": "#/responses/401"
+ },
+ "403": {
+ "$ref": "#/responses/403"
+ },
+ "404": {
+ "$ref": "#/responses/404"
+ },
+ "500": {
+ "$ref": "#/responses/500"
+ }
+ },
+ "x-ms-examples": {
+ "Stop recording the call.": {
+ "$ref": "./examples/ServerCalls_StopRecording.json"
+ }
+ }
+ }
+ },
+ "/calling/serverCalls/{serverCallId}/recordings/{recordingId}/:pause": {
+ "post": {
+ "tags": [
+ "Recording"
+ ],
+ "summary": "Pause recording the call.",
+ "operationId": "ServerCalls_PauseRecording",
+ "parameters": [
+ {
+ "name": "serverCallId",
+ "in": "path",
+ "description": "The server call id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recordingId",
+ "in": "path",
+ "description": "The recording id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the pause call recording response."
+ },
+ "400": {
+ "$ref": "#/responses/400"
+ },
+ "401": {
+ "$ref": "#/responses/401"
+ },
+ "403": {
+ "$ref": "#/responses/403"
+ },
+ "404": {
+ "$ref": "#/responses/404"
+ },
+ "500": {
+ "$ref": "#/responses/500"
+ }
+ },
+ "x-ms-examples": {
+ "Pause recording the call.": {
+ "$ref": "./examples/ServerCalls_PauseRecording.json"
+ }
+ }
+ }
+ },
+ "/calling/serverCalls/{serverCallId}/recordings/{recordingId}/:resume": {
+ "post": {
+ "tags": [
+ "Recording"
+ ],
+ "summary": "Resume recording the call.",
+ "operationId": "ServerCalls_ResumeRecording",
+ "parameters": [
+ {
+ "name": "serverCallId",
+ "in": "path",
+ "description": "The server call id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recordingId",
+ "in": "path",
+ "description": "The recording id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the resume call recording response."
+ },
+ "400": {
+ "$ref": "#/responses/400"
+ },
+ "401": {
+ "$ref": "#/responses/401"
+ },
+ "403": {
+ "$ref": "#/responses/403"
+ },
+ "404": {
+ "$ref": "#/responses/404"
+ },
+ "500": {
+ "$ref": "#/responses/500"
+ }
+ },
+ "x-ms-examples": {
+ "Resume recording the call.": {
+ "$ref": "./examples/ServerCalls_ResumeRecording.json"
+ }
+ }
+ }
+ },
+ "/calling/serverCalls/{serverCallId}/:join": {
+ "post": {
+ "tags": [
+ "ServerCall"
+ ],
+ "summary": "Join a call.",
+ "description": "Join a call.",
+ "operationId": "ServerCalls_JoinCall",
+ "parameters": [
+ {
+ "name": "serverCallId",
+ "in": "path",
+ "description": "The server call id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "callRequest",
+ "in": "body",
+ "description": "The join call request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JoinCallRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Returns the join call response.",
+ "schema": {
+ "$ref": "#/definitions/JoinCallResult"
+ }
+ },
+ "400": {
+ "$ref": "#/responses/400"
+ },
+ "401": {
+ "$ref": "#/responses/401"
+ },
+ "403": {
+ "$ref": "#/responses/403"
+ },
+ "500": {
+ "$ref": "#/responses/500"
+ }
+ },
+ "x-ms-examples": {
+ "Join a call.": {
+ "$ref": "./examples/ServerCalls_JoinCall.json"
+ }
+ }
+ }
+ },
+ "/calling/serverCalls/{serverCallId}/:playAudio": {
+ "post": {
+ "tags": [
+ "ServerCall"
+ ],
+ "summary": "Play audio in the call.",
+ "description": "Play audio in the call.",
+ "operationId": "ServerCalls_PlayAudio",
+ "parameters": [
+ {
+ "name": "serverCallId",
+ "in": "path",
+ "description": "The server call id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "request",
+ "in": "body",
+ "description": "Play audio request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PlayAudioRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Returns the play audio response.",
+ "schema": {
+ "$ref": "#/definitions/PlayAudioResult"
+ }
+ },
+ "400": {
+ "$ref": "#/responses/400"
+ },
+ "401": {
+ "$ref": "#/responses/401"
+ },
+ "403": {
+ "$ref": "#/responses/403"
+ },
+ "404": {
+ "$ref": "#/responses/404"
+ },
+ "500": {
+ "$ref": "#/responses/500"
+ }
+ },
+ "x-ms-examples": {
+ "Play audio in the call.": {
+ "$ref": "./examples/ServerCalls_PlayAudio.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "MediaType": {
+ "enum": [
+ "audio",
+ "video"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MediaType",
+ "modelAsString": true
+ }
+ },
+ "EventSubscriptionType": {
+ "enum": [
+ "participantsUpdated",
+ "dtmfReceived"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EventSubscriptionType",
+ "modelAsString": true
+ }
+ },
+ "CreateCallRequest": {
+ "description": "The request payload for create call.",
+ "required": [
+ "targets",
+ "source",
+ "callbackUri"
+ ],
+ "type": "object",
+ "properties": {
+ "alternateCallerId": {
+ "$ref": "#/definitions/PhoneNumberIdentifier",
+ "description": "The alternate identity of the source of the call if dialing out to a pstn number"
+ },
+ "targets": {
+ "description": "The targets of the call.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationIdentifier"
+ }
+ },
+ "source": {
+ "$ref": "#/definitions/CommunicationIdentifier",
+ "description": "The source of the call."
+ },
+ "subject": {
+ "description": "The subject.",
+ "type": "string"
+ },
+ "callbackUri": {
+ "description": "The callback URI.",
+ "type": "string"
+ },
+ "requestedMediaTypes": {
+ "description": "The requested modalities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MediaType"
+ }
+ },
+ "requestedCallEvents": {
+ "description": "The requested call events to subscribe to.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EventSubscriptionType"
+ }
+ }
+ }
+ },
+ "PhoneNumberIdentifier": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/PhoneNumberIdentifierModel"
+ },
+ "CommunicationIdentifier": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationIdentifierModel"
+ },
+ "CommunicationUserIdentifier": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationUserIdentifierModel"
+ },
+ "CommunicationCloudEnvironment": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationCloudEnvironmentModel"
+ },
+ "MicrosoftTeamsUserIdentifier": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/MicrosoftTeamsUserIdentifierModel"
+ },
+ "CreateCallResult": {
+ "description": "The response payload of the create call operation.",
+ "type": "object",
+ "properties": {
+ "callConnectionId": {
+ "description": "The call connection id.",
+ "type": "string"
+ }
+ }
+ },
+ "PlayAudioRequest": {
+ "description": "The request payload for playing audio.",
+ "type": "object",
+ "properties": {
+ "audioFileUri": {
+ "description": "The media resource uri of the play audio request. \r\nCurrently only Wave file (.wav) format audio prompts are supported.\r\nMore specifically, the audio content in the wave file must be mono (single-channel),\r\n16-bit samples with a 16,000 (16KHz) sampling rate.",
+ "type": "string"
+ },
+ "loop": {
+ "description": "The flag indicating whether audio file needs to be played in loop or not.",
+ "type": "boolean"
+ },
+ "operationContext": {
+ "description": "The value to identify context of the operation.",
+ "type": "string"
+ },
+ "audioFileId": {
+ "description": "An id for the media in the AudioFileUri, using which we cache the media resource.",
+ "type": "string"
+ },
+ "callbackUri": {
+ "description": "The callback Uri to receive PlayAudio status notifications.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationStatus": {
+ "description": "The status of the operation",
+ "enum": [
+ "notStarted",
+ "running",
+ "completed",
+ "failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OperationStatus",
+ "modelAsString": true
+ }
+ },
+ "PlayAudioResult": {
+ "description": "The response payload for play audio operation.",
+ "required": [
+ "status"
+ ],
+ "type": "object",
+ "properties": {
+ "operationId": {
+ "description": "The operation id.",
+ "type": "string"
+ },
+ "status": {
+ "$ref": "#/definitions/OperationStatus"
+ },
+ "operationContext": {
+ "description": "The operation context provided by client.",
+ "type": "string"
+ },
+ "resultInfo": {
+ "$ref": "#/definitions/ResultInfo",
+ "description": "The result info for the operation."
+ }
+ }
+ },
+ "ResultInfo": {
+ "description": "Result info class to be used to report result status for actions/operations.",
+ "required": [
+ "code",
+ "subcode"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "format": "int32",
+ "description": "The result code associated with the operation.",
+ "type": "integer"
+ },
+ "subcode": {
+ "format": "int32",
+ "description": "The subcode that further classifies the result.",
+ "type": "integer"
+ },
+ "message": {
+ "description": "The message is a detail explanation of subcode.",
+ "type": "string"
+ }
+ }
+ },
+ "CancelAllMediaOperationsRequest": {
+ "description": "The request payload for cancel all media operations",
+ "type": "object",
+ "properties": {
+ "operationContext": {
+ "description": "The context for this operation.",
+ "type": "string"
+ }
+ }
+ },
+ "CancelAllMediaOperationsResult": {
+ "description": "The response payload of the cancel all media operations.",
+ "required": [
+ "status"
+ ],
+ "type": "object",
+ "properties": {
+ "operationId": {
+ "description": "The operation id.",
+ "type": "string"
+ },
+ "status": {
+ "$ref": "#/definitions/OperationStatus"
+ },
+ "operationContext": {
+ "description": "The operation context provided by client.",
+ "type": "string"
+ },
+ "resultInfo": {
+ "$ref": "#/definitions/ResultInfo",
+ "description": "The result info for the operation."
+ }
+ }
+ },
+ "AddParticipantRequest": {
+ "description": "The add participant request.",
+ "type": "object",
+ "properties": {
+ "alternateCallerId": {
+ "$ref": "#/definitions/PhoneNumberIdentifier",
+ "description": "The alternate identity of source participant."
+ },
+ "participant": {
+ "$ref": "#/definitions/CommunicationIdentifier",
+ "description": "The participant to be added to the call."
+ },
+ "operationContext": {
+ "description": "The operation context.",
+ "type": "string"
+ },
+ "callbackUri": {
+ "description": "The callback URI.",
+ "type": "string"
+ }
+ }
+ },
+ "AddParticipantResult": {
+ "description": "The add participant result",
+ "type": "object",
+ "properties": {
+ "participantId": {
+ "description": "The id of the added participant.",
+ "type": "string"
+ }
+ }
+ },
+ "StartCallRecordingRequest": {
+ "description": "The request payload start call recording operation.",
+ "type": "object",
+ "properties": {
+ "recordingStateCallbackUri": {
+ "description": "The uri to send notifications to.",
+ "type": "string"
+ }
+ }
+ },
+ "StartCallRecordingResult": {
+ "description": "The response payload of start call recording operation.",
+ "type": "object",
+ "properties": {
+ "recordingId": {
+ "description": "The recording id of the started recording",
+ "type": "string"
+ }
+ }
+ },
+ "CallRecordingState": {
+ "description": "The state of the recording",
+ "enum": [
+ "active",
+ "inactive"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CallRecordingState",
+ "modelAsString": true
+ }
+ },
+ "CallRecordingProperties": {
+ "description": "The response payload of get call recording properties operation.",
+ "required": [
+ "recordingState"
+ ],
+ "type": "object",
+ "properties": {
+ "recordingState": {
+ "$ref": "#/definitions/CallRecordingState"
+ }
+ }
+ },
+ "JoinCallRequest": {
+ "description": "The request payload for join call.",
+ "required": [
+ "source",
+ "callbackUri"
+ ],
+ "type": "object",
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/CommunicationIdentifier",
+ "description": "The source of the call."
+ },
+ "subject": {
+ "description": "The subject.",
+ "type": "string"
+ },
+ "callbackUri": {
+ "description": "The callback URI.",
+ "type": "string"
+ },
+ "requestedMediaTypes": {
+ "description": "The requested modalities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MediaType"
+ }
+ },
+ "requestedCallEvents": {
+ "description": "The requested call events to subscribe to.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EventSubscriptionType"
+ }
+ }
+ }
+ },
+ "JoinCallResult": {
+ "description": "The response payload of the join call operation.",
+ "type": "object",
+ "properties": {
+ "callConnectionId": {
+ "description": "The call connection id.",
+ "type": "string"
+ }
+ }
+ },
+ "CallConnectionState": {
+ "description": "The call connection state.",
+ "enum": [
+ "incoming",
+ "connecting",
+ "connected",
+ "disconnecting",
+ "disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CallConnectionState",
+ "modelAsString": true
+ }
+ },
+ "CallConnectionStateChangedEvent": {
+ "description": "The call connection state changed event.",
+ "required": [
+ "callConnectionState"
+ ],
+ "type": "object",
+ "properties": {
+ "serverCallId": {
+ "description": "The server call.id.",
+ "type": "string"
+ },
+ "callConnectionId": {
+ "description": "The call connection id.",
+ "type": "string"
+ },
+ "callConnectionState": {
+ "$ref": "#/definitions/CallConnectionState"
+ }
+ }
+ },
+ "CallRecordingStateChangeEvent": {
+ "description": "The call recording state change event.",
+ "required": [
+ "state",
+ "startDateTime"
+ ],
+ "type": "object",
+ "properties": {
+ "recordingId": {
+ "description": "The call recording id",
+ "type": "string"
+ },
+ "state": {
+ "$ref": "#/definitions/CallRecordingState"
+ },
+ "startDateTime": {
+ "format": "date-time",
+ "description": "The time of the recording started",
+ "type": "string"
+ },
+ "serverCallId": {
+ "description": "The server call.id.",
+ "type": "string"
+ }
+ }
+ },
+ "AddParticipantResultEvent": {
+ "required": [
+ "status"
+ ],
+ "type": "object",
+ "properties": {
+ "resultInfo": {
+ "$ref": "#/definitions/ResultInfo",
+ "description": "The result details."
+ },
+ "operationContext": {
+ "description": "The operation context.",
+ "type": "string"
+ },
+ "status": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ }
+ },
+ "ParticipantsUpdatedEvent": {
+ "description": "The participant update event",
+ "type": "object",
+ "properties": {
+ "callConnectionId": {
+ "description": "The call connection id.",
+ "type": "string"
+ },
+ "participants": {
+ "description": "The list of participants.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CallParticipant"
+ }
+ }
+ }
+ },
+ "CallParticipant": {
+ "description": "A participant in a call.",
+ "required": [
+ "isMuted"
+ ],
+ "type": "object",
+ "properties": {
+ "identifier": {
+ "$ref": "#/definitions/CommunicationIdentifier",
+ "description": "Communication identifier of the participant"
+ },
+ "participantId": {
+ "description": "Participant id",
+ "type": "string"
+ },
+ "isMuted": {
+ "description": "Is participant muted",
+ "type": "boolean"
+ }
+ }
+ },
+ "PlayAudioResultEvent": {
+ "description": "The play audio result event.",
+ "required": [
+ "status"
+ ],
+ "type": "object",
+ "properties": {
+ "resultInfo": {
+ "$ref": "#/definitions/ResultInfo",
+ "description": "The result details."
+ },
+ "operationContext": {
+ "description": "The operation context.",
+ "type": "string"
+ },
+ "status": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ }
+ },
+ "ToneReceivedEvent": {
+ "description": "The subscribe to tone event",
+ "required": [
+ "toneInfo"
+ ],
+ "type": "object",
+ "properties": {
+ "toneInfo": {
+ "$ref": "#/definitions/ToneInfo",
+ "description": "The tone info."
+ },
+ "callConnectionId": {
+ "description": "The call connection id.",
+ "type": "string"
+ }
+ }
+ },
+ "ToneValue": {
+ "description": "The tone value.",
+ "enum": [
+ "tone0",
+ "tone1",
+ "tone2",
+ "tone3",
+ "tone4",
+ "tone5",
+ "tone6",
+ "tone7",
+ "tone8",
+ "tone9",
+ "star",
+ "pound",
+ "a",
+ "b",
+ "c",
+ "d",
+ "flash"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ToneValue",
+ "modelAsString": true
+ }
+ },
+ "ToneInfo": {
+ "description": "The information about the tone.",
+ "required": [
+ "sequenceId",
+ "tone"
+ ],
+ "type": "object",
+ "properties": {
+ "sequenceId": {
+ "format": "int32",
+ "description": "The sequence id which can be used to determine if the same tone was played multiple times or if any tones were missed.",
+ "type": "integer"
+ },
+ "tone": {
+ "$ref": "#/definitions/ToneValue"
+ }
+ }
+ },
+ "CommunicationErrorResponse": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ },
+ "CommunicationError": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationError"
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Version of API to invoke.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "Endpoint": {
+ "name": "endpoint",
+ "in": "path",
+ "description": "The endpoint of the Azure Communication resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ }
+ },
+ "responses": {
+ "400": {
+ "description": "BadRequest",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "401": {
+ "description": "Unauthorized",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "404": {
+ "description": "NotFound",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "InternalServerError",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ }
+}
diff --git a/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_AddParticipant.json b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_AddParticipant.json
new file mode 100644
index 000000000000..e2d52eddcafd
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_AddParticipant.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.communications.azure.com",
+ "api-version": "2021-06-15-preview",
+ "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c",
+ "addParticipantRequest": {
+ "participant": {
+ "communicationUser": {
+ "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_387c0153-3b4d-4779-9ee3-a6e2440df075"
+ }
+ },
+ "operationContext": "5161f20a-7225-4a74-a529-efaf8e7b351d",
+ "callbackUri": "https://app.contoso.com/callback"
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "participantId": "c736e607-5b39-42a7-a6bb-bb43029e5bac"
+ }
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "The request contains invalid data."
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "401",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "403",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "404": {
+ "body": {
+ "error": {
+ "code": "404",
+ "message": "Resource not found on the server."
+ }
+ }
+ },
+ "500": {
+ "body": {
+ "error": {
+ "code": "500",
+ "message": "Internal server error."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_CancelAllMediaOperations.json b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_CancelAllMediaOperations.json
new file mode 100644
index 000000000000..03642fbb32b3
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_CancelAllMediaOperations.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.communications.azure.com",
+ "api-version": "2021-06-15-preview",
+ "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c",
+ "cancelAllMediaOperationRequest": {
+ "operationContext": "91848e99-0d36-4bca-ac06-6c38fe390289"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "completed",
+ "operationContext": "91848e99-0d36-4bca-ac06-6c38fe390289"
+ }
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "The request contains invalid data."
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "401",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "403",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "404": {
+ "body": {
+ "error": {
+ "code": "404",
+ "message": "Resource not found on the server."
+ }
+ }
+ },
+ "500": {
+ "body": {
+ "error": {
+ "code": "500",
+ "message": "Internal server error."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_CreateCall.json b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_CreateCall.json
new file mode 100644
index 000000000000..071b505be1ee
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_CreateCall.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.communications.azure.com",
+ "api-version": "2021-06-15-preview",
+ "callRequest": {
+ "source": {
+ "communicationUser": {
+ "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_da7be3a9-8788-42a6-85c6-56b2cf784fce"
+ }
+ },
+ "targets": [
+ {
+ "communicationUser": {
+ "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_0f50d091-5bd3-448b-884d-44be7037d9b9"
+ }
+ },
+ {
+ "phoneNumber": {
+ "value": "+14250123456"
+ }
+ }
+ ],
+ "alternateCallerId": {
+ "value": "+18440123456"
+ },
+ "subject": "Reminder call",
+ "callbackUri": "https://app.contoso.com/callback",
+ "requestedMediaTypes": [
+ "audio",
+ "video"
+ ],
+ "requestedCallEvents": [
+ "dtmfReceived",
+ "participantsUpdated"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c"
+ }
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "The request contains invalid data."
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "401",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "403",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "500": {
+ "body": {
+ "error": {
+ "code": "500",
+ "message": "Internal server error."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_HangupCall.json b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_HangupCall.json
new file mode 100644
index 000000000000..813b2fdf62fa
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_HangupCall.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.communications.azure.com",
+ "api-version": "2021-06-15-preview",
+ "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c"
+ },
+ "responses": {
+ "202": {},
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "The request contains invalid data."
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "401",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "403",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "404": {
+ "body": {
+ "error": {
+ "code": "404",
+ "message": "Resource not found on the server."
+ }
+ }
+ },
+ "500": {
+ "body": {
+ "error": {
+ "code": "500",
+ "message": "Internal server error."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_PlayAudio.json b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_PlayAudio.json
new file mode 100644
index 000000000000..7eb69a0c1b39
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_PlayAudio.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.communications.azure.com",
+ "api-version": "2021-06-15-preview",
+ "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c",
+ "request": {
+ "audioFileUri": "https://app.contoso.com/audio/message.wav",
+ "loop": false,
+ "operationContext": "31130c66-2f86-41b5-af61-23850243e093",
+ "audioFileId": "42922e2c-a204-4ac4-8d80-375ae2792389"
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "status": "running",
+ "operationContext": "31130c66-2f86-41b5-af61-23850243e093"
+ }
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "The request contains invalid data."
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "401",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "403",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "404": {
+ "body": {
+ "error": {
+ "code": "404",
+ "message": "Resource not found on the server."
+ }
+ }
+ },
+ "500": {
+ "body": {
+ "error": {
+ "code": "500",
+ "message": "Internal server error."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_RemoveParticipant.json b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_RemoveParticipant.json
new file mode 100644
index 000000000000..52b34a7ee44a
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/CallConnections_RemoveParticipant.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.communications.azure.com",
+ "api-version": "2021-06-15-preview",
+ "callConnectionId": "18dea47f-b081-4107-9a5c-4300819d2c6c",
+ "participantId": "d8b26c04-7186-41e2-971a-bdfa9a662a53"
+ },
+ "responses": {
+ "202": {},
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "The request contains invalid data."
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "401",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "403",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "404": {
+ "body": {
+ "error": {
+ "code": "404",
+ "message": "Resource not found on the server."
+ }
+ }
+ },
+ "500": {
+ "body": {
+ "error": {
+ "code": "500",
+ "message": "Internal server error."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_AddParticipant.json b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_AddParticipant.json
new file mode 100644
index 000000000000..df749269243e
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_AddParticipant.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.communications.azure.com",
+ "api-version": "2021-06-15-preview",
+ "serverCallId": "aHR0cHM6Ly9jb252ZXJzYXRpb251cmwvdGVzdA",
+ "addParticipantRequest": {
+ "participant": {
+ "communicationUser": {
+ "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_ae9e3307-f56e-44be-8934-80a63f080538"
+ }
+ },
+ "operationContext": "5161f20a-7225-4a74-a529-efaf8e7b351d",
+ "callbackUri": "https://app.contoso.com/callback"
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "participantId": "c736e607-5b39-42a7-a6bb-bb43029e5bac"
+ }
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "The request contains invalid data."
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "401",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "403",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "404": {
+ "body": {
+ "error": {
+ "code": "404",
+ "message": "Resource not found on the server."
+ }
+ }
+ },
+ "500": {
+ "body": {
+ "error": {
+ "code": "500",
+ "message": "Internal server error."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_GetRecordingProperties.json b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_GetRecordingProperties.json
new file mode 100644
index 000000000000..784c30d73294
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_GetRecordingProperties.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.communications.azure.com",
+ "api-version": "2021-06-15-preview",
+ "serverCallId": "aHR0cHM6Ly9jb252ZXJzYXRpb251cmwvdGVzdA",
+ "recordingId": "eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiI3ZjQyNmI1OC03NTRmLTQ2M2UtYWRkMS0wNWFhNGNiYjliMzQiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiJmNjMzODYwMS00MmE1LTRkMGUtODI3My01NjIwM2JhNzAzODYifQ"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "recordingState": "active"
+ }
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "The request contains invalid data."
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "401",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "403",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "404": {
+ "body": {
+ "error": {
+ "code": "404",
+ "message": "Resource not found on the server."
+ }
+ }
+ },
+ "500": {
+ "body": {
+ "error": {
+ "code": "500",
+ "message": "Internal server error."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_JoinCall.json b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_JoinCall.json
new file mode 100644
index 000000000000..c6394104b9d1
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_JoinCall.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.communications.azure.com",
+ "api-version": "2021-06-15-preview",
+ "serverCallId": "aHR0cHM6Ly9jb252ZXJzYXRpb251cmwvdGVzdA",
+ "callRequest": {
+ "source": {
+ "communicationUser": {
+ "id": "8:acs:b9614373-fd0b-480c-8fd2-cb58b70eab9f_f51123c4-004b-494d-98cf-802d4b824fc4"
+ }
+ },
+ "subject": "Incident meeting",
+ "callbackUri": "https://app.contoso.com/callback",
+ "requestedMediaTypes": [
+ "audio"
+ ],
+ "requestedCallEvents": [
+ "participantsUpdated"
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "callConnectionId": "b9614373-fd0b-480c-8fd2-cb58b70eab9f"
+ }
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "The request contains invalid data."
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "401",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "403",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "500": {
+ "body": {
+ "error": {
+ "code": "500",
+ "message": "Internal server error."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_PauseRecording.json b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_PauseRecording.json
new file mode 100644
index 000000000000..0015a5349313
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_PauseRecording.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.communications.azure.com",
+ "api-version": "2021-06-15-preview",
+ "serverCallId": "aHR0cHM6Ly9jb252ZXJzYXRpb251cmwvdGVzdA",
+ "recordingId": "eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiI3ZjQyNmI1OC03NTRmLTQ2M2UtYWRkMS0wNWFhNGNiYjliMzQiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiJmNjMzODYwMS00MmE1LTRkMGUtODI3My01NjIwM2JhNzAzODYifQ"
+ },
+ "responses": {
+ "200": {},
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "The request contains invalid data."
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "401",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "403",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "404": {
+ "body": {
+ "error": {
+ "code": "404",
+ "message": "Resource not found on the server."
+ }
+ }
+ },
+ "500": {
+ "body": {
+ "error": {
+ "code": "500",
+ "message": "Internal server error."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_PlayAudio.json b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_PlayAudio.json
new file mode 100644
index 000000000000..2f15ac48d2df
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_PlayAudio.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.communications.azure.com",
+ "api-version": "2021-06-15-preview",
+ "serverCallId": "aHR0cHM6Ly9jb252ZXJzYXRpb251cmwvdGVzdA",
+ "request": {
+ "audioFileUri": "https://app.contoso.com/audio/message.wav",
+ "loop": false,
+ "operationContext": "31130c66-2f86-41b5-af61-23850243e093",
+ "audioFileId": "42922e2c-a204-4ac4-8d80-375ae2792389",
+ "callbackUri": "https://app.contoso.com/callback"
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "status": "running",
+ "operationContext": "31130c66-2f86-41b5-af61-23850243e093"
+ }
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "The request contains invalid data."
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "401",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "403",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "404": {
+ "body": {
+ "error": {
+ "code": "404",
+ "message": "Resource not found on the server."
+ }
+ }
+ },
+ "500": {
+ "body": {
+ "error": {
+ "code": "500",
+ "message": "Internal server error."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_RemoveParticipant.json b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_RemoveParticipant.json
new file mode 100644
index 000000000000..1ab21f281dfd
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_RemoveParticipant.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.communications.azure.com",
+ "api-version": "2021-06-15-preview",
+ "serverCallId": "aHR0cHM6Ly9jb252ZXJzYXRpb251cmwvdGVzdA",
+ "participantId": "d8b26c04-7186-41e2-971a-bdfa9a662a53"
+ },
+ "responses": {
+ "202": {},
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "The request contains invalid data."
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "401",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "403",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "404": {
+ "body": {
+ "error": {
+ "code": "404",
+ "message": "Resource not found on the server."
+ }
+ }
+ },
+ "500": {
+ "body": {
+ "error": {
+ "code": "500",
+ "message": "Internal server error."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_ResumeRecording.json b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_ResumeRecording.json
new file mode 100644
index 000000000000..0015a5349313
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_ResumeRecording.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.communications.azure.com",
+ "api-version": "2021-06-15-preview",
+ "serverCallId": "aHR0cHM6Ly9jb252ZXJzYXRpb251cmwvdGVzdA",
+ "recordingId": "eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiI3ZjQyNmI1OC03NTRmLTQ2M2UtYWRkMS0wNWFhNGNiYjliMzQiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiJmNjMzODYwMS00MmE1LTRkMGUtODI3My01NjIwM2JhNzAzODYifQ"
+ },
+ "responses": {
+ "200": {},
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "The request contains invalid data."
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "401",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "403",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "404": {
+ "body": {
+ "error": {
+ "code": "404",
+ "message": "Resource not found on the server."
+ }
+ }
+ },
+ "500": {
+ "body": {
+ "error": {
+ "code": "500",
+ "message": "Internal server error."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_StartRecording.json b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_StartRecording.json
new file mode 100644
index 000000000000..ac39cd68f62c
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_StartRecording.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.communications.azure.com",
+ "api-version": "2021-06-15-preview",
+ "serverCallId": "aHR0cHM6Ly9jb252ZXJzYXRpb251cmwvdGVzdA",
+ "request": {
+ "recordingStateCallbackUri": "https://app.contoso.com/callback"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "recordingId": "eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiI3ZjQyNmI1OC03NTRmLTQ2M2UtYWRkMS0wNWFhNGNiYjliMzQiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiJmNjMzODYwMS00MmE1LTRkMGUtODI3My01NjIwM2JhNzAzODYifQ"
+ }
+ },
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "The request contains invalid data."
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "401",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "403",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "404": {
+ "body": {
+ "error": {
+ "code": "404",
+ "message": "Resource not found on the server."
+ }
+ }
+ },
+ "500": {
+ "body": {
+ "error": {
+ "code": "500",
+ "message": "Internal server error."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_StopRecording.json b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_StopRecording.json
new file mode 100644
index 000000000000..0015a5349313
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/preview/2021-06-15-preview/examples/ServerCalls_StopRecording.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.communications.azure.com",
+ "api-version": "2021-06-15-preview",
+ "serverCallId": "aHR0cHM6Ly9jb252ZXJzYXRpb251cmwvdGVzdA",
+ "recordingId": "eyJQbGF0Zm9ybUVuZHBvaW50SWQiOiI3ZjQyNmI1OC03NTRmLTQ2M2UtYWRkMS0wNWFhNGNiYjliMzQiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiJmNjMzODYwMS00MmE1LTRkMGUtODI3My01NjIwM2JhNzAzODYifQ"
+ },
+ "responses": {
+ "200": {},
+ "400": {
+ "body": {
+ "error": {
+ "code": "400",
+ "message": "The request contains invalid data."
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "401",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "403",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "404": {
+ "body": {
+ "error": {
+ "code": "404",
+ "message": "Resource not found on the server."
+ }
+ }
+ },
+ "500": {
+ "body": {
+ "error": {
+ "code": "500",
+ "message": "Internal server error."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/CallingServer/readme.csharp.md b/specification/communication/data-plane/CallingServer/readme.csharp.md
new file mode 100644
index 000000000000..41ceb968d271
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/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.CommunicationServices
+ output-folder: $(csharp-sdks-folder)/communicationservices/management/Microsoft.CommunicationServices/GeneratedProtocol
+```
diff --git a/specification/communication/data-plane/CallingServer/readme.md b/specification/communication/data-plane/CallingServer/readme.md
new file mode 100644
index 000000000000..59b9562ec823
--- /dev/null
+++ b/specification/communication/data-plane/CallingServer/readme.md
@@ -0,0 +1,55 @@
+# communicationservices
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for communicationservices.
+
+## 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 communicationservices.
+
+```yaml
+openapi-type: data-plane
+tag: package-2021-06-15-preview
+```
+
+### Tag: package-2021-06-15-preview
+
+These settings apply only when `--tag=package-2021-06-15-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-06-15-preview'
+input-file:
+ - preview/2021-06-15-preview/communicationservicescallingserver.json
+title:
+ Azure Communication Services
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
+
diff --git a/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/communicationserviceschat.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/communicationserviceschat.json
index 667c70287e62..09ddac82e7bc 100644
--- a/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/communicationserviceschat.json
+++ b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/communicationserviceschat.json
@@ -537,68 +537,6 @@
}
}
},
- "/chat/threads/{chatThreadId}/typing": {
- "post": {
- "tags": [
- "Messages"
- ],
- "summary": "Posts a typing event to a thread, on behalf of a user.",
- "operationId": "ChatThread_SendTypingNotification",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "chatThreadId",
- "description": "Id of the thread.",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Request successful."
- },
- "401": {
- "description": "Unauthorized.",
- "schema": {
- "$ref": "#/definitions/CommunicationErrorResponse"
- },
- "x-ms-error-response": true
- },
- "403": {
- "description": "Forbidden.",
- "schema": {
- "$ref": "#/definitions/CommunicationErrorResponse"
- },
- "x-ms-error-response": true
- },
- "429": {
- "description": "Too many requests.",
- "schema": {
- "$ref": "#/definitions/CommunicationErrorResponse"
- },
- "x-ms-error-response": true
- },
- "503": {
- "description": "Service unavailable.",
- "schema": {
- "$ref": "#/definitions/CommunicationErrorResponse"
- },
- "x-ms-error-response": true
- }
- },
- "x-ms-examples": {
- "Post typing event to a thread": {
- "$ref": "./examples/Messages_SendTypingNotification.json"
- }
- }
- }
- },
"/chat/threads/{chatThreadId}/participants": {
"get": {
"tags": [
@@ -1183,6 +1121,80 @@
}
}
}
+ },
+ "/chat/threads/{chatThreadId}/typing": {
+ "post": {
+ "tags": [
+ "TypingNotifications"
+ ],
+ "summary": "Posts a typing event to a thread, on behalf of a user.",
+ "operationId": "ChatThread_SendTypingNotification",
+ "consumes": [
+ "application/json",
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Id of the thread.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "sendTypingNotificationRequest",
+ "description": "Details of the typing notification request.",
+ "schema": {
+ "$ref": "#/definitions/SendTypingNotificationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Post typing event to a thread": {
+ "$ref": "./examples/Messages_SendTypingNotification.json"
+ }
+ }
+ }
}
},
"definitions": {
@@ -1665,6 +1677,17 @@
"example": "Lunch Thread"
}
}
+ },
+ "SendTypingNotificationRequest": {
+ "description": "Request payload for typing notifications.",
+ "type": "object",
+ "properties": {
+ "senderDisplayName": {
+ "description": "The display name of the typing notification sender. This property is used to populate sender name for push notifications.",
+ "type": "string",
+ "example": "Bob Admin"
+ }
+ }
}
},
"parameters": {
diff --git a/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Messages_SendTypingNotification.json b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Messages_SendTypingNotification.json
index c49f8efc76e7..5c1b7831993d 100644
--- a/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Messages_SendTypingNotification.json
+++ b/specification/communication/data-plane/Chat/preview/2021-04-05-preview6/examples/Messages_SendTypingNotification.json
@@ -2,7 +2,10 @@
"parameters": {
"endpoint": "https://contoso.westus.communications.azure.com",
"api-version": "2021-04-05-preview6",
- "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "sendTypingNotificationRequest": {
+ "senderDisplayName": "Jane"
+ }
},
"responses": {
"200": {},
diff --git a/specification/communication/data-plane/SipRouting/preview/2021-05-01-preview/communicationservicessiprouting.json b/specification/communication/data-plane/SipRouting/preview/2021-05-01-preview/communicationservicessiprouting.json
new file mode 100644
index 000000000000..f50f588232fd
--- /dev/null
+++ b/specification/communication/data-plane/SipRouting/preview/2021-05-01-preview/communicationservicessiprouting.json
@@ -0,0 +1,259 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "SipRouting Service",
+ "description": "SipRouting Service",
+ "contact": {
+ "email": "acsdevexdisc@microsoft.com"
+ },
+ "version": "2021-05-01-preview"
+ },
+ "paths": {
+ "/sip": {
+ "get": {
+ "tags": [
+ "SipConfiguration"
+ ],
+ "summary": "Gets SIP configuration for resource.",
+ "operationId": "GetSipConfiguration",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok.",
+ "schema": {
+ "$ref": "#/definitions/SipConfiguration"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get SIP configuration for resource": {
+ "$ref": "./examples/GetSipConfiguration.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SipConfiguration"
+ ],
+ "summary": "Patches SIP configuration for resource.",
+ "operationId": "PatchSipConfiguration",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Configuration patch.",
+ "schema": {
+ "$ref": "#/definitions/SipConfigurationPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Patched configuration is returned.",
+ "schema": {
+ "$ref": "#/definitions/SipConfiguration"
+ }
+ },
+ "415": {
+ "description": "Unsupported media type of the patch.",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "422": {
+ "description": "If the request is empty, unprocessable or inconsistent with the stored data.",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "All other api errors.",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Patch SIP configuration for resource": {
+ "$ref": "./examples/PatchSipConfiguration.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Trunk": {
+ "description": "Represents a SIP trunk for routing calls. See RFC 4904.",
+ "required": [
+ "sipSignalingPort"
+ ],
+ "type": "object",
+ "properties": {
+ "sipSignalingPort": {
+ "format": "int32",
+ "description": "Gets or sets SIP signaling port of the trunk.",
+ "type": "integer"
+ }
+ }
+ },
+ "TrunkPatch": {
+ "description": "Represents a SIP trunk patch.",
+ "type": "object",
+ "properties": {
+ "sipSignalingPort": {
+ "format": "int32",
+ "description": "Gets or sets SIP signaling port of the trunk.",
+ "type": "integer"
+ }
+ }
+ },
+ "TrunkRoute": {
+ "description": "Represents a trunk route for routing calls.",
+ "required": [
+ "name",
+ "numberPattern"
+ ],
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Gets or sets description of the route.",
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "name": {
+ "description": "Gets or sets name of the route.",
+ "maxLength": 256,
+ "type": "string"
+ },
+ "numberPattern": {
+ "description": "Gets or sets regex number pattern for routing calls. .NET regex format is supported.\r\nThe regex should match only digits with an optional '+' prefix without spaces.\r\nI.e. \"^\\+[1-9][0-9]{3,23}$\".",
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "trunks": {
+ "description": "Gets or sets list of SIP trunks for routing calls. Trunks are represented as FQDN.",
+ "maxLength": 250,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SipConfiguration": {
+ "description": "Represents a SIP configuration.\r\nWhen a call is being routed the routes are applied in the same order as in the routes list.\r\nA route is matched by its number pattern.\r\nCall is then directed into route's first available trunk, based on the order in the route's trunks list.",
+ "type": "object",
+ "properties": {
+ "trunks": {
+ "description": "SIP trunks for routing calls.\r\nMap key is trunk's FQDN (1-249 characters).",
+ "maxLength": 250,
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/Trunk"
+ }
+ },
+ "routes": {
+ "description": "Trunk routes for routing calls.",
+ "maxLength": 250,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrunkRoute"
+ }
+ }
+ }
+ },
+ "SipConfigurationPatch": {
+ "description": "Represents a SIP configuration patch.",
+ "type": "object",
+ "properties": {
+ "trunks": {
+ "description": "SIP trunks for routing calls.\r\nMap key is trunk's FQDN (1-249 characters).",
+ "maxLength": 250,
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/TrunkPatch"
+ }
+ },
+ "routes": {
+ "description": "Trunk routes for routing calls.",
+ "maxLength": 250,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrunkRoute"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "in": "query",
+ "name": "api-version",
+ "description": "Version of API to invoke",
+ "required": true,
+ "type": "string"
+ },
+ "Endpoint": {
+ "in": "path",
+ "name": "endpoint",
+ "description": "The communication resource, for example https://resourcename.communication.azure.com",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ }
+}
diff --git a/specification/communication/data-plane/SipRouting/preview/2021-05-01-preview/examples/GetSipConfiguration.json b/specification/communication/data-plane/SipRouting/preview/2021-05-01-preview/examples/GetSipConfiguration.json
new file mode 100644
index 000000000000..a1d81517a88a
--- /dev/null
+++ b/specification/communication/data-plane/SipRouting/preview/2021-05-01-preview/examples/GetSipConfiguration.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01-preview",
+ "endpoint": "https://resourcename.communication.azure.com/"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "trunks": {
+ "vendor.xyz.biz": {
+ "sipSignalingPort": 5061
+ },
+ "vendor.abc.biz": {
+ "sipSignalingPort": 5061
+ }
+ },
+ "routes": [
+ {
+ "name": "LocalRoute",
+ "numberPattern": "^\\+1[0-9]{10}$"
+ },
+ {
+ "name": "VendorXYZ",
+ "description": "External route XYZ",
+ "numberPattern": "^\\+?\\d+$",
+ "trunks": [
+ "vendor.xyz.biz"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/SipRouting/preview/2021-05-01-preview/examples/PatchSipConfiguration.json b/specification/communication/data-plane/SipRouting/preview/2021-05-01-preview/examples/PatchSipConfiguration.json
new file mode 100644
index 000000000000..ba703fcfde76
--- /dev/null
+++ b/specification/communication/data-plane/SipRouting/preview/2021-05-01-preview/examples/PatchSipConfiguration.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2021-05-01-preview",
+ "body": {
+ "trunks": {
+ "vendor.xyz.biz": {
+ "sipSignalingPort": 5061
+ }
+ },
+ "routes": [
+ {
+ "name": "VendorXYZ",
+ "description": "External route XYZ",
+ "numberPattern": "^\\+?\\d+$",
+ "trunks": [
+ "vendor.xyz.biz"
+ ]
+ }
+ ]
+ },
+ "endpoint": "https://resourcename.communication.azure.com/"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "trunks": {
+ "vendor.xyz.biz": {
+ "sipSignalingPort": 5061
+ }
+ },
+ "routes": [
+ {
+ "name": "VendorXYZ",
+ "description": "External route XYZ",
+ "numberPattern": "^\\+?\\d+$",
+ "trunks": [
+ "vendor.xyz.biz"
+ ]
+ }
+ ]
+ }
+ },
+ "415": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "UnsupportedMediaType",
+ "message": "Unsupported Media Type."
+ }
+ }
+ },
+ "422": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "UnprocessableEntity",
+ "message": "One or more request inputs are not valid.",
+ "innererror": {
+ "code": "InvalidRegex",
+ "message": "Unsupported regex format provided."
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalError",
+ "message": "The server encountered an internal error."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/SipRouting/readme.csharp.md b/specification/communication/data-plane/SipRouting/readme.csharp.md
new file mode 100644
index 000000000000..2efd3715cdc3
--- /dev/null
+++ b/specification/communication/data-plane/SipRouting/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.CommunicationServices
+ output-folder: $(csharp-sdks-folder)/communicationservices/management/Microsoft.CommunicationServices/GeneratedProtocol
+```
diff --git a/specification/communication/data-plane/SipRouting/readme.md b/specification/communication/data-plane/SipRouting/readme.md
new file mode 100644
index 000000000000..0cc6817ee49d
--- /dev/null
+++ b/specification/communication/data-plane/SipRouting/readme.md
@@ -0,0 +1,66 @@
+# communicationservices
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for communicationservices.
+
+## 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 communicationservices.
+
+```yaml
+openapi-type: data-plane
+tag: package-2021-05-01-preview
+```
+
+### Tag: package-2021-05-01-preview
+
+These settings apply only when `--tag=package-2021-05-01-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-05-01-preview'
+input-file:
+ - preview/2021-05-01-preview/communicationservicessiprouting.json
+title:
+ Azure Communication Services
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+## 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/communication/data-plane/SipRouting/readme.python.md b/specification/communication/data-plane/SipRouting/readme.python.md
new file mode 100644
index 000000000000..f5192ef154c3
--- /dev/null
+++ b/specification/communication/data-plane/SipRouting/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.CommunicationServices
+ package-name: communicationservices
+ package-version: 2021-05-01-preview
+ clear-output-folder: true
+```
+
+```yaml $(python)
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt/communicationservices
+```
diff --git a/specification/communication/data-plane/SipRouting/readme.ruby.md b/specification/communication/data-plane/SipRouting/readme.ruby.md
new file mode 100644
index 000000000000..3e261aae6a2e
--- /dev/null
+++ b/specification/communication/data-plane/SipRouting/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_communicationservices
+package-version: 2021-05-01-preview
+azure-arm: true
+```
+
+### Tag: package-2021-05-01-preview and ruby
+
+These settings apply only when `--tag=package-2021-05-01-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2021-05-01-preview' && $(ruby)
+namespace: Microsoft.CommunicationServices
+output-folder: $(ruby-sdks-folder)/communicationservices
+```
diff --git a/specification/communication/data-plane/SipRouting/readme.typescript.md b/specification/communication/data-plane/SipRouting/readme.typescript.md
new file mode 100644
index 000000000000..be9f877fd1c2
--- /dev/null
+++ b/specification/communication/data-plane/SipRouting/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: "communicationservices"
+ output-folder: "$(typescript-sdks-folder)/packages/communicationservices"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
diff --git a/specification/communication/data-plane/Turn/preview/2021-02-22-preview1/CommunicationTurn.json b/specification/communication/data-plane/Turn/preview/2021-02-22-preview1/CommunicationTurn.json
index 462437eca5d9..90274733cebf 100644
--- a/specification/communication/data-plane/Turn/preview/2021-02-22-preview1/CommunicationTurn.json
+++ b/specification/communication/data-plane/Turn/preview/2021-02-22-preview1/CommunicationTurn.json
@@ -38,7 +38,7 @@
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/CommunicationTurnCredentialsResponse"
+ "$ref": "#/definitions/CommunicationRelayConfiguration"
}
}
},
@@ -77,8 +77,8 @@
}
}
},
- "CommunicationTurnCredentialsResponse": {
- "description": "A TURN credentials response.",
+ "CommunicationRelayConfiguration": {
+ "description": "A relay configuration containing the TURN URLs and credentials.",
"required": [
"expiresOn",
"turnServers"
@@ -106,6 +106,9 @@
"name": "api-version",
"description": "Version of API to invoke.",
"required": true,
+ "enum": [
+ "2021-02-22-preview1"
+ ],
"type": "string"
}
},
diff --git a/specification/communication/data-plane/Turn/preview/2021-06-21-preview/CommunicationTurn.json b/specification/communication/data-plane/Turn/preview/2021-06-21-preview/CommunicationTurn.json
new file mode 100644
index 000000000000..e80c4cf07de8
--- /dev/null
+++ b/specification/communication/data-plane/Turn/preview/2021-06-21-preview/CommunicationTurn.json
@@ -0,0 +1,157 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "CommunicationNetworkingClient",
+ "description": "Azure Communication Networking Service",
+ "version": "2021-06-21-preview"
+ },
+ "paths": {
+ "/networktraversal/:issueRelayConfiguration": {
+ "post": {
+ "tags": [
+ "Turn"
+ ],
+ "summary": "Issue a configuration for an STUN/TURN server for an existing identity.",
+ "operationId": "CommunicationNetworkTraversal_IssueRelayConfiguration",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CommunicationRelayConfigurationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CommunicationRelayConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Issue Relay Configuration": {
+ "$ref": "./examples/IssueRelayConfiguration.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CommunicationRelayConfigurationRequest": {
+ "description": "Request for a CommunicationRelayConfiguration.",
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "An existing ACS identity.",
+ "type": "string"
+ }
+ }
+ },
+ "CommunicationIceServer": {
+ "description": "An instance of a STUN/TURN server with credentials to be used for ICE negotiation.",
+ "required": [
+ "credential",
+ "urls",
+ "username"
+ ],
+ "type": "object",
+ "properties": {
+ "urls": {
+ "description": "List of STUN/TURN server URLs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "username": {
+ "description": "User account name which uniquely identifies the credentials.",
+ "type": "string"
+ },
+ "credential": {
+ "description": "Credential for the server.",
+ "type": "string"
+ }
+ }
+ },
+ "CommunicationRelayConfiguration": {
+ "description": "A relay configuration containing the STUN/TURN URLs and credentials.",
+ "required": [
+ "expiresOn",
+ "iceServers"
+ ],
+ "type": "object",
+ "properties": {
+ "expiresOn": {
+ "format": "date-time",
+ "description": "The date for which the username and credentials are not longer valid.",
+ "type": "string"
+ },
+ "iceServers": {
+ "description": "An array representing the credentials and the STUN/TURN server URLs for use in ICE negotiations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationIceServer"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "in": "query",
+ "name": "api-version",
+ "description": "Version of API to invoke.",
+ "required": true,
+ "enum": [
+ "2021-06-21-preview"
+ ],
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "name": "endpoint",
+ "description": "The communication resource, for example https://my-resource.communication.azure.com",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ }
+ ]
+ }
+}
diff --git a/specification/communication/data-plane/Turn/preview/2021-06-21-preview/examples/IssueRelayConfiguration.json b/specification/communication/data-plane/Turn/preview/2021-06-21-preview/examples/IssueRelayConfiguration.json
new file mode 100644
index 000000000000..2f9afc180120
--- /dev/null
+++ b/specification/communication/data-plane/Turn/preview/2021-06-21-preview/examples/IssueRelayConfiguration.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-06-21-preview",
+ "content-type": "application/json",
+ "body": {
+ "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081"
+ },
+ "endpoint": "https://my-resource.communication.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "expiresOn": "2020-09-10T21:39:39.3244584+00:00",
+ "iceServers": [
+ {
+ "urls": [
+ "turn:131.107.255.255:3478"
+ ],
+ "username": "AgAAJNOeygwB1uVGvuwAVMHV4PLhYDgY66Fg1dUZvQ4AAAAEhXrhc8uJFjOK8lxEsZk3KIpWxc0=",
+ "credential": "9rl8ablFWj6/aqSuPLgLykLZKqw="
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Turn/readme.md b/specification/communication/data-plane/Turn/readme.md
index ef1a1f47ba50..7c074acdd7ff 100644
--- a/specification/communication/data-plane/Turn/readme.md
+++ b/specification/communication/data-plane/Turn/readme.md
@@ -40,6 +40,15 @@ title:
Azure Communication Services
```
+### Tag: package-2021-06-21-preview
+
+These settings apply only when `--tag=package-2021-06-21-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-06-21-preview'
+input-file:
+ - preview/2021-06-21-preview/CommunicationTurn.json
+```
+
---
# Code Generation
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
index 29037dce4c85..302987076754 100644
--- 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
@@ -8149,7 +8149,7 @@
},
"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",
+ "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/en-us/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/en-us/azure/virtual-machines/linux/disks-types",
"enum": [
"Standard_LRS",
"Premium_LRS",
@@ -8201,7 +8201,7 @@
"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."
+ "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."
},
"diskEncryptionSet": {
"$ref": "#/definitions/DiskEncryptionSetParameters",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/compute.json
index 9125b984da8d..63a425f0fdcd 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/compute.json
@@ -8939,7 +8939,7 @@
},
"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. Premium_ZRS uses Premium SSD zone redundant storage. StandardSSD_ZRS uses Standard SSD zone redundant storage. 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",
+ "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. Premium_ZRS uses Premium SSD zone redundant storage. StandardSSD_ZRS uses Standard SSD zone redundant storage. 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",
@@ -8993,7 +8993,7 @@
"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."
+ "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."
},
"diskEncryptionSet": {
"$ref": "#/definitions/DiskEncryptionSetParameters",
@@ -9186,7 +9186,7 @@
],
"x-ms-enum": {
"name": "SecurityTypes",
- "modelAsString": false
+ "modelAsString": true
}
}
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/disk.json
index 17e3b33cf33e..d88c793f8e2b 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/disk.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/disk.json
@@ -251,6 +251,11 @@
"description": "If the disk is deleted, this is an expected error code."
}
},
+ "x-ms-examples": {
+ "Delete a managed disk.": {
+ "$ref": "./examples/DeleteAManagedDisk.json"
+ }
+ },
"x-ms-long-running-operation": true
}
},
@@ -364,6 +369,11 @@
"description": "Accepted"
}
},
+ "x-ms-examples": {
+ "Get a sas on a managed disk.": {
+ "$ref": "./examples/BeginGetAccessManagedDisk.json"
+ }
+ },
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "location"
@@ -399,6 +409,11 @@
"description": "Accepted"
}
},
+ "x-ms-examples": {
+ "Revoke access to a managed disk.": {
+ "$ref": "./examples/EndGetAccessManagedDisk.json"
+ }
+ },
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "location"
@@ -505,6 +520,11 @@
}
}
},
+ "x-ms-examples": {
+ "Update a snapshot.": {
+ "$ref": "./examples/UpdateASnapshot.json"
+ }
+ },
"x-ms-long-running-operation": true
},
"get": {
@@ -572,6 +592,11 @@
"description": "If the snapshot is deleted, this is an expected error code."
}
},
+ "x-ms-examples": {
+ "Delete a snapshot.": {
+ "$ref": "./examples/DeleteASnapshot.json"
+ }
+ },
"x-ms-long-running-operation": true
}
},
@@ -685,6 +710,11 @@
"description": "Accepted"
}
},
+ "x-ms-examples": {
+ "Get a sas on a snapshot.": {
+ "$ref": "./examples/BeginGetAccessSnapshot.json"
+ }
+ },
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "location"
@@ -720,6 +750,11 @@
"description": "Accepted"
}
},
+ "x-ms-examples": {
+ "Revoke access to a snapshot.": {
+ "$ref": "./examples/EndGetAccessSnapshot.json"
+ }
+ },
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "location"
@@ -1668,6 +1703,122 @@
"nextLinkName": "nextLink"
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}/beginGetAccess": {
+ "post": {
+ "tags": [
+ "IncrementalRestorePoints"
+ ],
+ "operationId": "DiskRestorePoint_GrantAccess",
+ "description": "Grants access to a diskRestorePoint.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RestorePointCollectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VmRestorePointNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskRestorePointNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "grantAccessData",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GrantAccessData"
+ },
+ "description": "Access data object supplied in the body of the get disk access operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AccessUri"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Grants access to a diskRestorePoint.": {
+ "$ref": "./examples/BeginGetAccessDiskRestorePoint.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}/endGetAccess": {
+ "post": {
+ "tags": [
+ "IncrementalRestorePoints"
+ ],
+ "operationId": "DiskRestorePoint_RevokeAccess",
+ "description": "Revokes access to a diskRestorePoint.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RestorePointCollectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VmRestorePointNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskRestorePointNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Revokes access to a diskRestorePoint.": {
+ "$ref": "./examples/EndGetAccessDiskRestorePoint.json"
+ }
+ }
+ }
}
},
"definitions": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/BeginGetAccessDiskRestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/BeginGetAccessDiskRestorePoint.json
new file mode 100644
index 000000000000..39574d184aa7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/BeginGetAccessDiskRestorePoint.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "restorePointCollectionName": "rpc",
+ "vmRestorePointName": "vmrp",
+ "diskRestorePointName": "TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745",
+ "api-version": "2020-12-01",
+ "grantAccessData": {
+ "access": "Read",
+ "durationInSeconds": 300
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "accessSAS": "https://md-gpvmcxzlzxgd.partition.blob.storage.azure.net/xx3cqcx53f0v/abcd?sv=2014-02-14&sr=b&sk=key1&sig=XXX&st=2021-05-24T18:02:34Z&se=2021-05-24T18:19:14Z&sp=r"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/BeginGetAccessManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/BeginGetAccessManagedDisk.json
new file mode 100644
index 000000000000..d3468610efd4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/BeginGetAccessManagedDisk.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "diskName": "myDisk",
+ "api-version": "2020-12-01",
+ "grantAccessData": {
+ "access": "Read",
+ "durationInSeconds": 300
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "accessSAS": "https://md-gpvmcxzlzxgd.partition.blob.storage.azure.net/xx3cqcx53f0v/abcd?sv=2014-02-14&sr=b&sk=key1&sig=XXX&st=2021-05-24T18:02:34Z&se=2021-05-24T18:19:14Z&sp=r"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/BeginGetAccessSnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/BeginGetAccessSnapshot.json
new file mode 100644
index 000000000000..08eb6fbf141f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/BeginGetAccessSnapshot.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "snapshotName": "mySnapshot",
+ "api-version": "2020-12-01",
+ "grantAccessData": {
+ "access": "Read",
+ "durationInSeconds": 300
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "accessSAS": "https://md-gpvmcxzlzxgd.partition.blob.storage.azure.net/xx3cqcx53f0v/abcd?sv=2014-02-14&sr=b&sk=key1&sig=XXX&st=2021-05-24T18:02:34Z&se=2021-05-24T18:19:14Z&sp=r"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/DeleteAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/DeleteAManagedDisk.json
new file mode 100644
index 000000000000..bf0cc769ef69
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/DeleteAManagedDisk.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "diskName": "myDisk",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/DeleteASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/DeleteASnapshot.json
new file mode 100644
index 000000000000..a4531262115f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/DeleteASnapshot.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "snapshotName": "mySnapshot",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/EndGetAccessDiskRestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/EndGetAccessDiskRestorePoint.json
new file mode 100644
index 000000000000..2527d728d056
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/EndGetAccessDiskRestorePoint.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "restorePointCollectionName": "rpc",
+ "vmRestorePointName": "vmrp",
+ "diskRestorePointName": "TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/EndGetAccessManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/EndGetAccessManagedDisk.json
new file mode 100644
index 000000000000..68e1820621d8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/EndGetAccessManagedDisk.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "diskName": "myDisk",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/EndGetAccessSnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/EndGetAccessSnapshot.json
new file mode 100644
index 000000000000..29fe90a3dc5f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/EndGetAccessSnapshot.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "snapshotName": "mySnapshot",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateASnapshot.json
new file mode 100644
index 000000000000..411ba6166e8b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateASnapshot.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "snapshotName": "mySnapshot",
+ "api-version": "2020-12-01",
+ "snapshot": {
+ "properties": {
+ "diskSizeGB": 20
+ },
+ "tags": {
+ "department": "Development",
+ "project": "UpdateSnapshots"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "diskSizeGB": 20,
+ "provisioningState": "Updating"
+ },
+ "tags": {
+ "department": "Development",
+ "project": "UpdateSnapshots"
+ },
+ "location": "West US",
+ "name": "mySnapshot"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "diskSizeGB": 20,
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "department": "Development",
+ "project": "UpdateSnapshots"
+ },
+ "location": "West US",
+ "name": "mySnapshot"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/compute.json
index 5cfd2ded350b..4bba7558ffa9 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/compute.json
@@ -7538,6 +7538,10 @@
"securityProfile": {
"$ref": "#/definitions/SecurityProfile",
"description": "Gets the security profile."
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the VM from which the restore point was created."
}
},
"description": "Describes the properties of the Virtual Machine for which the restore point was created. The properties provided are a subset and the snapshot of the overall Virtual Machine properties captured at the time of the restore point creation."
@@ -7657,6 +7661,28 @@
},
"RestorePoint": {
"properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RestorePointProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Restore Point details."
+ },
+ "RestorePointProperties": {
+ "type": "object",
+ "properties": {
+ "excludeDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiEntityReference"
+ },
+ "description": "List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included."
+ },
"sourceMetadata": {
"readOnly": true,
"$ref": "#/definitions/RestorePointSourceMetadata",
@@ -7685,21 +7711,9 @@
"$ref": "#/definitions/RestorePointProvisioningDetails",
"readOnly": true,
"description": "Gets the provisioning details set by the server during Create restore point operation."
- },
- "excludeDisks": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ApiEntityReference"
- },
- "description": "List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included."
}
},
- "allOf": [
- {
- "$ref": "#/definitions/ProxyResource"
- }
- ],
- "description": "Restore Point details."
+ "description": "The restore point properties."
},
"ComputeOperationListResult": {
"properties": {
@@ -9764,7 +9778,7 @@
},
"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. Premium_ZRS uses Premium SSD zone redundant storage. StandardSSD_ZRS uses Standard SSD zone redundant storage. For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/linux/disks-types",
+ "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. Premium_ZRS uses Premium SSD zone redundant storage. StandardSSD_ZRS uses Standard SSD zone redundant storage. For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/linux/disks-types",
"enum": [
"Standard_LRS",
"Premium_LRS",
@@ -9818,7 +9832,7 @@
"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."
+ "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."
},
"diskEncryptionSet": {
"$ref": "#/definitions/DiskEncryptionSetParameters",
@@ -10019,7 +10033,7 @@
],
"x-ms-enum": {
"name": "SecurityTypes",
- "modelAsString": false
+ "modelAsString": true
}
}
},
@@ -10093,7 +10107,7 @@
},
"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": "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\":\"\"
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)."
}
},
"description": "Describes Protocol and thumbprint of Windows Remote Management listener"
@@ -10192,7 +10206,7 @@
"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\":\"\"
}"
+ "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\":\"\"
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)."
},
"certificateStore": {
"type": "string",
@@ -10248,7 +10262,7 @@
"items": {
"$ref": "#/definitions/VaultSecretGroup"
},
- "description": "Specifies set of certificates that should be installed onto the virtual machine."
+ "description": "Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)."
},
"allowExtensionOperations": {
"type": "boolean",
@@ -10397,7 +10411,7 @@
},
"PublicIPAddressSku": {
"properties": {
- "publicIPAddressSkuName": {
+ "name": {
"type": "string",
"description": "Specify public IP sku name",
"enum": [
@@ -10409,7 +10423,7 @@
"modelAsString": true
}
},
- "publicIPAddressSkuTier": {
+ "tier": {
"type": "string",
"description": "Specify public IP sku tier",
"enum": [
@@ -10422,9 +10436,6 @@
}
}
},
- "required": [
- "publicIPAddressSkuName"
- ],
"description": "Describes the public IP Sku"
},
"VirtualMachinePublicIPAddressConfiguration": {
@@ -11550,7 +11561,7 @@
"items": {
"$ref": "#/definitions/VaultSecretGroup"
},
- "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set."
+ "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)."
}
},
"description": "Describes a virtual machine scale set OS profile."
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateARestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateARestorePoint.json
index 3053bee70ba9..0e147d3d62db 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateARestorePoint.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateARestorePoint.json
@@ -4,14 +4,15 @@
"resourceGroupName": "myResourceGroup",
"restorePointCollectionName": "rpcName",
"restorePointName": "rpName",
- "vmName": "myVM",
"api-version": "2021-03-01",
"parameters": {
- "excludeDisks": [
- {
- "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm8768_disk2_fe6ffde4f69b491ca33fb984d5bcd89f"
- }
- ]
+ "properties": {
+ "excludeDisks": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/disk123"
+ }
+ ]
+ }
}
},
"responses": {
@@ -19,69 +20,72 @@
"body": {
"name": "rpName",
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/rpName",
- "sourceMetadata": {
- "vmId": "76d6541e-80bd-4dc1-932b-3cae4cfb80e7",
- "hardwareProfile": {
- "vmSize": "Standard_B1s"
- },
- "storageProfile": {
- "osDisk": {
- "osType": "Windows",
- "name": "testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f",
- "caching": "ReadWrite",
- "managedDisk": {
- "storageAccountType": "Standard_LRS",
- "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f"
- },
- "diskRestorePoint": {
- "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/rpName/diskRestorePoints/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f_22b4bdfe-6c54-4f72-84d8-85d8860f0c57"
- }
+ "properties": {
+ "excludeDisks": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/disk123"
+ }
+ ],
+ "sourceMetadata": {
+ "vmId": "76d6541e-80bd-4dc1-932b-3cae4cfb80e7",
+ "hardwareProfile": {
+ "vmSize": "Standard_B1s"
},
- "dataDisks": [
- {
- "lun": 1,
- "name": "testingexcludedisk_DataDisk_1",
- "caching": "None",
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "name": "osDisk123",
+ "caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "Standard_LRS",
- "id": "/subscriptions/{subscription-id}/resourceGroups/userdata/providers/Microsoft.Compute/disks/testingexcludedisk_DataDisk_1"
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/osDisk123"
},
"diskRestorePoint": {
- "id": "/subscriptions/{subscription-id}/resourceGroups/userdata/providers/Microsoft.Compute/restorePointCollections/mynewrpc/restorePoints/restorepointtwo/diskRestorePoints/testingexcludedisk_DataDisk_1_68785190-1acb-4d5e-a8ae-705b45f3dca5"
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/rpName/diskRestorePoints/osDisk123_22b4bdfe-6c54-4f72-84d8-85d8860f0c57"
+ }
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "name": "dataDisk123",
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/userdata/providers/Microsoft.Compute/disks/dataDisk123"
+ },
+ "diskRestorePoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/userdata/providers/Microsoft.Compute/restorePointCollections/mynewrpc/restorePoints/restorepointtwo/diskRestorePoints/dataDisk123_68785190-1acb-4d5e-a8ae-705b45f3dca5"
+ }
}
+ ]
+ },
+ "osProfile": {
+ "computerName": "computerName",
+ "adminUsername": "admin",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ },
+ "secrets": [],
+ "allowExtensionOperations": true,
+ "requireGuestProvisionSignal": true
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
}
- ]
- },
- "osProfile": {
- "computerName": "computerName",
- "adminUsername": "admin",
- "windowsConfiguration": {
- "provisionVMAgent": true,
- "enableAutomaticUpdates": true
},
- "secrets": [],
- "allowExtensionOperations": true,
- "requireGuestProvisionSignal": true
+ "location": "westus"
},
- "diagnosticsProfile": {
- "bootDiagnostics": {
- "enabled": true
- }
+ "provisioningState": "Succeeded",
+ "consistencyMode": "ApplicationConsistent",
+ "provisioningDetails": {
+ "creationTime": "2021-01-27T20:35:05.8401519+00:00",
+ "totalUsedSizeInBytes": 10835349504,
+ "statusCode": 0,
+ "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}"
}
- },
- "provisioningState": "Succeeded",
- "consistencyMode": "ApplicationConsistent",
- "provisioningDetails": {
- "creationTime": "2021-01-27T20:35:05.8401519+00:00",
- "totalUsedSizeInBytes": 10835349504,
- "statusCode": 0,
- "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}"
- },
- "excludeDisks": [
- {
- "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm8768_disk2_fe6ffde4f69b491ca33fb984d5bcd89f"
- }
- ]
+ }
}
}
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithNetworkInterfaceConfiguration.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithNetworkInterfaceConfiguration.json
index 75cb4f765ab2..088045553d1a 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithNetworkInterfaceConfiguration.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateAVmWithNetworkInterfaceConfiguration.json
@@ -42,8 +42,8 @@
"publicIPAddressConfiguration": {
"name": "{publicIP-config-name}",
"sku": {
- "publicIPAddressSkuName": "Basic",
- "publicIPAddressSkuTier": "Global"
+ "name": "Basic",
+ "tier": "Global"
},
"properties": {
"deleteOption": "Detach",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePoint.json
index e10b1fa5653f..989bc1353c3b 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePoint.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePoint.json
@@ -11,69 +11,72 @@
"body": {
"name": "rpName",
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/rpName",
- "sourceMetadata": {
- "vmId": "76d6541e-80bd-4dc1-932b-3cae4cfb80e7",
- "hardwareProfile": {
- "vmSize": "Standard_B1s"
- },
- "storageProfile": {
- "osDisk": {
- "osType": "Windows",
- "name": "testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f",
- "caching": "ReadWrite",
- "managedDisk": {
- "storageAccountType": "Standard_LRS",
- "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f"
- },
- "diskRestorePoint": {
- "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/rpName/diskRestorePoints/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f_22b4bdfe-6c54-4f72-84d8-85d8860f0c57"
- }
+ "properties": {
+ "excludeDisks": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm8768_disk2_fe6ffde4f69b491ca33fb984d5bcd89f"
+ }
+ ],
+ "sourceMetadata": {
+ "vmId": "76d6541e-80bd-4dc1-932b-3cae4cfb80e7",
+ "hardwareProfile": {
+ "vmSize": "Standard_B1s"
},
- "dataDisks": [
- {
- "lun": 1,
- "name": "testingexcludedisk_DataDisk_1",
- "caching": "None",
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "name": "testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f",
+ "caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "Standard_LRS",
- "id": "/subscriptions/{subscription-id}/resourceGroups/userdata/providers/Microsoft.Compute/disks/testingexcludedisk_DataDisk_1"
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f"
},
"diskRestorePoint": {
- "id": "/subscriptions/{subscription-id}/resourceGroups/userdata/providers/Microsoft.Compute/restorePointCollections/mynewrpc/restorePoints/restorepointtwo/diskRestorePoints/testingexcludedisk_DataDisk_1_68785190-1acb-4d5e-a8ae-705b45f3dca5"
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/rpName/diskRestorePoints/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f_22b4bdfe-6c54-4f72-84d8-85d8860f0c57"
+ }
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "name": "testingexcludedisk_DataDisk_1",
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/userdata/providers/Microsoft.Compute/disks/testingexcludedisk_DataDisk_1"
+ },
+ "diskRestorePoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/userdata/providers/Microsoft.Compute/restorePointCollections/mynewrpc/restorePoints/restorepointtwo/diskRestorePoints/testingexcludedisk_DataDisk_1_68785190-1acb-4d5e-a8ae-705b45f3dca5"
+ }
}
+ ]
+ },
+ "osProfile": {
+ "computerName": "computerName",
+ "adminUsername": "admin",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ },
+ "secrets": [],
+ "allowExtensionOperations": true,
+ "requireGuestProvisionSignal": true
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
}
- ]
- },
- "osProfile": {
- "computerName": "computerName",
- "adminUsername": "admin",
- "windowsConfiguration": {
- "provisionVMAgent": true,
- "enableAutomaticUpdates": true
},
- "secrets": [],
- "allowExtensionOperations": true,
- "requireGuestProvisionSignal": true
+ "location": "westus"
},
- "diagnosticsProfile": {
- "bootDiagnostics": {
- "enabled": true
- }
- }
- },
- "provisioningState": "Succeeded",
- "consistencyMode": "ApplicationConsistent",
- "provisioningDetails": {
- "creationTime": "2021-01-27T20:35:05.8401519+00:00",
- "totalUsedSizeInBytes": 10835349504,
- "statusCode": 0,
- "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}"
- },
- "excludeDisks": [
- {
- "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm8768_disk2_fe6ffde4f69b491ca33fb984d5bcd89f"
+ "provisioningState": "Succeeded",
+ "consistencyMode": "ApplicationConsistent",
+ "provisioningDetails": {
+ "creationTime": "2021-01-27T20:35:05.8401519+00:00",
+ "totalUsedSizeInBytes": 10835349504,
+ "statusCode": 0,
+ "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}"
}
- ]
+ }
}
}
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollection.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollection.json
index 63cf8efb6ca6..4d2f9a04c3ef 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollection.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollection.json
@@ -11,7 +11,7 @@
"name": "myRpc",
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/myRpc",
"type": "Microsoft.Compute/restorePointCollections",
- "location": "West US",
+ "location": "westus",
"tags": {
"myTag1": "tagValue1"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json
index 4aa7fc88b198..fcdefbc18c78 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json
@@ -12,7 +12,7 @@
"name": "rpcName",
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName",
"type": "Microsoft.Compute/restorePointCollections",
- "location": "West US",
+ "location": "westus",
"tags": {
"myTag1": "tagValue1"
},
@@ -27,69 +27,72 @@
{
"name": "restorePointName",
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/restorePointName",
- "sourceMetadata": {
- "vmId": "76d6541e-80bd-4dc1-932b-3cae4cfb80e7",
- "hardwareProfile": {
- "vmSize": "Standard_B1s"
- },
- "storageProfile": {
- "osDisk": {
- "osType": "Windows",
- "name": "testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f",
- "caching": "ReadWrite",
- "managedDisk": {
- "storageAccountType": "Standard_LRS",
- "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f"
- },
- "diskRestorePoint": {
- "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/restorePointName/diskRestorePoints/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f_22b4bdfe-6c54-4f72-84d8-85d8860f0c57"
- }
+ "properties": {
+ "excludeDisks": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm8768_disk2_fe6ffde4f69b491ca33fb984d5bcd89f"
+ }
+ ],
+ "sourceMetadata": {
+ "vmId": "76d6541e-80bd-4dc1-932b-3cae4cfb80e7",
+ "hardwareProfile": {
+ "vmSize": "Standard_B1s"
},
- "dataDisks": [
- {
- "lun": 1,
- "name": "testingexcludedisk_DataDisk_1",
- "caching": "None",
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "name": "testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f",
+ "caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "Standard_LRS",
- "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/testingexcludedisk_DataDisk_1"
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f"
},
"diskRestorePoint": {
- "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/restorePointName/diskRestorePoints/testingexcludedisk_DataDisk_1_68785190-1acb-4d5e-a8ae-705b45f3dca5"
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/restorePointName/diskRestorePoints/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f_22b4bdfe-6c54-4f72-84d8-85d8860f0c57"
+ }
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "name": "testingexcludedisk_DataDisk_1",
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/testingexcludedisk_DataDisk_1"
+ },
+ "diskRestorePoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/restorePointName/diskRestorePoints/testingexcludedisk_DataDisk_1_68785190-1acb-4d5e-a8ae-705b45f3dca5"
+ }
}
+ ]
+ },
+ "osProfile": {
+ "computerName": "computerName",
+ "adminUsername": "admin",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ },
+ "secrets": [],
+ "allowExtensionOperations": true,
+ "requireGuestProvisionSignal": true
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
}
- ]
- },
- "osProfile": {
- "computerName": "computerName",
- "adminUsername": "admin",
- "windowsConfiguration": {
- "provisionVMAgent": true,
- "enableAutomaticUpdates": true
},
- "secrets": [],
- "allowExtensionOperations": true,
- "requireGuestProvisionSignal": true
+ "location": "westus"
},
- "diagnosticsProfile": {
- "bootDiagnostics": {
- "enabled": true
- }
- }
- },
- "provisioningState": "Succeeded",
- "consistencyMode": "ApplicationConsistent",
- "provisioningDetails": {
- "creationTime": "2021-01-27T20:35:05.8401519+00:00",
- "totalUsedSizeInBytes": 10835349504,
- "statusCode": 0,
- "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}"
- },
- "excludeDisks": [
- {
- "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm8768_disk2_fe6ffde4f69b491ca33fb984d5bcd89f"
+ "provisioningState": "Succeeded",
+ "consistencyMode": "ApplicationConsistent",
+ "provisioningDetails": {
+ "creationTime": "2021-01-27T20:35:05.8401519+00:00",
+ "totalUsedSizeInBytes": 10835349504,
+ "statusCode": 0,
+ "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}"
}
- ]
+ }
}
]
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionsInAResourceGroup.json
index ece3579969d2..057dc3450953 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionsInAResourceGroup.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionsInAResourceGroup.json
@@ -12,14 +12,14 @@
"name": "restorePointCollection1",
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/restorePointCollection1",
"type": "Microsoft.Compute/restorePointCollections",
- "location": "West US",
+ "location": "westus",
"tags": {
"myTag1": "tagValue1"
},
"properties": {
"source": {
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/restorePointCollection1",
- "location": "West US"
+ "location": "westus"
},
"restorePointCollectionId": "59f04a5d-f783-4200-a1bd-d3f464e8c4b4",
"provisioningState": "Successful"
@@ -29,14 +29,14 @@
"name": "restorePointCollection2",
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/restorePointCollection2",
"type": "Microsoft.Compute/restorePointCollections",
- "location": "West US",
+ "location": "westus",
"tags": {
"myTag1": "tagValue1"
},
"properties": {
"source": {
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/restorePointCollection2",
- "location": "West US"
+ "location": "westus"
},
"restorePointCollectionId": "2875c590-e337-4102-9668-4f5b7e3f98a4",
"provisioningState": "Deleting"
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionsInASubscription.json
index 0216a257babc..1a84836d7ced 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionsInASubscription.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionsInASubscription.json
@@ -11,14 +11,14 @@
"name": "restorePointCollection1",
"id": "/subscriptions/{subscription-id}/resourceGroups/resourceGroup1/providers/Microsoft.Compute/restorePointCollections/restorePointCollection1",
"type": "Microsoft.Compute/restorePointCollections",
- "location": "West US",
+ "location": "westus",
"tags": {
"myTag1": "tagValue1"
},
"properties": {
"source": {
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/VM_Test",
- "location": "West US"
+ "location": "westus"
},
"restorePointCollectionId": "59f04a5d-f783-4200-a1bd-d3f464e8c4b4",
"provisioningState": "Successful"
@@ -28,14 +28,14 @@
"name": "restorePointCollection2",
"id": "/subscriptions/{subscription-id}/resourceGroups/resourceGroup2/providers/Microsoft.Compute/restorePointCollections/restorePointCollection2",
"type": "Microsoft.Compute/restorePointCollections",
- "location": "West US",
+ "location": "westus",
"tags": {
"myTag1": "tagValue1"
},
"properties": {
"source": {
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/VM_Prod",
- "location": "West US"
+ "location": "westus"
},
"restorePointCollectionId": "2875c590-e337-4102-9668-4f5b7e3f98a4",
"provisioningState": "Deleting"
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetVMWithUserData.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetVMWithUserData.json
index c3dfdc7addf1..1afab87e608c 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetVMWithUserData.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetVMWithUserData.json
@@ -13,7 +13,7 @@
"name": "{vmss-vm-name}",
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}/virtualMachines/0",
"type": "Microsoft.Compute/virtualMachines",
- "location": "West US",
+ "location": "westus",
"tags": {
"myTag1": "tagValue1"
},
@@ -113,7 +113,7 @@
"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",
+ "location": "westus",
"tags": {
"displayName": "CustomScriptExtension-DSC"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetWithUserData.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetWithUserData.json
index b609dfbee505..3f351925eeb5 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetWithUserData.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetVirtualMachineScaleSetWithUserData.json
@@ -12,7 +12,7 @@
"name": "myVirtualMachineScaleSet",
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVirtualMachineScaleSet",
"type": "Microsoft.Compute/virtualMachineScaleSets",
- "location": "West US",
+ "location": "westus",
"tags": {
"myTag1": "tagValue1"
},
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/compute.json
new file mode 100644
index 000000000000..c4f8526dc54f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/compute.json
@@ -0,0 +1,14989 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ComputeManagementClient",
+ "description": "The Compute Management Client.",
+ "version": "2021-04-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/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. 'InstanceView' will retrieve the list of instance views of the dedicated hosts under the dedicated host group. 'UserData' is not supported for dedicated host group.",
+ "enum": [
+ "instanceView",
+ "userData"
+ ],
+ "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. 'InstanceView' will retrieve the list of instance views of the dedicated host. 'UserData' is not supported for dedicated host.",
+ "enum": [
+ "instanceView",
+ "userData"
+ ],
+ "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}/edgeZones/{edgeZone}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions/{version}": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImagesEdgeZone_Get",
+ "description": "Gets a virtual machine image in an edge zone.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "edgeZone",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the edge zone."
+ },
+ {
+ "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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/edgeZones/{edgeZone}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImagesEdgeZone_List",
+ "description": "Gets a list of all virtual machine image versions for the specified location, edge zone, publisher, offer, and SKU.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "edgeZone",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the edge zone."
+ },
+ {
+ "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",
+ "description": "An integer value specifying the number of images to return that matches supplied values."
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Specifies the order of the results returned. Formatted as an OData query."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/edgeZones/{edgeZone}/publishers/{publisherName}/artifacttypes/vmimage/offers": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImagesEdgeZone_ListOffers",
+ "description": "Gets a list of virtual machine image offers for the specified location, edge zone and publisher.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "edgeZone",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the edge zone."
+ },
+ {
+ "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"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/edgeZones/{edgeZone}/publishers": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImagesEdgeZone_ListPublishers",
+ "description": "Gets a list of virtual machine image publishers for the specified Azure location and edge zone.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "edgeZone",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the edge zone."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/edgeZones/{edgeZone}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImagesEdgeZone_ListSkus",
+ "description": "Gets a list of virtual machine image SKUs for the specified location, edge zone, publisher, and offer.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "edgeZone",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the edge zone."
+ },
+ {
+ "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"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/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}/virtualMachineScaleSets": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ListByLocation",
+ "description": "Gets all the VM scale sets under the specified subscription for the specified location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location for which VM scale sets under the subscription are queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Lists all the VM scale sets under the specified subscription for the specified location.": {
+ "$ref": "./examples/ListVirtualMachineScaleSetsInASubscriptionByLocation.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/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 a Virtual Machine Scale Set with customer assigned platformFaultDomain.": {
+ "$ref": "./examples/CreateAVmInAVirtualMachineScaleSetWithCustomerAssignedPlatformFaultDomain.json"
+ },
+ "Create a vm in an availability set.": {
+ "$ref": "./examples/CreateAVmInAnAvailabilitySet.json"
+ },
+ "Create a vm with Scheduled Events Profile": {
+ "$ref": "./examples/CreateAVmWithScheduledEventsProfile.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 Windows vm with a patch setting patchMode of AutomaticByOS.": {
+ "$ref": "./examples/CreateAWindowsVmWithPatchSettingModeOfAutomaticByOS.json"
+ },
+ "Create a Windows vm with patch settings patchMode and assessmentMode set to AutomaticByPlatform.": {
+ "$ref": "./examples/CreateAWindowsVmWithPatchSettingModesOfAutomaticByPlatform.json"
+ },
+ "Create a Windows vm with a patch setting patchMode of Manual.": {
+ "$ref": "./examples/CreateAWindowsVmWithPatchSettingModeOfManual.json"
+ },
+ "Create a Windows vm with a patch setting assessmentMode of ImageDefault.": {
+ "$ref": "./examples/CreateAWindowsVmWithPatchSettingAssessmentModeOfImageDefault.json"
+ },
+ "Create a Windows vm with a patch setting patchMode of AutomaticByPlatform and enableHotpatching set to true.": {
+ "$ref": "./examples/CreateAWindowsVmWithPatchSettingModeOfAutomaticByPlatformAndEnableHotPatchingTrue.json"
+ },
+ "Create a Linux vm with a patch settings patchMode and assessmentMode set to AutomaticByPlatform.": {
+ "$ref": "./examples/CreateALinuxVmWithPatchSettingModesOfAutomaticByPlatform.json"
+ },
+ "Create a Linux vm with a patch setting patchMode of ImageDefault.": {
+ "$ref": "./examples/CreateALinuxVmWithPatchSettingModeOfImageDefault.json"
+ },
+ "Create a Linux vm with a patch setting assessmentMode of ImageDefault.": {
+ "$ref": "./examples/CreateALinuxVmWithPatchSettingAssessmentModeOfImageDefault.json"
+ },
+ "Create a vm with an extensions time budget.": {
+ "$ref": "./examples/CreateAVmWithExtensionsTimeBudget.json"
+ },
+ "Create a VM with Uefi Settings of secureBoot and vTPM.": {
+ "$ref": "./examples/CreateAVmWithUefiSettings.json"
+ },
+ "Create a vm from a generalized shared image.": {
+ "$ref": "./examples/CreateAVmFromAGeneralizedSharedImage.json"
+ },
+ "Create a vm from a specialized shared image.": {
+ "$ref": "./examples/CreateAVmFromASpecializedSharedImage.json"
+ },
+ "Create a VM with network interface configuration": {
+ "$ref": "./examples/CreateAVmWithNetworkInterfaceConfiguration.json"
+ },
+ "Create a VM with UserData": {
+ "$ref": "./examples/CreateOrUpdateAVmWithUserData.json"
+ },
+ "Create or update a VM with capacity reservation": {
+ "$ref": "./examples/CreateOrUpdateAVmWithCapacityReservation.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"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a VM by detaching data disk": {
+ "$ref": "./examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json"
+ },
+ "Update a VM by force-detaching data disk": {
+ "$ref": "./examples/UpdateVMForceDetachDataDisk.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."
+ },
+ {
+ "name": "forceDeletion",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Optional parameter to force delete virtual machines.(Feature in Preview)"
+ },
+ {
+ "$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": {
+ "Force delete a VM": {
+ "$ref": "./examples/ForceDeleteVirtualMachine.json"
+ }
+ }
+ },
+ "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. 'InstanceView' retrieves a snapshot of the runtime properties of the virtual machine that is managed by the platform and can change outside of control plane operations. 'UserData' retrieves the UserData property as part of the VM model view that was provided by the user during the VM Create/Update operation.",
+ "enum": [
+ "instanceView",
+ "userData"
+ ],
+ "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/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/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/restorePointCollections/{restorePointCollectionName}": {
+ "put": {
+ "tags": [
+ "RestorePointCollections"
+ ],
+ "operationId": "RestorePointCollections_CreateOrUpdate",
+ "description": "The operation to create or update the restore point collection. Please refer to https://aka.ms/RestorePoints for more details. When updating a restore point collection, only tags may be modified.",
+ "x-ms-examples": {
+ "Create or update a restore point collection.": {
+ "$ref": "./examples/CreateOrUpdateARestorePointCollection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "restorePointCollectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the restore point collection."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RestorePointCollection"
+ },
+ "description": "Parameters supplied to the Create or Update restore point collection operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RestorePointCollection"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/RestorePointCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "RestorePointCollections"
+ ],
+ "operationId": "RestorePointCollections_Update",
+ "description": "The operation to update the restore point collection.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "restorePointCollectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the restore point collection."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RestorePointCollectionUpdate"
+ },
+ "description": "Parameters supplied to the Update restore point collection operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RestorePointCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "RestorePointCollections"
+ ],
+ "operationId": "RestorePointCollections_Delete",
+ "description": "The operation to delete the restore point collection. This operation will also delete all the contained restore points.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "restorePointCollectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Restore Point Collection."
+ },
+ {
+ "$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
+ },
+ "get": {
+ "tags": [
+ "RestorePointCollections"
+ ],
+ "operationId": "RestorePointCollections_Get",
+ "description": "The operation to get the restore point collection.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "restorePointCollectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the restore point collection."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation. If expand=restorePoints, server will return all contained restore points in the restorePointCollection.",
+ "enum": [
+ "restorePoints"
+ ],
+ "x-ms-enum": {
+ "name": "RestorePointCollectionExpandOptions",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-examples": {
+ "Get a restore point collection (but not the restore points contained in the restore point collection)": {
+ "$ref": "./examples/GetRestorePointCollection.json"
+ },
+ "Get a restore point collection, including the restore points contained in the restore point collection": {
+ "$ref": "./examples/GetRestorePointCollectionWithContainedRestorePoints.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RestorePointCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections": {
+ "get": {
+ "tags": [
+ "RestorePointCollections"
+ ],
+ "operationId": "RestorePointCollections_List",
+ "description": "Gets the list of restore point collections in a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-examples": {
+ "Gets the list of restore point collections in a resource group.": {
+ "$ref": "./examples/GetRestorePointCollectionsInAResourceGroup.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RestorePointCollectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/restorePointCollections": {
+ "get": {
+ "tags": [
+ "RestorePointCollections"
+ ],
+ "operationId": "RestorePointCollections_ListAll",
+ "description": "Gets the list of restore point collections in the subscription. Use nextLink property in the response to get the next page of restore point collections. Do this till nextLink is not null to fetch all the restore point collections.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RestorePointCollectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the list of restore point collections in a subscription": {
+ "$ref": "./examples/GetRestorePointCollectionsInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{restorePointName}": {
+ "put": {
+ "operationId": "RestorePoints_Create",
+ "description": "The operation to create the restore point. Updating properties of an existing restore point is not allowed",
+ "x-ms-examples": {
+ "Create a restore point": {
+ "$ref": "./examples/CreateARestorePoint.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "restorePointCollectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the restore point collection."
+ },
+ {
+ "name": "restorePointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the restore point."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RestorePoint"
+ },
+ "description": "Parameters supplied to the Create restore point operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/RestorePoint"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "RestorePoints_Delete",
+ "description": "The operation to delete the restore point.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "restorePointCollectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Restore Point Collection."
+ },
+ {
+ "name": "restorePointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the restore point."
+ },
+ {
+ "$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
+ },
+ "get": {
+ "operationId": "RestorePoints_Get",
+ "description": "The operation to get the restore point.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "restorePointCollectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the restore point collection."
+ },
+ {
+ "name": "restorePointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the restore point."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-examples": {
+ "Get a restore point": {
+ "$ref": "./examples/GetRestorePoint.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RestorePoint"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/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/capacityReservationGroups/{capacityReservationGroupName}": {
+ "put": {
+ "tags": [
+ "CapacityReservationGroups"
+ ],
+ "operationId": "CapacityReservationGroups_CreateOrUpdate",
+ "description": "The operation to create or update a capacity reservation group. When updating a capacity reservation group, only tags may be modified. Please refer to https://aka.ms/CapacityReservation for more details.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "capacityReservationGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the capacity reservation group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CapacityReservationGroup"
+ },
+ "description": "Parameters supplied to the Create capacity reservation Group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CapacityReservationGroup"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/CapacityReservationGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a capacity reservation group.": {
+ "$ref": "./examples/CreateOrUpdateACapacityReservationGroup.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "CapacityReservationGroups"
+ ],
+ "operationId": "CapacityReservationGroups_Update",
+ "description": "The operation to update a capacity reservation group. When updating a capacity reservation group, only tags may be modified.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "capacityReservationGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the capacity reservation group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CapacityReservationGroupUpdate"
+ },
+ "description": "Parameters supplied to the Update capacity reservation Group operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CapacityReservationGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "CapacityReservationGroups"
+ ],
+ "operationId": "CapacityReservationGroups_Delete",
+ "description": "The operation to delete a capacity reservation group. This operation is allowed only if all the associated resources are disassociated from the reservation group and all capacity reservations under the reservation group have also been deleted. Please refer to https://aka.ms/CapacityReservation for more details.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "capacityReservationGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the capacity reservation group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "CapacityReservationGroups"
+ ],
+ "operationId": "CapacityReservationGroups_Get",
+ "description": "The operation that retrieves information about a capacity reservation group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "capacityReservationGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the capacity reservation group."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the capacity reservations under the capacity reservation group which is a snapshot of the runtime properties of a capacity reservation that is managed by the platform and can change outside of control plane operations.",
+ "enum": [
+ "instanceView"
+ ],
+ "x-ms-enum": {
+ "name": "CapacityReservationGroupInstanceViewTypes",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CapacityReservationGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a capacity reservation Group.": {
+ "$ref": "./examples/GetACapacityReservationGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups": {
+ "get": {
+ "tags": [
+ "CapacityReservationGroups"
+ ],
+ "operationId": "CapacityReservationGroups_ListByResourceGroup",
+ "description": "Lists all of the capacity reservation groups in the specified resource group. Use the nextLink property in the response to get the next page of capacity reservation groups.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation. Based on the expand param(s) specified we return Virtual Machine or ScaleSet VM Instance or both resource Ids which are associated to capacity reservation group in the response.",
+ "enum": [
+ "virtualMachineScaleSetVMs/$ref",
+ "virtualMachines/$ref"
+ ],
+ "x-ms-enum": {
+ "name": "ExpandTypesForGetCapacityReservationGroups",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CapacityReservationGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List capacity reservation groups in resource group.": {
+ "$ref": "./examples/ListCapacityReservationGroupsInResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/capacityReservationGroups": {
+ "get": {
+ "tags": [
+ "CapacityReservationGroups"
+ ],
+ "operationId": "CapacityReservationGroups_ListBySubscription",
+ "description": "Lists all of the capacity reservation groups in the subscription. Use the nextLink property in the response to get the next page of capacity reservation groups.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation. Based on the expand param(s) specified we return Virtual Machine or ScaleSet VM Instance or both resource Ids which are associated to capacity reservation group in the response.",
+ "enum": [
+ "virtualMachineScaleSetVMs/$ref",
+ "virtualMachines/$ref"
+ ],
+ "x-ms-enum": {
+ "name": "ExpandTypesForGetCapacityReservationGroups",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CapacityReservationGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List capacity reservation groups in subscription.": {
+ "$ref": "./examples/ListCapacityReservationGroupsInSubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}/capacityReservations/{capacityReservationName}": {
+ "put": {
+ "tags": [
+ "CapacityReservations"
+ ],
+ "operationId": "CapacityReservations_CreateOrUpdate",
+ "description": "The operation to create or update a capacity reservation. Please note some properties can be set only during capacity reservation creation. Please refer to https://aka.ms/CapacityReservation for more details.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "capacityReservationGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the capacity reservation group."
+ },
+ {
+ "name": "capacityReservationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the capacity reservation."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CapacityReservation"
+ },
+ "description": "Parameters supplied to the Create capacity reservation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CapacityReservation"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/CapacityReservation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a capacity reservation .": {
+ "$ref": "./examples/CreateOrUpdateACapacityReservation.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "CapacityReservations"
+ ],
+ "operationId": "CapacityReservations_Update",
+ "description": "The operation to update a capacity reservation.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "capacityReservationGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the capacity reservation group."
+ },
+ {
+ "name": "capacityReservationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the capacity reservation."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CapacityReservationUpdate"
+ },
+ "description": "Parameters supplied to the Update capacity reservation operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CapacityReservation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "CapacityReservations"
+ ],
+ "operationId": "CapacityReservations_Delete",
+ "description": "The operation to delete a capacity reservation. This operation is allowed only when all the associated resources are disassociated from the capacity reservation. Please refer to https://aka.ms/CapacityReservation for more details.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "capacityReservationGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the capacity reservation group."
+ },
+ {
+ "name": "capacityReservationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the capacity reservation."
+ },
+ {
+ "$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
+ },
+ "get": {
+ "tags": [
+ "CapacityReservations"
+ ],
+ "operationId": "CapacityReservations_Get",
+ "description": "The operation that retrieves information about the capacity reservation.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "capacityReservationGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the capacity reservation group."
+ },
+ {
+ "name": "capacityReservationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the capacity reservation."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation. 'InstanceView' retrieves a snapshot of the runtime properties of the capacity reservation that is managed by the platform and can change outside of control plane operations.",
+ "enum": [
+ "instanceView"
+ ],
+ "x-ms-enum": {
+ "name": "CapacityReservationInstanceViewTypes",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CapacityReservation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a capacity reservation.": {
+ "$ref": "./examples/GetACapacityReservation.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}/capacityReservations": {
+ "get": {
+ "tags": [
+ "CapacityReservation"
+ ],
+ "operationId": "CapacityReservations_ListByCapacityReservationGroup",
+ "description": "Lists all of the capacity reservations in the specified capacity reservation group. Use the nextLink property in the response to get the next page of capacity reservations.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "capacityReservationGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the capacity reservation group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CapacityReservationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List capacity reservations in reservation group.": {
+ "$ref": "./examples/ListCapacityReservationsInReservationGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/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/virtualMachines/{vmName}/installPatches": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_InstallPatches",
+ "description": "Installs patches on the VM.",
+ "x-ms-examples": {
+ "Install patch state of a virtual machine.": {
+ "$ref": "./examples/VirtualMachineInstallPatches.json"
+ }
+ },
+ "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": "installPatchesInput",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineInstallPatchesParameters"
+ },
+ "description": "Input for InstallPatches as directly received by the API"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineInstallPatchesResult"
+ }
+ },
+ "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"
+ },
+ "Create a scale set with Fpga Network Interfaces.": {
+ "$ref": "./examples/CreateAScaleSetFromWithFpgaNetworkInterface.json"
+ },
+ "Create a scale set with Uefi Settings of secureBoot and vTPM.": {
+ "$ref": "./examples/CreateAScaleSetWithUefiSettings.json"
+ },
+ "Create a scale set from a generalized shared image.": {
+ "$ref": "./examples/CreateAScaleSetFromAGeneralizedSharedImage.json"
+ },
+ "Create a scale set from a specialized shared image.": {
+ "$ref": "./examples/CreateAScaleSetFromASpecializedSharedImage.json"
+ },
+ "Create a scale set with userData.": {
+ "$ref": "./examples/CreateOrUpdateAScaleSetWithUserData.json"
+ },
+ "Create or update a scale set with capacity reservation.": {
+ "$ref": "./examples/CreateOrUpdateAScaleSetWithCapacityReservation.json"
+ },
+ "Create a scale set with spot restore policy": {
+ "$ref": "./examples/CreateAScaleSetWithSpotRestorePolicy.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."
+ },
+ {
+ "name": "forceDeletion",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Optional parameter to force delete a VM scale set. (Feature in Preview)"
+ },
+ {
+ "$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": {
+ "Force Delete a VM scale set.": {
+ "$ref": "./examples/ForceDeleteVirtualMachineScaleSets.json"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation. 'UserData' retrieves the UserData property of the VM scale set that was provided by the user during the VM scale set Create/Update operation",
+ "enum": [
+ "userData"
+ ],
+ "x-ms-enum": {
+ "name": "ExpandTypesForGetVMScaleSets",
+ "modelAsString": true
+ }
+ }
+ ],
+ "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"
+ },
+ "Get a virtual machine scale set with UserData": {
+ "$ref": "./examples/GetVirtualMachineScaleSetWithUserData.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."
+ },
+ {
+ "name": "forceDeletion",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Optional parameter to force delete virtual machines from the VM scale set. (Feature in Preview)"
+ },
+ {
+ "$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/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/VirtualMachineScaleSetVMExtension"
+ },
+ "description": "Parameters supplied to the Create Virtual Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtension"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtension"
+ }
+ },
+ "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/VirtualMachineScaleSetVMExtensionUpdate"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtension"
+ }
+ },
+ "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/VirtualMachineScaleSetVMExtension"
+ }
+ },
+ "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/VirtualMachineScaleSetVMExtensionsListResult"
+ }
+ },
+ "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."
+ },
+ {
+ "name": "forceDeletion",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Optional parameter to force delete a virtual machine from a VM scale set. (Feature in Preview)"
+ },
+ {
+ "$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": {
+ "Force Delete a virtual machine from a VM scale set.": {
+ "$ref": "./examples/ForceDeleteVirtualMachineScaleSetVM.json"
+ }
+ }
+ },
+ "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. 'InstanceView' will retrieve the instance view of the virtual machine. 'UserData' will retrieve the UserData of the virtual machine.",
+ "enum": [
+ "instanceView",
+ "userData"
+ ],
+ "x-ms-enum": {
+ "name": "InstanceViewTypes",
+ "modelAsString": false
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get VM scale set VM with UserData": {
+ "$ref": "./examples/GetVirtualMachineScaleSetVMWithUserData.json"
+ }
+ }
+ }
+ },
+ "/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": {
+ "RestorePointCollectionSourceProperties": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Location of the source resource used to create this restore point collection."
+ },
+ "id": {
+ "type": "string",
+ "description": "Resource Id of the source resource used to create this restore point collection"
+ }
+ },
+ "description": "The properties of the source resource that this restore point collection is created from."
+ },
+ "RestorePointCollectionProperties": {
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/RestorePointCollectionSourceProperties"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the restore point collection."
+ },
+ "restorePointCollectionId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The unique id of the restore point collection."
+ },
+ "restorePoints": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/RestorePoint"
+ },
+ "description": "A list containing all restore points created under this restore point collection."
+ }
+ },
+ "description": "The restore point collection properties."
+ },
+ "RestorePointCollection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RestorePointCollectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Create or update Restore Point collection parameters."
+ },
+ "RestorePointCollectionUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RestorePointCollectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Update Restore Point collection parameters."
+ },
+ "RestorePointCollectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestorePointCollection"
+ },
+ "description": "Gets the list of restore point collections."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of RestorePointCollections. Call ListNext() with this to fetch the next page of RestorePointCollections"
+ }
+ },
+ "description": "The List restore point collection operation response."
+ },
+ "RestorePointSourceMetadata": {
+ "properties": {
+ "hardwareProfile": {
+ "$ref": "#/definitions/HardwareProfile",
+ "description": "Gets the hardware profile."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/RestorePointSourceVMStorageProfile",
+ "description": "Gets the storage profile."
+ },
+ "osProfile": {
+ "$ref": "#/definitions/OSProfile",
+ "description": "Gets the OS profile."
+ },
+ "diagnosticsProfile": {
+ "$ref": "#/definitions/DiagnosticsProfile",
+ "description": "Gets the diagnostics profile."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "Gets the license type, which is for bring your own license scenario."
+ },
+ "vmId": {
+ "type": "string",
+ "description": "Gets the virtual machine unique id."
+ },
+ "securityProfile": {
+ "$ref": "#/definitions/SecurityProfile",
+ "description": "Gets the security profile."
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the VM from which the restore point was created."
+ }
+ },
+ "description": "Describes the properties of the Virtual Machine for which the restore point was created. The properties provided are a subset and the snapshot of the overall Virtual Machine properties captured at the time of the restore point creation."
+ },
+ "RestorePointSourceVMStorageProfile": {
+ "properties": {
+ "osDisk": {
+ "$ref": "#/definitions/RestorePointSourceVMOSDisk",
+ "description": "Gets the OS disk of the VM captured at the time of the restore point creation."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestorePointSourceVMDataDisk"
+ },
+ "description": "Gets the data disks of the VM captured at the time of the restore point creation."
+ }
+ },
+ "description": "Describes the storage profile."
+ },
+ "RestorePointSourceVMOSDisk": {
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "Gets the Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemType",
+ "modelAsString": true
+ }
+ },
+ "encryptionSettings": {
+ "$ref": "#/definitions/DiskEncryptionSettings",
+ "description": "Gets the disk encryption settings."
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets the disk name."
+ },
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "Gets the caching type."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Gets the disk size in GB."
+ },
+ "managedDisk": {
+ "$ref": "#/definitions/ManagedDiskParameters",
+ "description": "Gets the managed disk details"
+ },
+ "diskRestorePoint": {
+ "$ref": "#/definitions/ApiEntityReference",
+ "description": "Gets the disk restore point Id."
+ }
+ },
+ "description": "Describes an Operating System disk."
+ },
+ "RestorePointSourceVMDataDisk": {
+ "properties": {
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Gets the logical unit number."
+ },
+ "name": {
+ "type": "string",
+ "description": "Gets the disk name."
+ },
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "Gets the caching type."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Gets the initial disk size in GB for blank data disks, and the new desired size for existing OS and Data disks."
+ },
+ "managedDisk": {
+ "$ref": "#/definitions/ManagedDiskParameters",
+ "description": "Gets the managed disk details"
+ },
+ "diskRestorePoint": {
+ "$ref": "#/definitions/ApiEntityReference",
+ "description": "Gets the disk restore point Id."
+ }
+ },
+ "description": "Describes a data disk."
+ },
+ "RestorePointProvisioningDetails": {
+ "properties": {
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Gets the creation time of the restore point."
+ },
+ "totalUsedSizeInBytes": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Gets the total size of the data in all the disks which are part of the restore point."
+ },
+ "statusCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Gets the status of the Create restore point operation."
+ },
+ "statusMessage": {
+ "type": "string",
+ "description": "Gets the status message of the Create restore point operation."
+ }
+ },
+ "description": "Restore Point Provisioning details."
+ },
+ "RestorePoint": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RestorePointProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Restore Point details."
+ },
+ "RestorePointProperties": {
+ "type": "object",
+ "properties": {
+ "excludeDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiEntityReference"
+ },
+ "description": "List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included."
+ },
+ "sourceMetadata": {
+ "readOnly": true,
+ "$ref": "#/definitions/RestorePointSourceMetadata",
+ "description": "Gets the details of the VM captured at the time of the restore point creation."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gets the provisioning state of the restore point."
+ },
+ "consistencyMode": {
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "CrashConsistent",
+ "FileSystemConsistent",
+ "ApplicationConsistent"
+ ],
+ "x-ms-enum": {
+ "name": "ConsistencyModeTypes",
+ "modelAsString": true
+ },
+ "description": "Gets the consistency mode for the restore point. Please refer to https://aka.ms/RestorePoints for more details."
+ },
+ "provisioningDetails": {
+ "$ref": "#/definitions/RestorePointProvisioningDetails",
+ "readOnly": true,
+ "description": "Gets the provisioning details set by the server during Create restore point operation."
+ }
+ },
+ "description": "The restore point properties."
+ },
+ "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 [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview).
For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates)
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,
+ "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 'false' 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,
+ "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."
+ },
+ "CapacityReservationGroupInstanceView": {
+ "type": "object",
+ "properties": {
+ "capacityReservations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CapacityReservationInstanceViewWithName"
+ },
+ "readOnly": true,
+ "description": "List of instance view of the capacity reservations under the capacity reservation group."
+ }
+ }
+ },
+ "CapacityReservationGroupProperties": {
+ "type": "object",
+ "properties": {
+ "capacityReservations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ },
+ "readOnly": true,
+ "description": "A list of all capacity reservation resource ids that belong to capacity reservation group."
+ },
+ "virtualMachinesAssociated": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ },
+ "readOnly": true,
+ "description": "A list of references to all virtual machines associated to the capacity reservation group."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/CapacityReservationGroupInstanceView",
+ "readOnly": true,
+ "description": "The capacity reservation group instance view which has the list of instance views for all the capacity reservations that belong to the capacity reservation group."
+ }
+ },
+ "description": "capacity reservation group Properties."
+ },
+ "CapacityReservationGroup": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CapacityReservationGroupProperties"
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Availability Zones to use for this capacity reservation group. The zones can be assigned only during creation. If not provided, the group supports only regional resources in the region. If provided, enforces each capacity reservation in the group to be in one of the zones."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the capacity reservation group that the capacity reservations should be assigned to.
Currently, a capacity reservation can only be added to a capacity reservation group at creation time. An existing capacity reservation cannot be added or moved to another capacity reservation group."
+ },
+ "CapacityReservationGroupUpdate": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CapacityReservationGroupProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the capacity reservation group. Only tags can be updated."
+ },
+ "CapacityReservationGroupListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CapacityReservationGroup"
+ },
+ "description": "The list of capacity reservation groups"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of capacity reservation groups. Call ListNext() with this URI to fetch the next page of capacity reservation groups."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List capacity reservation group with resource group response."
+ },
+ "CapacityReservationInstanceView": {
+ "type": "object",
+ "properties": {
+ "utilizationInfo": {
+ "$ref": "#/definitions/CapacityReservationUtilization",
+ "description": "Unutilized capacity of the capacity reservation."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of a capacity reservation that provides as snapshot of the runtime properties of the capacity reservation that is managed by the platform and can change outside of control plane operations."
+ },
+ "CapacityReservationUtilization": {
+ "type": "object",
+ "properties": {
+ "virtualMachinesAllocated": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ },
+ "readOnly": true,
+ "description": "A list of all virtual machines resource ids allocated against the capacity reservation."
+ }
+ },
+ "description": "Represents the capacity reservation utilization in terms of resources allocated."
+ },
+ "CapacityReservationInstanceViewWithName": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the capacity reservation."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/CapacityReservationInstanceView"
+ }
+ ],
+ "description": "The instance view of a capacity reservation that includes the name of the capacity reservation. It is used for the response to the instance view of a capacity reservation group."
+ },
+ "CapacityReservationProperties": {
+ "type": "object",
+ "properties": {
+ "reservationId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique id generated and assigned to the capacity reservation by the platform which does not change throughout the lifetime of the resource."
+ },
+ "virtualMachinesAssociated": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ },
+ "readOnly": true,
+ "description": "A list of all virtual machine resource ids that are associated with the capacity reservation."
+ },
+ "provisioningTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The date time when the capacity reservation was last updated."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/CapacityReservationInstanceView",
+ "readOnly": true,
+ "description": "The Capacity reservation instance view."
+ }
+ },
+ "description": "Properties of the Capacity reservation."
+ },
+ "CapacityReservation": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CapacityReservationProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "sku"
+ ],
+ "description": "Specifies information about the capacity reservation."
+ },
+ "CapacityReservationUpdate": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CapacityReservationProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the capacity reservation. Only tags and sku.capacity can be updated."
+ },
+ "CapacityReservationListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CapacityReservation"
+ },
+ "description": "The list of capacity reservations"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of capacity reservations. Call ListNext() with this URI to fetch the next page of capacity reservations."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The list capacity reservation 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. For Constrained vCPU capable VM sizes, this number represents the total vCPUs of quota that the VM uses. For accurate vCPU count, please refer to https://docs.microsoft.com/azure/virtual-machines/constrained-vcpu or https://docs.microsoft.com/rest/api/compute/resourceskus/list"
+ },
+ "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)."
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extended location of the Virtual Machine."
+ }
+ },
+ "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."
+ },
+ "VirtualMachineScaleSetVMExtension": {
+ "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/VirtualMachineExtensionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ }
+ ],
+ "description": "Describes a VMSS VM Extension."
+ },
+ "VirtualMachineExtensionUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineExtensionUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Extension."
+ },
+ "VirtualMachineScaleSetVMExtensionUpdate": {
+ "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/VirtualMachineExtensionUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ }
+ ],
+ "description": "Describes a VMSS VM Extension."
+ },
+ "VirtualMachineExtensionsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ },
+ "description": "The list of extensions"
+ }
+ },
+ "description": "The List Extension operation response"
+ },
+ "VirtualMachineScaleSetVMExtensionsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtension"
+ },
+ "description": "The list of VMSS VM extensions"
+ }
+ },
+ "description": "The List VMSS VM 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": [
+ "Unknown",
+ "NeverReboots",
+ "AlwaysRequiresReboot",
+ "CanRequestReboot"
+ ],
+ "x-ms-enum": {
+ "name": "VMGuestPatchRebootBehavior",
+ "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 availability of a given patch.",
+ "enum": [
+ "Unknown",
+ "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 \"Unknown\", \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\"",
+ "enum": [
+ "Unknown",
+ "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."
+ },
+ "availablePatches": {
+ "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."
+ },
+ "VirtualMachineInstallPatchesParameters": {
+ "properties": {
+ "maximumDuration": {
+ "type": "string",
+ "description": "Specifies the maximum amount of time that the operation will run. It must be an ISO 8601-compliant duration string such as PT4H (4 hours)"
+ },
+ "rebootSetting": {
+ "type": "string",
+ "description": "Defines when it is acceptable to reboot a VM during a software update operation.",
+ "enum": [
+ "IfRequired",
+ "Never",
+ "Always"
+ ],
+ "x-ms-enum": {
+ "name": "VMGuestPatchRebootSetting",
+ "modelAsString": true
+ }
+ },
+ "windowsParameters": {
+ "$ref": "#/definitions/WindowsParameters",
+ "description": "Input for InstallPatches on a Windows VM, as directly received by the API"
+ },
+ "linuxParameters": {
+ "$ref": "#/definitions/LinuxParameters",
+ "description": "Input for InstallPatches on a Linux VM, as directly received by the API"
+ }
+ },
+ "required": [
+ "maximumDuration",
+ "rebootSetting"
+ ],
+ "description": "Input for InstallPatches as directly received by the API"
+ },
+ "WindowsParameters": {
+ "properties": {
+ "classificationsToInclude": {
+ "type": "array",
+ "description": "The update classifications to select when installing patches for Windows.",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Critical",
+ "Security",
+ "UpdateRollUp",
+ "FeaturePack",
+ "ServicePack",
+ "Definition",
+ "Tools",
+ "Updates"
+ ],
+ "x-ms-enum": {
+ "name": "VMGuestPatchClassification_Windows",
+ "modelAsString": true
+ }
+ }
+ },
+ "kbNumbersToInclude": {
+ "type": "array",
+ "description": "Kbs to include in the patch operation",
+ "items": {
+ "type": "string"
+ }
+ },
+ "kbNumbersToExclude": {
+ "type": "array",
+ "description": "Kbs to exclude in the patch operation",
+ "items": {
+ "type": "string"
+ }
+ },
+ "excludeKbsRequiringReboot": {
+ "type": "boolean",
+ "description": "Filters out Kbs that don't have an InstallationRebootBehavior of 'NeverReboots' when this is set to true."
+ },
+ "maxPatchPublishDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "This is used to install patches that were published on or before this given max published date."
+ }
+ },
+ "description": "Input for InstallPatches on a Windows VM, as directly received by the API"
+ },
+ "LinuxParameters": {
+ "properties": {
+ "classificationsToInclude": {
+ "type": "array",
+ "description": "The update classifications to select when installing patches for Linux.",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Critical",
+ "Security",
+ "Other"
+ ],
+ "x-ms-enum": {
+ "name": "VMGuestPatchClassification_Linux",
+ "modelAsString": true
+ }
+ }
+ },
+ "packageNameMasksToInclude": {
+ "type": "array",
+ "description": "packages to include in the patch operation. Format: packageName_packageVersion",
+ "items": {
+ "type": "string"
+ }
+ },
+ "packageNameMasksToExclude": {
+ "type": "array",
+ "description": "packages to exclude in the patch operation. Format: packageName_packageVersion",
+ "items": {
+ "type": "string"
+ }
+ },
+ "maintenanceRunId": {
+ "type": "string",
+ "description": "This is used as a maintenance run identifier for Auto VM Guest Patching in Linux."
+ }
+ },
+ "description": "Input for InstallPatches on a Linux VM, as directly received by the API"
+ },
+ "VirtualMachineInstallPatchesResult": {
+ "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\", \"Unknown\" or \"CompletedWithWarnings.\"",
+ "enum": [
+ "Unknown",
+ "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."
+ },
+ "rebootStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The reboot state of the VM following completion of the operation.",
+ "enum": [
+ "Unknown",
+ "NotNeeded",
+ "Required",
+ "Started",
+ "Failed",
+ "Completed"
+ ],
+ "x-ms-enum": {
+ "name": "VMGuestPatchRebootStatus",
+ "modelAsString": true
+ }
+ },
+ "maintenanceWindowExceeded": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Whether the operation ran out of time before it completed all its intended actions."
+ },
+ "excludedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of patches that were not installed due to the user blocking their installation."
+ },
+ "notSelectedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of patches that were detected as available for install, but did not meet the operation's criteria."
+ },
+ "pendingPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of patches that were identified as meeting the installation criteria, but were not able to be installed. Typically this happens when maintenanceWindowExceeded == true."
+ },
+ "installedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of patches successfully installed."
+ },
+ "failedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of patches that could not be installed due to some issue. See errors for details."
+ },
+ "patches": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PatchInstallationDetail"
+ },
+ "description": "The patches that were installed during the operation."
+ },
+ "startDateTime": {
+ "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": "The result summary of an installation operation."
+ },
+ "PatchInstallationDetail": {
+ "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 string of the package. It may conform to Semantic Versioning. Only applies to Linux."
+ },
+ "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."
+ },
+ "installationState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The state of the patch after the installation operation completed.",
+ "enum": [
+ "Unknown",
+ "Installed",
+ "Failed",
+ "Excluded",
+ "NotSelected",
+ "Pending"
+ ],
+ "x-ms-enum": {
+ "name": "PatchInstallationState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Information about a specific patch that was encountered during an installation action."
+ },
+ "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."
+ },
+ "VirtualMachineImageFeature": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the feature."
+ },
+ "value": {
+ "type": "string",
+ "description": "The corresponding value for the feature."
+ }
+ },
+ "description": "Specifies additional capabilities supported by 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"
+ },
+ "features": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageFeature"
+ }
+ }
+ },
+ "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.
The enum data type is currently deprecated and will be removed by December 23rd 2023.
Recommended way to get the list of available sizes is using 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/resourceskus/list)
[List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes).
The available VM sizes depend on region and availability set.",
+ "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
+ }
+ },
+ "DetachOption": {
+ "type": "string",
+ "description": "Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach**.
detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior.
This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.",
+ "enum": [
+ "ForceDetach"
+ ],
+ "x-ms-enum": {
+ "name": "DiskDetachOptionTypes",
+ "modelAsString": true
+ }
+ },
+ "DeleteOption": {
+ "type": "string",
+ "description": "Specifies the behavior of the managed disk when the VM gets deleted i.e whether the managed disk is deleted or detached. Supported values:
**Delete** If this value is used, the managed disk is deleted when VM gets deleted.
**Detach** If this value is used, the managed disk is retained after VM gets deleted.
Minimum api-version: 2021-03-01",
+ "enum": [
+ "Delete",
+ "Detach"
+ ],
+ "x-ms-enum": {
+ "name": "DiskDeleteOptionTypes",
+ "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. Premium_ZRS uses Premium SSD zone redundant storage. StandardSSD_ZRS uses Standard SSD zone redundant storage. For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/linux/disks-types",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS",
+ "UltraSSD_LRS",
+ "Premium_ZRS",
+ "StandardSSD_ZRS"
+ ],
+ "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/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VM at https://docs.microsoft.com/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/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/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"
+ },
+ "deleteOption": {
+ "$ref": "#/definitions/DeleteOption",
+ "description": "Specifies whether OS Disk should be deleted or detached upon VM deletion.
Possible values:
**Delete** If this value is used, the OS disk is deleted when VM is deleted.
**Detach** If this value is used, the os disk is retained after VM is deleted.
The default value is set to **detach**. For an ephemeral OS Disk, the default value is set to **Delete**. User cannot change the delete option for ephemeral OS Disk."
+ }
+ },
+ "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/managed-disks-overview)."
+ },
+ "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."
+ },
+ "detachOption": {
+ "$ref": "#/definitions/DetachOption",
+ "description": "Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach**.
detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior.
This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'."
+ },
+ "deleteOption": {
+ "$ref": "#/definitions/DeleteOption",
+ "description": "Specifies whether data disk should be deleted or detached upon VM deletion.
Possible values:
**Delete** If this value is used, the data disk is deleted when VM is deleted.
**Detach** If this value is used, the data disk is retained after VM is deleted.
The default value is set to **detach**"
+ }
+ },
+ "required": [
+ "lun",
+ "createOption"
+ ],
+ "description": "Describes a data disk."
+ },
+ "CapacityReservationProfile": {
+ "type": "object",
+ "properties": {
+ "capacityReservationGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies the capacity reservation group resource id that should be used for allocating the virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to https://aka.ms/CapacityReservation for more details."
+ }
+ },
+ "description": "The parameters of a capacity reservation Profile."
+ },
+ "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/managed-disks-overview)."
+ },
+ "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/managed-disks-overview)."
+ }
+ },
+ "description": "Specifies the storage settings for the virtual machine disks."
+ },
+ "UefiSettings": {
+ "properties": {
+ "secureBootEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether secure boot should be enabled on the virtual machine.
Minimum api-version: 2020-12-01"
+ },
+ "vTpmEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether vTPM should be enabled on the virtual machine.
Minimum api-version: 2020-12-01"
+ }
+ },
+ "description": "Specifies the security settings like secure boot and vTPM used while creating the virtual machine.
Minimum api-version: 2020-12-01"
+ },
+ "SecurityProfile": {
+ "properties": {
+ "uefiSettings": {
+ "$ref": "#/definitions/UefiSettings",
+ "description": "Specifies the security settings like secure boot and vTPM used while creating the virtual machine.
Minimum api-version: 2020-12-01"
+ },
+ "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."
+ },
+ "securityType": {
+ "type": "string",
+ "description": "Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings.
Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch.",
+ "enum": [
+ "TrustedLaunch"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityTypes",
+ "modelAsString": true
+ }
+ }
+ },
+ "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\":\"\"
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)."
+ }
+ },
+ "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/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/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": "[Preview Feature] Specifies settings related to VM Guest Patching on Windows."
+ },
+ "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/linux/create-ssh-keys-detailed)."
+ }
+ },
+ "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."
+ },
+ "patchSettings": {
+ "$ref": "#/definitions/LinuxPatchSettings",
+ "description": "[Preview Feature] Specifies settings related to VM Guest Patching on Linux."
+ }
+ },
+ "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/linux/endorsed-distros)."
+ },
+ "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\":\"\"
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)."
+ },
+ "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/azure-resource-manager/management/resource-name-rules)."
+ },
+ "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."
+ },
+ "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/troubleshoot/azure/virtual-machines/reset-rdp)
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/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection)"
+ },
+ "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/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/linux/using-cloud-init)"
+ },
+ "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/linux/endorsed-distros)."
+ },
+ "secrets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultSecretGroup"
+ },
+ "description": "Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)."
+ },
+ "allowExtensionOperations": {
+ "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."
+ },
+ "deleteOption": {
+ "type": "string",
+ "description": "Specify what happens to the network interface when the VM is deleted",
+ "enum": [
+ "Delete",
+ "Detach"
+ ],
+ "x-ms-enum": {
+ "name": "DeleteOptions",
+ "modelAsString": true
+ }
+ }
+ },
+ "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."
+ },
+ "VirtualMachineIpTag": {
+ "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."
+ },
+ "VirtualMachinePublicIPAddressDnsSettingsConfiguration": {
+ "properties": {
+ "domainNameLabel": {
+ "type": "string",
+ "description": "The Domain name label prefix of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the domain name label and vm network profile unique ID."
+ }
+ },
+ "required": [
+ "domainNameLabel"
+ ],
+ "description": "Describes a virtual machines network configuration's DNS settings."
+ },
+ "VirtualMachinePublicIPAddressConfigurationProperties": {
+ "properties": {
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The idle timeout of the public IP address."
+ },
+ "deleteOption": {
+ "type": "string",
+ "description": "Specify what happens to the public IP address when the VM is deleted",
+ "enum": [
+ "Delete",
+ "Detach"
+ ],
+ "x-ms-enum": {
+ "name": "DeleteOptions",
+ "modelAsString": true
+ }
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/VirtualMachinePublicIPAddressDnsSettingsConfiguration",
+ "description": "The dns settings to be applied on the publicIP addresses ."
+ },
+ "ipTags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineIpTag"
+ },
+ "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": "IPVersions",
+ "modelAsString": true
+ }
+ },
+ "publicIPAllocationMethod": {
+ "type": "string",
+ "description": "Specify the public IP allocation type",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ],
+ "x-ms-enum": {
+ "name": "PublicIPAllocationMethod",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Describes a virtual machines IP Configuration's PublicIPAddress configuration"
+ },
+ "PublicIPAddressSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Specify public IP sku name",
+ "enum": [
+ "Basic",
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "PublicIPAddressSkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "Specify public IP sku tier",
+ "enum": [
+ "Regional",
+ "Global"
+ ],
+ "x-ms-enum": {
+ "name": "PublicIPAddressSkuTier",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Describes the public IP Sku"
+ },
+ "VirtualMachinePublicIPAddressConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The publicIP address configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachinePublicIPAddressConfigurationProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/PublicIPAddressSku"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Describes a virtual machines IP Configuration's PublicIPAddress configuration"
+ },
+ "VirtualMachineNetworkInterfaceIPConfigurationProperties": {
+ "properties": {
+ "subnet": {
+ "$ref": "#/definitions/SubResource",
+ "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/VirtualMachinePublicIPAddressConfiguration",
+ "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": "IPVersions",
+ "modelAsString": true
+ }
+ },
+ "applicationSecurityGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to application security group."
+ },
+ "applicationGatewayBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to backend address pools of application gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual machines cannot use the same application gateway."
+ },
+ "loadBalancerBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to backend address pools of load balancers. A virtual machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines cannot use the same basic sku load balancer]."
+ }
+ },
+ "description": "Describes a virtual machine network interface IP configuration properties."
+ },
+ "VirtualMachineNetworkInterfaceIPConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The IP configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineNetworkInterfaceIPConfigurationProperties"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Describes a virtual machine network profile's IP configuration."
+ },
+ "VirtualMachineNetworkInterfaceDnsSettingsConfiguration": {
+ "properties": {
+ "dnsServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of DNS servers IP addresses"
+ }
+ },
+ "description": "Describes a virtual machines network configuration's DNS settings."
+ },
+ "VirtualMachineNetworkInterfaceConfigurationProperties": {
+ "properties": {
+ "primary": {
+ "type": "boolean",
+ "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface."
+ },
+ "deleteOption": {
+ "type": "string",
+ "description": "Specify what happens to the network interface when the VM is deleted",
+ "enum": [
+ "Delete",
+ "Detach"
+ ],
+ "x-ms-enum": {
+ "name": "DeleteOptions",
+ "modelAsString": true
+ }
+ },
+ "enableAcceleratedNetworking": {
+ "type": "boolean",
+ "description": "Specifies whether the network interface is accelerated networking-enabled."
+ },
+ "enableFpga": {
+ "type": "boolean",
+ "description": "Specifies whether the network interface is FPGA networking-enabled."
+ },
+ "enableIPForwarding": {
+ "type": "boolean",
+ "description": "Whether IP forwarding enabled on this NIC."
+ },
+ "networkSecurityGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The network security group."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/VirtualMachineNetworkInterfaceDnsSettingsConfiguration",
+ "description": "The dns settings to be applied on the network interfaces."
+ },
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineNetworkInterfaceIPConfiguration"
+ },
+ "description": "Specifies the IP configurations of the network interface."
+ },
+ "dscpConfiguration": {
+ "$ref": "#/definitions/SubResource"
+ }
+ },
+ "required": [
+ "ipConfigurations"
+ ],
+ "description": "Describes a virtual machine network profile's IP configuration."
+ },
+ "VirtualMachineNetworkInterfaceConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The network interface configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineNetworkInterfaceConfigurationProperties"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Describes a virtual machine network interface configurations."
+ },
+ "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."
+ },
+ "networkApiVersion": {
+ "type": "string",
+ "description": "specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations",
+ "enum": [
+ "2020-11-01"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkApiVersion",
+ "modelAsString": true
+ }
+ },
+ "networkInterfaceConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineNetworkInterfaceConfiguration"
+ },
+ "description": "Specifies the networking configurations that will be used to create the virtual machine networking resources."
+ }
+ },
+ "description": "Specifies the network interfaces or the networking configuration 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",
+ "x-ms-client-name": "userAssignedIdentitiesValue",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The list of user identities associated with the 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": "[Preview Feature] 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 [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview).
For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates)
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.
Possible values for Windows Server operating system are:
Windows_Client
Windows_Server
Possible values for Linux Server operating system are:
RHEL_BYOS (for RHEL)
SLES_BYOS (for SUSE)
For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)
[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)
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"
+ },
+ "platformFaultDomain": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains.
This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set.The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' > 1.This property cannot be updated once the Virtual Machine is created.Fault domain assignment can be viewed in the Virtual Machine Instance View.
Minimum api‐version: 2020‐12‐01"
+ },
+ "scheduledEventsProfile": {
+ "$ref": "#/definitions/ScheduledEventsProfile",
+ "description": "Specifies Scheduled Event related configurations."
+ },
+ "userData": {
+ "type": "string",
+ "description": "UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.
Minimum api-version: 2021-03-01"
+ },
+ "capacityReservation": {
+ "$ref": "#/definitions/CapacityReservationProfile",
+ "description": "Specifies information about the capacity reservation that is used to allocate virtual machine.
Minimum api-version: 2021-04-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."
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extended location of the Virtual Machine."
+ }
+ },
+ "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)."
+ },
+ "enableCrossZoneUpgrade": {
+ "type": "boolean",
+ "description": "Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size."
+ },
+ "prioritizeUnhealthyInstances": {
+ "type": "boolean",
+ "description": "Upgrade all unhealthy instances in a scale set before any healthy instances."
+ }
+ },
+ "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."
+ },
+ "SpotRestorePolicy": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored opportunistically based on capacity availability and pricing constraints"
+ },
+ "restoreTimeout": {
+ "type": "string",
+ "description": "Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore the VMSS SPOT instances"
+ }
+ },
+ "description": "Specifies the Spot-Try-Restore properties for the virtual machine scale set.
With this property customer can enable or disable automatic restore of the evicted Spot VMSS VM instances opportunistically based on capacity availability and pricing constraint."
+ },
+ "OrchestrationMode": {
+ "type": "string",
+ "description": "Specifies the orchestration mode for the virtual machine scale set.",
+ "enum": [
+ "Uniform",
+ "Flexible"
+ ],
+ "x-ms-enum": {
+ "name": "OrchestrationMode",
+ "modelAsString": true
+ }
+ },
+ "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/managed-disks-overview)."
+ },
+ "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/managed-disks-overview)."
+ },
+ "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": "Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource."
+ }
+ },
+ "description": "Describes the properties of an Image."
+ },
+ "Image": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ImageProperties"
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extended location of the Image."
+ }
+ },
+ "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",
+ "x-ms-client-name": "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue",
+ "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"
+ },
+ "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/troubleshoot/azure/virtual-machines/reset-rdp)
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/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection)"
+ },
+ "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/linux/using-cloud-init)"
+ },
+ "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/linux/endorsed-distros)."
+ },
+ "secrets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultSecretGroup"
+ },
+ "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)."
+ }
+ },
+ "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/managed-disks-overview)."
+ },
+ "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/managed-disks-overview)."
+ }
+ },
+ "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."
+ },
+ "enableFpga": {
+ "type": "boolean",
+ "description": "Specifies whether the network interface is FPGA 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."
+ },
+ "deleteOption": {
+ "type": "string",
+ "description": "Specify what happens to the network interface when the VM is deleted",
+ "enum": [
+ "Delete",
+ "Detach"
+ ],
+ "x-ms-enum": {
+ "name": "DeleteOptions",
+ "modelAsString": true
+ }
+ }
+ },
+ "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."
+ },
+ "enableFpga": {
+ "type": "boolean",
+ "description": "Specifies whether the network interface is FPGA 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."
+ },
+ "deleteOption": {
+ "type": "string",
+ "description": "Specify what happens to the network interface when the VM is deleted",
+ "enum": [
+ "Delete",
+ "Detach"
+ ],
+ "x-ms-enum": {
+ "name": "DeleteOptions",
+ "modelAsString": true
+ }
+ }
+ },
+ "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"
+ },
+ "sku": {
+ "$ref": "#/definitions/PublicIPAddressSku"
+ }
+ },
+ "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
+ }
+ },
+ "deleteOption": {
+ "type": "string",
+ "description": "Specify what happens to the public IP when the VM is deleted",
+ "enum": [
+ "Delete",
+ "Detach"
+ ],
+ "x-ms-enum": {
+ "name": "DeleteOptions",
+ "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 ."
+ },
+ "deleteOption": {
+ "type": "string",
+ "description": "Specify what happens to the public IP when the VM is deleted",
+ "enum": [
+ "Delete",
+ "Detach"
+ ],
+ "x-ms-enum": {
+ "name": "DeleteOptions",
+ "modelAsString": true
+ }
+ }
+ },
+ "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."
+ },
+ "networkApiVersion": {
+ "type": "string",
+ "description": "specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'",
+ "enum": [
+ "2020-11-01"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkApiVersion",
+ "modelAsString": true
+ }
+ }
+ },
+ "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."
+ },
+ "networkApiVersion": {
+ "type": "string",
+ "description": "specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'",
+ "enum": [
+ "2020-11-01"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkApiVersion",
+ "modelAsString": true
+ }
+ }
+ },
+ "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.
Possible values for Windows Server operating system are:
Windows_Client
Windows_Server
Possible values for Linux Server operating system are:
RHEL_BYOS (for RHEL)
SLES_BYOS (for SUSE)
For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)
[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)
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."
+ },
+ "userData": {
+ "type": "string",
+ "description": "UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here.
Minimum api-version: 2021-03-01"
+ },
+ "capacityReservation": {
+ "$ref": "#/definitions/CapacityReservationProfile",
+ "description": "Specifies the capacity reservation related details of a scale set.
Minimum api-version: 2021-04-01."
+ }
+ },
+ "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."
+ },
+ "userData": {
+ "type": "string",
+ "description": "UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.
Minimum api-version: 2021-03-01"
+ }
+ },
+ "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. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set."
+ },
+ "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."
+ },
+ "orchestrationMode": {
+ "$ref": "#/definitions/OrchestrationMode",
+ "description": "Specifies the orchestration mode for the virtual machine scale set."
+ },
+ "spotRestorePolicy": {
+ "$ref": "#/definitions/SpotRestorePolicy",
+ "description": "Specifies the Spot Restore properties for the virtual machine scale set."
+ }
+ },
+ "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"
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extended location of the Virtual Machine 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 [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview).
For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates)
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.
Possible values for Windows Server operating system are:
Windows_Client
Windows_Server
Possible values for Linux Server operating system are:
RHEL_BYOS (for RHEL)
SLES_BYOS (for SUSE)
For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)
[Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)
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."
+ },
+ "userData": {
+ "type": "string",
+ "description": "UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.
Minimum api-version: 2021-03-01"
+ }
+ },
+ "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."
+ },
+ "ProxyResource": {
+ "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 model definition for an Azure Resource Manager proxy resource. It will not have tags and a location",
+ "x-ms-azure-resource": true
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "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
+ },
+ "ExtendedLocationType": {
+ "type": "string",
+ "description": "The type of extendedLocation.",
+ "enum": [
+ "EdgeZone"
+ ],
+ "x-ms-enum": {
+ "name": "ExtendedLocationTypes",
+ "modelAsString": true
+ }
+ },
+ "ExtendedLocation": {
+ "description": "The complex type of the extended location.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extended location."
+ },
+ "type": {
+ "$ref": "#/definitions/ExtendedLocationType",
+ "description": "The type of the extended location."
+ }
+ }
+ },
+ "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."
+ },
+ "groupByClientApplicationId": {
+ "type": "boolean",
+ "description": "Group query result by Client Application ID."
+ },
+ "groupByUserAgent": {
+ "type": "boolean",
+ "description": "Group query result by User Agent."
+ }
+ },
+ "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 VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.
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": "WindowsVMGuestPatchMode",
+ "modelAsString": true
+ }
+ },
+ "enableHotpatching": {
+ "type": "boolean",
+ "description": "Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'."
+ },
+ "assessmentMode": {
+ "type": "string",
+ "description": "Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.
Possible values are:
**ImageDefault** - You control the timing of patch assessments on a virtual machine.
**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. ",
+ "enum": [
+ "ImageDefault",
+ "AutomaticByPlatform"
+ ],
+ "x-ms-enum": {
+ "name": "WindowsPatchAssessmentMode",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Specifies settings related to VM Guest Patching on Windows."
+ },
+ "LinuxPatchSettings": {
+ "properties": {
+ "patchMode": {
+ "type": "string",
+ "description": "Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.
Possible values are:
**ImageDefault** - The virtual machine's default patching configuration is used.
**AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true",
+ "enum": [
+ "ImageDefault",
+ "AutomaticByPlatform"
+ ],
+ "x-ms-enum": {
+ "name": "LinuxVMGuestPatchMode",
+ "modelAsString": true
+ }
+ },
+ "assessmentMode": {
+ "type": "string",
+ "description": "Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.
Possible values are:
**ImageDefault** - You control the timing of patch assessments on a virtual machine.
**AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.",
+ "enum": [
+ "ImageDefault",
+ "AutomaticByPlatform"
+ ],
+ "x-ms-enum": {
+ "name": "LinuxPatchAssessmentMode",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Specifies settings related to VM Guest Patching on Linux."
+ },
+ "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."
+ },
+ "configurationStatuses": {
+ "description": "The enablement status of the specified patchMode",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ }
+ }
+ },
+ "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 \"Unknown\", \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\"",
+ "enum": [
+ "Unknown",
+ "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 \"Unknown\", \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\"",
+ "enum": [
+ "Unknown",
+ "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"
+ },
+ "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."
+ },
+ "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/2021-04-01/examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json
new file mode 100644
index 000000000000..3602d5291629
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json
@@ -0,0 +1,202 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json
new file mode 100644
index 000000000000..95dbc4ba4c8f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json
@@ -0,0 +1,145 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "{vm-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateALinuxVmWithPatchSettingAssessmentModeOfImageDefault.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateALinuxVmWithPatchSettingAssessmentModeOfImageDefault.json
new file mode 100644
index 000000000000..4309b8d99508
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateALinuxVmWithPatchSettingAssessmentModeOfImageDefault.json
@@ -0,0 +1,163 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}",
+ "linuxConfiguration": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "assessmentMode": "ImageDefault"
+ }
+ }
+ },
+ "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": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "assessmentMode": "ImageDefault"
+ }
+ }
+ },
+ "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": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "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": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "assessmentMode": "ImageDefault"
+ }
+ }
+ },
+ "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": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateALinuxVmWithPatchSettingModeOfImageDefault.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateALinuxVmWithPatchSettingModeOfImageDefault.json
new file mode 100644
index 000000000000..989dc640f5f7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateALinuxVmWithPatchSettingModeOfImageDefault.json
@@ -0,0 +1,163 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}",
+ "linuxConfiguration": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "patchMode": "ImageDefault"
+ }
+ }
+ },
+ "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": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "patchMode": "ImageDefault"
+ }
+ }
+ },
+ "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": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "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": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "patchMode": "ImageDefault"
+ }
+ }
+ },
+ "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": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateALinuxVmWithPatchSettingModesOfAutomaticByPlatform.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateALinuxVmWithPatchSettingModesOfAutomaticByPlatform.json
new file mode 100644
index 000000000000..23c5d40b556b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateALinuxVmWithPatchSettingModesOfAutomaticByPlatform.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}",
+ "linuxConfiguration": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByPlatform",
+ "assessmentMode": "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",
+ "linuxConfiguration": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByPlatform",
+ "assessmentMode": "AutomaticByPlatform"
+ }
+ }
+ },
+ "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": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "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": {
+ "provisionVMAgent": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByPlatform",
+ "assessmentMode": "AutomaticByPlatform"
+ }
+ }
+ },
+ "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": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json
new file mode 100644
index 000000000000..98adf49b6429
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json
@@ -0,0 +1,222 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json
new file mode 100644
index 000000000000..f63ae55441ba
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json
@@ -0,0 +1,213 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "{vm-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateARestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateARestorePoint.json
new file mode 100644
index 000000000000..d6ea9279f204
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateARestorePoint.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "restorePointCollectionName": "rpcName",
+ "restorePointName": "rpName",
+ "api-version": "2021-04-01",
+ "parameters": {
+ "properties": {
+ "excludeDisks": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/disk123"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "rpName",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/rpName",
+ "properties": {
+ "excludeDisks": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/disk123"
+ }
+ ],
+ "sourceMetadata": {
+ "vmId": "76d6541e-80bd-4dc1-932b-3cae4cfb80e7",
+ "hardwareProfile": {
+ "vmSize": "Standard_B1s"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "name": "osDisk123",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/osDisk123"
+ },
+ "diskRestorePoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/rpName/diskRestorePoints/osDisk123_22b4bdfe-6c54-4f72-84d8-85d8860f0c57"
+ }
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "name": "dataDisk123",
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/userdata/providers/Microsoft.Compute/disks/dataDisk123"
+ },
+ "diskRestorePoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/userdata/providers/Microsoft.Compute/restorePointCollections/mynewrpc/restorePoints/restorepointtwo/diskRestorePoints/dataDisk123_68785190-1acb-4d5e-a8ae-705b45f3dca5"
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "computerName": "computerName",
+ "adminUsername": "admin",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ },
+ "secrets": [],
+ "allowExtensionOperations": true,
+ "requireGuestProvisionSignal": true
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "location": "westus"
+ },
+ "provisioningState": "Succeeded",
+ "consistencyMode": "ApplicationConsistent",
+ "provisioningDetails": {
+ "creationTime": "2021-01-27T20:35:05.8401519+00:00",
+ "totalUsedSizeInBytes": 10835349504,
+ "statusCode": 0,
+ "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetFromACustomImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetFromACustomImage.json
new file mode 100644
index 000000000000..a4d1e732bb13
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetFromACustomImage.json
@@ -0,0 +1,204 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAScaleSetFromAGeneralizedSharedImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetFromAGeneralizedSharedImage.json
new file mode 100644
index 000000000000..ebd864d76d82
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetFromAGeneralizedSharedImage.json
@@ -0,0 +1,204 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "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/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "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/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "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/2021-04-01/examples/CreateAScaleSetFromASpecializedSharedImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetFromASpecializedSharedImage.json
new file mode 100644
index 000000000000..d7435f155f25
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetFromASpecializedSharedImage.json
@@ -0,0 +1,183 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "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/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "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/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "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/2021-04-01/examples/CreateAScaleSetFromWithFpgaNetworkInterface.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetFromWithFpgaNetworkInterface.json
new file mode 100644
index 000000000000..3da8e0b8e71e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetFromWithFpgaNetworkInterface.json
@@ -0,0 +1,271 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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}"
+ }
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "{fpgaNic-Name}",
+ "properties": {
+ "primary": false,
+ "enableAcceleratedNetworking": false,
+ "enableIPForwarding": false,
+ "enableFpga": true,
+ "ipConfigurations": [
+ {
+ "name": "{fpgaNic-Name}",
+ "properties": {
+ "primary": true,
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "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
+ }
+ },
+ {
+ "name": "{fpgaNic-Name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": false,
+ "enableFpga": true,
+ "ipConfigurations": [
+ {
+ "name": "{fpgaNic-Name}",
+ "properties": {
+ "primary": true,
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}"
+ },
+ "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
+ }
+ },
+ {
+ "name": "{fpgaNic-Name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": false,
+ "enableFpga": true,
+ "ipConfigurations": [
+ {
+ "name": "{fpgaNic-Name}",
+ "properties": {
+ "primary": true,
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}"
+ },
+ "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/2021-04-01/examples/CreateAScaleSetWithAMarketplaceImagePlan.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithAMarketplaceImagePlan.json
new file mode 100644
index 000000000000..35b1b70a423f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithAMarketplaceImagePlan.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAScaleSetWithAnAzureApplicationGateway.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithAnAzureApplicationGateway.json
new file mode 100644
index 000000000000..21315645fb7e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithAnAzureApplicationGateway.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAScaleSetWithAnAzureLoadBalancer.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithAnAzureLoadBalancer.json
new file mode 100644
index 000000000000..88bc93fae906
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithAnAzureLoadBalancer.json
@@ -0,0 +1,251 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAScaleSetWithAutomaticRepairs.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithAutomaticRepairs.json
new file mode 100644
index 000000000000..9248c5b730a2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithAutomaticRepairs.json
@@ -0,0 +1,227 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAScaleSetWithBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithBootDiagnostics.json
new file mode 100644
index 000000000000..a67b78e742fd
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithBootDiagnostics.json
@@ -0,0 +1,233 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAScaleSetWithDiffOsDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithDiffOsDisk.json
new file mode 100644
index 000000000000..2d5c1ad0012c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithDiffOsDisk.json
@@ -0,0 +1,239 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAScaleSetWithDiffOsDiskUsingDiffDiskPlacement.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithDiffOsDiskUsingDiffDiskPlacement.json
new file mode 100644
index 000000000000..550adbd50c43
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithDiffOsDiskUsingDiffDiskPlacement.json
@@ -0,0 +1,242 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json
new file mode 100644
index 000000000000..10048566fcaf
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json
@@ -0,0 +1,270 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAScaleSetWithEncryptionAtHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithEncryptionAtHost.json
new file mode 100644
index 000000000000..a2f13b09017a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithEncryptionAtHost.json
@@ -0,0 +1,239 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAScaleSetWithExtensionsTimeBudget.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithExtensionsTimeBudget.json
new file mode 100644
index 000000000000..a959d7dd0485
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithExtensionsTimeBudget.json
@@ -0,0 +1,278 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAScaleSetWithManagedBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithManagedBootDiagnostics.json
new file mode 100644
index 000000000000..3cf98b096051
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithManagedBootDiagnostics.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAScaleSetWithPasswordAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithPasswordAuthentication.json
new file mode 100644
index 000000000000..895cc8d4dba8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithPasswordAuthentication.json
@@ -0,0 +1,215 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAScaleSetWithPremiumStorage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithPremiumStorage.json
new file mode 100644
index 000000000000..ebc9925c699e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithPremiumStorage.json
@@ -0,0 +1,215 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAScaleSetWithSpotRestorePolicy.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithSpotRestorePolicy.json
new file mode 100644
index 000000000000..616ebb4f1cd0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithSpotRestorePolicy.json
@@ -0,0 +1,242 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 2,
+ "name": "Standard_A8m_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}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "priority": "Spot",
+ "evictionPolicy": "Deallocate",
+ "billingProfile": {
+ "maxPrice": -1
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "spotRestorePolicy": {
+ "enabled": true,
+ "restoreTimeout": "PT1H"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 2,
+ "name": "Standard_A8m_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
+ }
+ }
+ ]
+ },
+ "priority": "Spot",
+ "evictionPolicy": "Deallocate",
+ "billingProfile": {
+ "maxPrice": -1
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "spotRestorePolicy": {
+ "enabled": true,
+ "restoreTimeout": "PT1H"
+ },
+ "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": 2,
+ "name": "Standard_A8m_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
+ }
+ }
+ ]
+ },
+ "priority": "Spot",
+ "evictionPolicy": "Deallocate",
+ "billingProfile": {
+ "maxPrice": -1
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "spotRestorePolicy": {
+ "enabled": true,
+ "restoreTimeout": "PT1H"
+ },
+ "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/2021-04-01/examples/CreateAScaleSetWithSshAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithSshAuthentication.json
new file mode 100644
index 000000000000..029e2344985c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithSshAuthentication.json
@@ -0,0 +1,239 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json
new file mode 100644
index 000000000000..0b6e36ee3607
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json
@@ -0,0 +1,233 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAScaleSetWithUefiSettings.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithUefiSettings.json
new file mode 100644
index 000000000000..7babdc5f55d0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithUefiSettings.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D2s_v3"
+ },
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows10-tvm",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "18363.592.2001092016",
+ "offer": "windowsserver-gen2preview-preview"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "StandardSSD_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "securityProfile": {
+ "uefiSettings": {
+ "secureBootEnabled": true,
+ "vTpmEnabled": true
+ },
+ "securityType": "TrustedLaunch"
+ },
+ "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_D2s_v3"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows10-tvm",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "18363.592.2001092016",
+ "offer": "windowsserver-gen2preview-preview"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "StandardSSD_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "securityProfile": {
+ "uefiSettings": {
+ "secureBootEnabled": true,
+ "vTpmEnabled": true
+ },
+ "securityType": "TrustedLaunch"
+ },
+ "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_D2s_v3"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows10-tvm",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "18363.592.2001092016",
+ "offer": "windowsserver-gen2preview-preview"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "StandardSSD_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "securityProfile": {
+ "uefiSettings": {
+ "secureBootEnabled": true,
+ "vTpmEnabled": true
+ },
+ "securityType": "TrustedLaunch"
+ },
+ "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/2021-04-01/examples/CreateAScaleSetWithVMsInDifferentZones.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithVMsInDifferentZones.json
new file mode 100644
index 000000000000..ff1c8659747b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScaleSetWithVMsInDifferentZones.json
@@ -0,0 +1,284 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAScalesetWithDiskEncryptionSetResource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScalesetWithDiskEncryptionSetResource.json
new file mode 100644
index 000000000000..b1a81dd639bc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAScalesetWithDiskEncryptionSetResource.json
@@ -0,0 +1,255 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAVmFromACustomImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmFromACustomImage.json
new file mode 100644
index 000000000000..be5294a8165d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmFromACustomImage.json
@@ -0,0 +1,144 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAVmFromAGeneralizedSharedImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmFromAGeneralizedSharedImage.json
new file mode 100644
index 000000000000..69f037bfff74
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmFromAGeneralizedSharedImage.json
@@ -0,0 +1,144 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "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/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "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/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "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/2021-04-01/examples/CreateAVmFromASpecializedSharedImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmFromASpecializedSharedImage.json
new file mode 100644
index 000000000000..953a0c326b43
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmFromASpecializedSharedImage.json
@@ -0,0 +1,123 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "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
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "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/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "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": {
+ "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/galleries/mySharedGallery/images/mySharedImage"
+ },
+ "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/2021-04-01/examples/CreateAVmInAVirtualMachineScaleSetWithCustomerAssignedPlatformFaultDomain.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmInAVirtualMachineScaleSetWithCustomerAssignedPlatformFaultDomain.json
new file mode 100644
index 000000000000..5ce9deb9a806
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmInAVirtualMachineScaleSetWithCustomerAssignedPlatformFaultDomain.json
@@ -0,0 +1,165 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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}"
+ },
+ "virtualMachineScaleSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{existing-flex-vmss-name-with-platformFaultDomainCount-greater-than-1}"
+ },
+ "platformFaultDomain": 1
+ }
+ }
+ },
+ "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": "7cce54f2-ecd3-4ddd-a8d9-50984faa3918",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "virtualMachineScaleSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myExistingFlexVmss"
+ },
+ "platformFaultDomain": 1,
+ "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": "7cce54f2-ecd3-4ddd-a8d9-50984faa3918",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "virtualMachineScaleSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myExistingFlexVmss"
+ },
+ "platformFaultDomain": 1,
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmInAnAvailabilitySet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmInAnAvailabilitySet.json
new file mode 100644
index 000000000000..c1187c14f7e0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmInAnAvailabilitySet.json
@@ -0,0 +1,162 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAVmWithADiffOsDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithADiffOsDisk.json
new file mode 100644
index 000000000000..990e392c5e6a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithADiffOsDisk.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsCacheDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsCacheDisk.json
new file mode 100644
index 000000000000..f867373ad21f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsCacheDisk.json
@@ -0,0 +1,180 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsResourceDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsResourceDisk.json
new file mode 100644
index 000000000000..4eb617e0b5f8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsResourceDisk.json
@@ -0,0 +1,180 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAVmWithAMarketplaceImagePlan.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithAMarketplaceImagePlan.json
new file mode 100644
index 000000000000..59040a71a84d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithAMarketplaceImagePlan.json
@@ -0,0 +1,168 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAVmWithBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithBootDiagnostics.json
new file mode 100644
index 000000000000..4c2f4d97fdd3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithBootDiagnostics.json
@@ -0,0 +1,171 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAVmWithDiskEncryptionSetResource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithDiskEncryptionSetResource.json
new file mode 100644
index 000000000000..cdf6f904d8b3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithDiskEncryptionSetResource.json
@@ -0,0 +1,229 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAVmWithEmptyDataDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithEmptyDataDisks.json
new file mode 100644
index 000000000000..7eab9344cdec
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithEmptyDataDisks.json
@@ -0,0 +1,205 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAVmWithEncryptionAtHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithEncryptionAtHost.json
new file mode 100644
index 000000000000..594b20914efa
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithEncryptionAtHost.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAVmWithExtensionsTimeBudget.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithExtensionsTimeBudget.json
new file mode 100644
index 000000000000..f753091644c2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithExtensionsTimeBudget.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAVmWithManagedBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithManagedBootDiagnostics.json
new file mode 100644
index 000000000000..cd54304a38f7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithManagedBootDiagnostics.json
@@ -0,0 +1,168 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAVmWithNetworkInterfaceConfiguration.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithNetworkInterfaceConfiguration.json
new file mode 100644
index 000000000000..34c9297a9aaf
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithNetworkInterfaceConfiguration.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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": {
+ "networkApiVersion": "2020-11-01",
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{nic-config-name}",
+ "properties": {
+ "primary": true,
+ "deleteOption": "Delete",
+ "ipConfigurations": [
+ {
+ "name": "{ip-config-name}",
+ "properties": {
+ "primary": true,
+ "publicIPAddressConfiguration": {
+ "name": "{publicIP-config-name}",
+ "sku": {
+ "name": "Basic",
+ "tier": "Global"
+ },
+ "properties": {
+ "deleteOption": "Detach",
+ "publicIPAllocationMethod": "Static"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ }
+ }
+ }
+ },
+ "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/toBeCreatedNetworkInterface",
+ "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"
+ },
+ "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/toBeCreatedNetworkInterface",
+ "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"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithPasswordAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithPasswordAuthentication.json
new file mode 100644
index 000000000000..561882b2e722
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithPasswordAuthentication.json
@@ -0,0 +1,153 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAVmWithPremiumStorage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithPremiumStorage.json
new file mode 100644
index 000000000000..2565ede11f03
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithPremiumStorage.json
@@ -0,0 +1,153 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAVmWithScheduledEventsProfile.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithScheduledEventsProfile.json
new file mode 100644
index 000000000000..29eb922aa29b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithScheduledEventsProfile.json
@@ -0,0 +1,189 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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
+ }
+ },
+ "scheduledEventsProfile": {
+ "terminateNotificationProfile": {
+ "notBeforeTimeout": "PT10M",
+ "enable": 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"
+ },
+ "scheduledEventsProfile": {
+ "terminateNotificationProfile": {
+ "notBeforeTimeout": "PT10M",
+ "enable": true
+ }
+ },
+ "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"
+ },
+ "scheduledEventsProfile": {
+ "terminateNotificationProfile": {
+ "notBeforeTimeout": "PT10M",
+ "enable": true
+ }
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithSshAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithSshAuthentication.json
new file mode 100644
index 000000000000..6cfdd99d6657
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithSshAuthentication.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAVmWithUefiSettings.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithUefiSettings.json
new file mode 100644
index 000000000000..46074b78401f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAVmWithUefiSettings.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "securityProfile": {
+ "uefiSettings": {
+ "secureBootEnabled": true,
+ "vTpmEnabled": true
+ },
+ "securityType": "TrustedLaunch"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows10-tvm",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "18363.592.2001092016",
+ "offer": "windowsserver-gen2preview-preview"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "StandardSSD_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": "windows10-tvm",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "18363.592.2001092016",
+ "offer": "windowsserver-gen2preview-preview"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "StandardSSD_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "securityProfile": {
+ "uefiSettings": {
+ "secureBootEnabled": true,
+ "vTpmEnabled": true
+ },
+ "securityType": "TrustedLaunch"
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "provisioningState": "Creating"
+ },
+ "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": "windows10-tvm",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "18363.592.2001092016",
+ "offer": "windowsserver-gen2preview-preview"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "StandardSSD_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "securityProfile": {
+ "uefiSettings": {
+ "secureBootEnabled": true,
+ "vTpmEnabled": true
+ },
+ "securityType": "TrustedLaunch"
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "provisioningState": "Creating"
+ },
+ "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/2021-04-01/examples/CreateAWindowsVmWithPatchSettingAssessmentModeOfImageDefault.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAWindowsVmWithPatchSettingAssessmentModeOfImageDefault.json
new file mode 100644
index 000000000000..17e3c81a226d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAWindowsVmWithPatchSettingAssessmentModeOfImageDefault.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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": {
+ "assessmentMode": "ImageDefault"
+ }
+ }
+ },
+ "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": {
+ "assessmentMode": "ImageDefault"
+ }
+ }
+ },
+ "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": {
+ "assessmentMode": "ImageDefault"
+ }
+ }
+ },
+ "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/2021-04-01/examples/CreateAWindowsVmWithPatchSettingModeOfAutomaticByOS.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAWindowsVmWithPatchSettingModeOfAutomaticByOS.json
new file mode 100644
index 000000000000..e4018def75cd
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAWindowsVmWithPatchSettingModeOfAutomaticByOS.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAWindowsVmWithPatchSettingModeOfAutomaticByPlatformAndEnableHotPatchingTrue.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAWindowsVmWithPatchSettingModeOfAutomaticByPlatformAndEnableHotPatchingTrue.json
new file mode 100644
index 000000000000..0d90dc9a3849
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAWindowsVmWithPatchSettingModeOfAutomaticByPlatformAndEnableHotPatchingTrue.json
@@ -0,0 +1,169 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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",
+ "enableHotpatching": 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",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByPlatform",
+ "enableHotpatching": 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,
+ "patchSettings": {
+ "patchMode": "AutomaticByPlatform",
+ "enableHotpatching": 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/2021-04-01/examples/CreateAWindowsVmWithPatchSettingModeOfManual.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAWindowsVmWithPatchSettingModeOfManual.json
new file mode 100644
index 000000000000..974ab4794ca1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAWindowsVmWithPatchSettingModeOfManual.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAWindowsVmWithPatchSettingModesOfAutomaticByPlatform.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAWindowsVmWithPatchSettingModesOfAutomaticByPlatform.json
new file mode 100644
index 000000000000..989771283f2a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAWindowsVmWithPatchSettingModesOfAutomaticByPlatform.json
@@ -0,0 +1,169 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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",
+ "assessmentMode": "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",
+ "assessmentMode": "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",
+ "assessmentMode": "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/2021-04-01/examples/CreateAnAvailabilitySet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnAvailabilitySet.json
new file mode 100644
index 000000000000..46832b9a0714
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnAvailabilitySet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAnImageFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageFromABlob.json
new file mode 100644
index 000000000000..a3e312917c70
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageFromABlob.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAnImageFromABlobWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageFromABlobWithDiskEncryptionSet.json
new file mode 100644
index 000000000000..4534d44c813d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageFromABlobWithDiskEncryptionSet.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAnImageFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageFromAManagedDisk.json
new file mode 100644
index 000000000000..b1be3688ad60
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageFromAManagedDisk.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json
new file mode 100644
index 000000000000..9b19a309e80a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAnImageFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageFromASnapshot.json
new file mode 100644
index 000000000000..a4a0f87dc47b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageFromASnapshot.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json
new file mode 100644
index 000000000000..a21f61b8b48c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAnImageFromAVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageFromAVM.json
new file mode 100644
index 000000000000..88432bc14e9a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageFromAVM.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
new file mode 100644
index 000000000000..ecddc33253e6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
new file mode 100644
index 000000000000..111a53e775eb
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
new file mode 100644
index 000000000000..f7fcdf9e9d03
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateAnSshPublicKey.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnSshPublicKey.json
new file mode 100644
index 000000000000..31b0fa5e43d8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateAnSshPublicKey.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateOrUpdateACapacityReservation.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateACapacityReservation.json
new file mode 100644
index 000000000000..f88d05ea8875
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateACapacityReservation.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-01",
+ "parameters": {
+ "location": "westus",
+ "tags": {
+ "department": "HR"
+ },
+ "sku": {
+ "name": "Standard_DS1_v2",
+ "capacity": 4
+ },
+ "zones": [
+ "1"
+ ]
+ },
+ "capacityReservationGroupName": "myCapacityReservationGroup",
+ "capacityReservationName": "myCapacityReservation"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myCapacityReservation",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup/capacityReservations/myCapacityReservation",
+ "tags": {
+ "department": "HR"
+ },
+ "sku": {
+ "name": "Standard_DS1_v2",
+ "capacity": 4
+ },
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "reservationId": "{GUID}",
+ "provisioningState": "Creating",
+ "provisioningTime": "2021-06-27T01:02:38.3138469+00:00"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myCapacityReservation",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup/capacityReservations/myCapacityReservation",
+ "tags": {
+ "department": "HR"
+ },
+ "sku": {
+ "name": "Standard_DS1_v2",
+ "capacity": 4
+ },
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "reservationId": "{GUID}",
+ "provisioningState": "Creating",
+ "provisioningTime": "2021-06-27T01:02:38.3138469+00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateACapacityReservationGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateACapacityReservationGroup.json
new file mode 100644
index 000000000000..f57b47d7c221
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateACapacityReservationGroup.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-01",
+ "capacityReservationGroupName": "myCapacityReservationGroup",
+ "parameters": {
+ "location": "westus",
+ "tags": {
+ "department": "finance"
+ },
+ "zones": [
+ "1",
+ "2"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myCapacityReservationGroup",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/myCapacityReservationGroup",
+ "tags": {
+ "department": "finance"
+ },
+ "zones": [
+ "1",
+ "2"
+ ]
+ }
+ },
+ "200": {
+ "body": {
+ "location": "westus",
+ "tags": {
+ "department": "finance",
+ "owner": "myCompany"
+ },
+ "name": "myCapacityReservationGroup",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/myCapacityReservationGroup",
+ "zones": [
+ "1",
+ "2"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateADedicatedHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateADedicatedHost.json
new file mode 100644
index 000000000000..b1dc01fd1f9d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateADedicatedHost.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateOrUpdateADedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateADedicatedHostGroup.json
new file mode 100644
index 000000000000..ec69628b755a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateADedicatedHostGroup.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateOrUpdateAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateAProximityPlacementGroup.json
new file mode 100644
index 000000000000..76f78fbce459
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateAProximityPlacementGroup.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/CreateOrUpdateARestorePointCollection.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateARestorePointCollection.json
new file mode 100644
index 000000000000..6deefcfb3ec2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateARestorePointCollection.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "restorePointCollectionName": "myRpc",
+ "api-version": "2021-04-01",
+ "parameters": {
+ "location": "norwayeast",
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ }
+ },
+ "tags": {
+ "myTag1": "tagValue1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRpc",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/myRpc",
+ "type": "Microsoft.Compute/restorePointCollections",
+ "location": "norwayeast",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "eastus"
+ },
+ "restorePointCollectionId": "638f052b-a7c2-450c-89e7-6a3b8f1d6a7c",
+ "provisioningState": "Successful"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myRpc",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/myRpc",
+ "type": "Microsoft.Compute/restorePointCollections",
+ "location": "norwayeast",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "eastus"
+ },
+ "restorePointCollectionId": "638f052b-a7c2-450c-89e7-6a3b8f1d6a7c",
+ "provisioningState": "Successful"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateAScaleSetWithCapacityReservation.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateAScaleSetWithCapacityReservation.json
new file mode 100644
index 000000000000..28db6f9f0134
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateAScaleSetWithCapacityReservation.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_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}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "capacityReservation": {
+ "capacityReservationGroup": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/{crgName}"
+ }
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_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
+ }
+ }
+ ]
+ },
+ "capacityReservation": {
+ "capacityReservationGroup": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/{crgName}"
+ }
+ }
+ },
+ "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": "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
+ }
+ }
+ ]
+ },
+ "capacityReservation": {
+ "capacityReservationGroup": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/{crgName}"
+ }
+ }
+ },
+ "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/2021-04-01/examples/CreateOrUpdateAScaleSetWithUserData.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateAScaleSetWithUserData.json
new file mode 100644
index 000000000000..6cc592906a24
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateAScaleSetWithUserData.json
@@ -0,0 +1,228 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "userData": "RXhhbXBsZSBVc2VyRGF0YQ==",
+ "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}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "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/2021-04-01/examples/CreateOrUpdateAVmWithCapacityReservation.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateAVmWithCapacityReservation.json
new file mode 100644
index 000000000000..fde53d69c2d9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateAVmWithCapacityReservation.json
@@ -0,0 +1,183 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ }
+ },
+ "capacityReservation": {
+ "capacityReservationGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/{crgName}"
+ }
+ },
+ "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
+ }
+ },
+ "capacityReservation": {
+ "capacityReservationGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/{crgName}"
+ }
+ },
+ "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": []
+ },
+ "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
+ }
+ },
+ "capacityReservation": {
+ "capacityReservationGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/{crgName}"
+ }
+ },
+ "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": []
+ },
+ "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/2021-04-01/examples/CreateOrUpdateAVmWithUserData.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateAVmWithUserData.json
new file mode 100644
index 000000000000..bc72274b3760
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateAVmWithUserData.json
@@ -0,0 +1,172 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "{vm-name}",
+ "api-version": "2021-04-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": "vmOSdisk",
+ "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": "{vm-name}",
+ "adminPassword": "{your-password}"
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://{existing-storage-account-name}.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "userData": "RXhhbXBsZSBVc2VyRGF0YQ=="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/{vm-name}",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "{vm-name}",
+ "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": "vmOSdisk",
+ "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": "{vm-name}",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/{vm-name}",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "{vm-name}",
+ "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": "vmOSdisk",
+ "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": "{vm-name}",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateRunCommand.json
new file mode 100644
index 000000000000..d9851ff2a7d6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateRunCommand.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "runCommandName": "myRunCommand",
+ "api-version": "2021-04-01",
+ "runCommand": {
+ "location": "West US",
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "runAsPassword": "",
+ "timeoutInSeconds": 3600
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRunCommand",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand",
+ "type": "Microsoft.Compute/virtualMachines/runCommands",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 3600,
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myRunCommand",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand",
+ "type": "Microsoft.Compute/virtualMachines/runCommands",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 3600,
+ "provisioningState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..bd695ac9f7f6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "vmExtensionName": "myVMExtension",
+ "api-version": "2021-04-01",
+ "extensionParameters": {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myVMExtension",
+ "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",
+ "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/2021-04-01/examples/CreateOrUpdateVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateVirtualMachineScaleSetVMRunCommands.json
new file mode 100644
index 000000000000..7713653ae209
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateVirtualMachineScaleSetVMRunCommands.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "runCommandName": "myRunCommand",
+ "api-version": "2021-04-01",
+ "runCommand": {
+ "location": "West US",
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "runAsPassword": "",
+ "timeoutInSeconds": 3600
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRunCommand",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/runCommands/myRunCommand",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommands",
+ "location": "westus",
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 3600,
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myRunCommand",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/runCommands/myRunCommand",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommands",
+ "location": "westus",
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 3600,
+ "provisioningState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/DeleteAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/DeleteAProximityPlacementGroup.json
new file mode 100644
index 000000000000..8bacc2379582
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/DeleteAProximityPlacementGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-01",
+ "proximityPlacementGroupName": "myProximityPlacementGroup",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/DeleteRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/DeleteRunCommand.json
new file mode 100644
index 000000000000..c7a5a6a7e637
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/DeleteRunCommand.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "runCommandName": "myRunCommand",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/DeleteVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/DeleteVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..a338c794afc9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/DeleteVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "vmExtensionName": "myVMExtension",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/DeleteVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/DeleteVirtualMachineScaleSetVMRunCommands.json
new file mode 100644
index 000000000000..b0d61e4ce19c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/DeleteVirtualMachineScaleSetVMRunCommands.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "runCommandName": "myRunCommand",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ForceDeleteVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ForceDeleteVirtualMachine.json
new file mode 100644
index 000000000000..9df319254733
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ForceDeleteVirtualMachine.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "forceDeletion": true,
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ForceDeleteVirtualMachineScaleSetVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ForceDeleteVirtualMachineScaleSetVM.json
new file mode 100644
index 000000000000..d45d2d64564c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ForceDeleteVirtualMachineScaleSetVM.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "forceDeletion": true,
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ForceDeleteVirtualMachineScaleSets.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ForceDeleteVirtualMachineScaleSets.json
new file mode 100644
index 000000000000..2c8a367918a5
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ForceDeleteVirtualMachineScaleSets.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "forceDeletion": true,
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GeneralizeVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GeneralizeVirtualMachine.json
new file mode 100644
index 000000000000..df2333c82b73
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GeneralizeVirtualMachine.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-01",
+ "vmName": "myVMName"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GenerateSshKeyPair.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GenerateSshKeyPair.json
new file mode 100644
index 000000000000..5e7af2b018d6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GenerateSshKeyPair.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/GetACapacityReservation.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetACapacityReservation.json
new file mode 100644
index 000000000000..1840196c0879
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetACapacityReservation.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-01",
+ "capacityReservationGroupName": "myCapacityReservationGroup",
+ "capacityReservationName": "myCapacityReservation"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "reservationId": "{GUID}",
+ "provisioningTime": "2021-06-27T01:02:38.3138469+00:00",
+ "virtualMachinesAssociated": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM2"
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM3"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "utilizationInfo": {
+ "virtualMachinesAllocated": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM2"
+ }
+ ]
+ },
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded"
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "department": "HR"
+ },
+ "sku": {
+ "name": "Standard_DS1_v2",
+ "capacity": 4
+ },
+ "zones": [
+ "1"
+ ],
+ "name": "myCapacityReservation"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetACapacityReservationGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetACapacityReservationGroup.json
new file mode 100644
index 000000000000..9a6b9fecd440
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetACapacityReservationGroup.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-01",
+ "capacityReservationGroupName": "myCapacityReservationGroup",
+ "expand": "instanceView"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "capacityReservations": [
+ {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup/capacityReservations/myCapacityReservation1"
+ },
+ {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup/capacityReservations/myCapacityReservation2"
+ }
+ ],
+ "instanceView": {
+ "capacityReservations": [
+ {
+ "name": "myCapacityReservation1",
+ "utilizationInfo": {
+ "virtualMachinesAllocated": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM2"
+ }
+ ]
+ },
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded"
+ }
+ ]
+ },
+ {
+ "name": "myCapacityReservation2",
+ "utilizationInfo": {
+ "virtualMachinesAllocated": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM3"
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM4"
+ }
+ ]
+ },
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "{tagName}": "{tagValue}"
+ },
+ "name": "myCapacityReservationGroup",
+ "zones": [
+ "3",
+ "1"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetADedicatedHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetADedicatedHost.json
new file mode 100644
index 000000000000..83effcadcd7c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetADedicatedHost.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/GetADedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetADedicatedHostGroup.json
new file mode 100644
index 000000000000..6e576a972e7a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetADedicatedHostGroup.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/GetAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetAProximityPlacementGroup.json
new file mode 100644
index 000000000000..2323f96056d7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetAProximityPlacementGroup.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/GetAnSshPublicKey.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetAnSshPublicKey.json
new file mode 100644
index 000000000000..25307aa0b0cd
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetAnSshPublicKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/GetInformationAboutAnImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetInformationAboutAnImage.json
new file mode 100644
index 000000000000..acc5d74dbcd7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetInformationAboutAnImage.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/GetRestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePoint.json
new file mode 100644
index 000000000000..08a2c87d845a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePoint.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "restorePointCollectionName": "rpcName",
+ "restorePointName": "rpName",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "rpName",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/rpName",
+ "properties": {
+ "excludeDisks": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm8768_disk2_fe6ffde4f69b491ca33fb984d5bcd89f"
+ }
+ ],
+ "sourceMetadata": {
+ "vmId": "76d6541e-80bd-4dc1-932b-3cae4cfb80e7",
+ "hardwareProfile": {
+ "vmSize": "Standard_B1s"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "name": "testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f"
+ },
+ "diskRestorePoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/rpName/diskRestorePoints/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f_22b4bdfe-6c54-4f72-84d8-85d8860f0c57"
+ }
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "name": "testingexcludedisk_DataDisk_1",
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/userdata/providers/Microsoft.Compute/disks/testingexcludedisk_DataDisk_1"
+ },
+ "diskRestorePoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/userdata/providers/Microsoft.Compute/restorePointCollections/mynewrpc/restorePoints/restorepointtwo/diskRestorePoints/testingexcludedisk_DataDisk_1_68785190-1acb-4d5e-a8ae-705b45f3dca5"
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "computerName": "computerName",
+ "adminUsername": "admin",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ },
+ "secrets": [],
+ "allowExtensionOperations": true,
+ "requireGuestProvisionSignal": true
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "location": "westus"
+ },
+ "provisioningState": "Succeeded",
+ "consistencyMode": "ApplicationConsistent",
+ "provisioningDetails": {
+ "creationTime": "2021-01-27T20:35:05.8401519+00:00",
+ "totalUsedSizeInBytes": 10835349504,
+ "statusCode": 0,
+ "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollection.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollection.json
new file mode 100644
index 000000000000..f2eb99cedd97
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollection.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "restorePointCollectionName": "myRpc",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRpc",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/myRpc",
+ "type": "Microsoft.Compute/restorePointCollections",
+ "location": "westus",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/myRpc",
+ "location": "eastus"
+ },
+ "restorePointCollectionId": "59f04a5d-f783-4200-a1bd-d3f464e8c4b4",
+ "provisioningState": "Successful"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json
new file mode 100644
index 000000000000..e8c954c155b9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "restorePointCollectionName": "rpcName",
+ "api-version": "2021-04-01",
+ "expand": "restorePoints"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "rpcName",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName",
+ "type": "Microsoft.Compute/restorePointCollections",
+ "location": "westus",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "eastus"
+ },
+ "restorePointCollectionId": "59f04a5d-f783-4200-a1bd-d3f464e8c4b4",
+ "provisioningState": "Successful",
+ "restorePoints": [
+ {
+ "name": "restorePointName",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/restorePointName",
+ "properties": {
+ "excludeDisks": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm8768_disk2_fe6ffde4f69b491ca33fb984d5bcd89f"
+ }
+ ],
+ "sourceMetadata": {
+ "vmId": "76d6541e-80bd-4dc1-932b-3cae4cfb80e7",
+ "hardwareProfile": {
+ "vmSize": "Standard_B1s"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "name": "testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f"
+ },
+ "diskRestorePoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/restorePointName/diskRestorePoints/testingexcludedisk_OsDisk_1_74cdaedcea50483d9833c96adefa100f_22b4bdfe-6c54-4f72-84d8-85d8860f0c57"
+ }
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "name": "testingexcludedisk_DataDisk_1",
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/testingexcludedisk_DataDisk_1"
+ },
+ "diskRestorePoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpcName/restorePoints/restorePointName/diskRestorePoints/testingexcludedisk_DataDisk_1_68785190-1acb-4d5e-a8ae-705b45f3dca5"
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "computerName": "computerName",
+ "adminUsername": "admin",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ },
+ "secrets": [],
+ "allowExtensionOperations": true,
+ "requireGuestProvisionSignal": true
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "location": "westus"
+ },
+ "provisioningState": "Succeeded",
+ "consistencyMode": "ApplicationConsistent",
+ "provisioningDetails": {
+ "creationTime": "2021-01-27T20:35:05.8401519+00:00",
+ "totalUsedSizeInBytes": 10835349504,
+ "statusCode": 0,
+ "statusMessage": "{\"jobMessage\":\"\",\"messageStr\":\"1/27/2021 8:35:56 PM , snapshotCreator=guestExtension, hostStatusCodePreSnapshot=200, Plugin enable Succeeded (command: Snapshot) Snapshot command completed \",\"snapshotConsistency\":2}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollectionsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollectionsInAResourceGroup.json
new file mode 100644
index 000000000000..c6ea66b87dde
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollectionsInAResourceGroup.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "restorePointCollection1",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/restorePointCollection1",
+ "type": "Microsoft.Compute/restorePointCollections",
+ "location": "westus",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/restorePointCollection1",
+ "location": "westus"
+ },
+ "restorePointCollectionId": "59f04a5d-f783-4200-a1bd-d3f464e8c4b4",
+ "provisioningState": "Successful"
+ }
+ },
+ {
+ "name": "restorePointCollection2",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/restorePointCollection2",
+ "type": "Microsoft.Compute/restorePointCollections",
+ "location": "westus",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/restorePointCollection2",
+ "location": "westus"
+ },
+ "restorePointCollectionId": "2875c590-e337-4102-9668-4f5b7e3f98a4",
+ "provisioningState": "Deleting"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollectionsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollectionsInASubscription.json
new file mode 100644
index 000000000000..b6aa117b9ecf
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollectionsInASubscription.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "restorePointCollection1",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/resourceGroup1/providers/Microsoft.Compute/restorePointCollections/restorePointCollection1",
+ "type": "Microsoft.Compute/restorePointCollections",
+ "location": "westus",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/VM_Test",
+ "location": "westus"
+ },
+ "restorePointCollectionId": "59f04a5d-f783-4200-a1bd-d3f464e8c4b4",
+ "provisioningState": "Successful"
+ }
+ },
+ {
+ "name": "restorePointCollection2",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/resourceGroup2/providers/Microsoft.Compute/restorePointCollections/restorePointCollection2",
+ "type": "Microsoft.Compute/restorePointCollections",
+ "location": "westus",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "source": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/VM_Prod",
+ "location": "westus"
+ },
+ "restorePointCollectionId": "2875c590-e337-4102-9668-4f5b7e3f98a4",
+ "provisioningState": "Deleting"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRunCommand.json
new file mode 100644
index 000000000000..707eb1b6bbbf
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRunCommand.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "runCommandName": "myRunCommand",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRunCommand",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand",
+ "type": "Microsoft.Compute/virtualMachines/runCommands",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 3600,
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachine.json
new file mode 100644
index 000000000000..c52b2878bd1c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachine.json
@@ -0,0 +1,121 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-01",
+ "expand": "UserData"
+ },
+ "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
+ }
+ ]
+ },
+ "userData": "RXhhbXBsZSBVc2VyRGF0YQ==",
+ "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/2021-04-01/examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json
new file mode 100644
index 000000000000..51e25c9e4aeb
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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/2021-04-01/examples/GetVirtualMachineInstanceView.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineInstanceView.json
new file mode 100644
index 000000000000..066faf120161
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineInstanceView.json
@@ -0,0 +1,144 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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",
+ "lastModifiedTime": "2020-04-24T21:02:04.2556154Z",
+ "error": null
+ },
+ "lastPatchInstallationSummary": {
+ "status": "Succeeded",
+ "installationActivityId": "68f8b292-dfc2-4646-9981-33cc88631968",
+ "maintenanceWindowExceeded": false,
+ "notSelectedPatchCount": 1,
+ "excludedPatchCount": 1,
+ "pendingPatchCount": 1,
+ "installedPatchCount": 1,
+ "failedPatchCount": 1,
+ "startTime": "2020-04-24T21:02:04.2556154Z",
+ "lastModifiedTime": "2020-04-24T21:02:04.2556154Z",
+ "error": null
+ },
+ "configurationStatuses": [
+ {
+ "code": "PatchModeConfigurationState/Ready",
+ "level": "Info",
+ "displayStatus": "Status_PatchModeConfigurationState_Ready",
+ "time": "2020-04-24T21:02:04.2556154Z"
+ },
+ {
+ "code": "PatchModeConfigurationState/Pending",
+ "level": "Info",
+ "displayStatus": "Status_PatchModeConfigurationState_Pending",
+ "time": "2020-04-24T21:02:04.2556154Z"
+ },
+ {
+ "code": "AssessmentModeConfigurationState/Pending",
+ "level": "Info",
+ "displayStatus": "Status_AssessmentModeConfigurationState_Pending",
+ "time": "2020-04-24T21:02:04.2556154Z"
+ }
+ ]
+ },
+ "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/2021-04-01/examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json
new file mode 100644
index 000000000000..ed7ee667964d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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": "2021-04-01T23:11:22+00:00"
+ }
+ ]
+ },
+ "disks": [
+ {
+ "name": "myOsDisk",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "time": "2021-04-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": "2021-04-01T21:30:12.8051917+00:00"
+ },
+ {
+ "code": "PowerState/running",
+ "level": "Info",
+ "displayStatus": "VM running"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json
new file mode 100644
index 000000000000..ca3aa5435a86
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myVirtualMachineScaleSet",
+ "api-version": "2021-04-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/2021-04-01/examples/GetVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..dd302fb07672
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "vmExtensionName": "myVMExtension",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Creating",
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ },
+ "name": "myVMExtension",
+ "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/2021-04-01/examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json
new file mode 100644
index 000000000000..19085dbf8dc4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myVirtualMachineScaleSet",
+ "instanceId": "0",
+ "api-version": "2021-04-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": "2021-04-01T05:00:32+00:00"
+ }
+ ],
+ "extensionHandlers": null
+ },
+ "disks": [
+ {
+ "name": "myOSDisk",
+ "encryptionSettings": null,
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": null,
+ "time": "2021-04-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/2021-04-01/examples/GetVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineScaleSetVMRunCommands.json
new file mode 100644
index 000000000000..a188ce126a7a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineScaleSetVMRunCommands.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "runCommandName": "myRunCommand",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRunCommand",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommands",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/runCommands/myRunCommand",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 3600,
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineScaleSetVMWithUserData.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineScaleSetVMWithUserData.json
new file mode 100644
index 000000000000..c4dc7b20a940
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineScaleSetVMWithUserData.json
@@ -0,0 +1,133 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "instanceId": "0",
+ "api-version": "2021-04-01",
+ "expand": "UserData"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "{vmss-vm-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}/virtualMachines/0",
+ "type": "Microsoft.Compute/virtualMachines",
+ "location": "westus",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "latestModelApplied": true,
+ "modelDefinitionApplied": "VirtualMachineScaleSet",
+ "networkProfileConfiguration": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "vmsstestnetconfig5415",
+ "properties": {
+ "primary": true,
+ "enableAcceleratedNetworking": false,
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "enableIPForwarding": false,
+ "ipConfigurations": [
+ {
+ "name": "vmsstestnetconfig9693",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/vn4071/subnets/sn5503"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "vmId": "42af9fdf-b906-4ad7-9905-8316209ff619",
+ "hardwareProfile": {},
+ "storageProfile": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2012-R2-Datacenter",
+ "version": "4.127.20180315",
+ "exactVersion": "4.127.20180315"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "name": "vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc",
+ "createOption": "FromImage",
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_OsDisk_1_6d72b805e50e4de6830303c5055077fc"
+ },
+ "diskSizeGB": 127
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "name": "vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d",
+ "createOption": "Empty",
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vmss3176_vmss3176_0_disk2_6c4f554bdafa49baa780eb2d128ff39d"
+ },
+ "diskSizeGB": 128,
+ "toBeDetached": false
+ }
+ ]
+ },
+ "osProfile": {
+ "computerName": "test000000",
+ "adminUsername": "Foo12",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ },
+ "secrets": [],
+ "allowExtensionOperations": true,
+ "requireGuestProvisionSignal": true
+ },
+ "userData": "RXhhbXBsZSBVc2VyRGF0YQ==",
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}/virtualMachines/0/networkInterfaces/vmsstestnetconfig5415"
+ }
+ ]
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "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": "westus",
+ "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/2021-04-01/examples/GetVirtualMachineScaleSetWithUserData.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineScaleSetWithUserData.json
new file mode 100644
index 000000000000..d88db448231b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetVirtualMachineScaleSetWithUserData.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myVirtualMachineScaleSet",
+ "api-version": "2021-04-01",
+ "expand": "userData"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVirtualMachineScaleSet",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVirtualMachineScaleSet",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "location": "westus",
+ "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": []
+ },
+ "userData": "RXhhbXBsZSBVc2VyRGF0YQ==",
+ "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/2021-04-01/examples/ListAvailabilitySetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListAvailabilitySetsInASubscription.json
new file mode 100644
index 000000000000..b4bdd43deb4a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListAvailabilitySetsInASubscription.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "api-version": "2021-04-01",
+ "$expand": "virtualMachines\\$ref"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "australiasoutheast",
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 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/2021-04-01/examples/ListAvailableVmSizes_VirtualMachines.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListAvailableVmSizes_VirtualMachines.json
new file mode 100644
index 000000000000..31c44ba45498
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListAvailableVmSizes_VirtualMachines.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVmName",
+ "api-version": "2021-04-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/2021-04-01/examples/ListCapacityReservationGroupsInResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListCapacityReservationGroupsInResourceGroup.json
new file mode 100644
index 000000000000..5e52445ad92d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListCapacityReservationGroupsInResourceGroup.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-01",
+ "$expand": "virtualMachines/$ref"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "{capacityReservationGroupName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}",
+ "type": "Microsoft.Compute/CapacityReservationGroups",
+ "location": "West US",
+ "properties": {
+ "capacityReservations": [
+ {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup/capacityReservations/myCapacityReservation1"
+ },
+ {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup/capacityReservations/myCapacityReservation2"
+ }
+ ],
+ "virtualMachinesAssociated": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM2"
+ }
+ ]
+ }
+ },
+ {
+ "name": "{capacityReservationGroupName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}",
+ "type": "Microsoft.Compute/CapacityReservationGroups",
+ "location": "West US",
+ "properties": {
+ "capacityReservations": [
+ {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup/capacityReservations/myCapacityReservation3"
+ },
+ {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup/capacityReservations/myCapacityReservation4"
+ }
+ ],
+ "virtualMachinesAssociated": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM3"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListCapacityReservationGroupsInSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListCapacityReservationGroupsInSubscription.json
new file mode 100644
index 000000000000..8db3408ae6a4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListCapacityReservationGroupsInSubscription.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2021-04-01",
+ "$expand": "virtualMachines/$ref"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "{capacityReservationGroupName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup1/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}",
+ "type": "Microsoft.Compute/CapacityReservationGroups",
+ "location": "West US",
+ "properties": {
+ "capacityReservations": [
+ {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup1/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup/capacityReservations/myCapacityReservation1"
+ },
+ {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup1/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup/capacityReservations/myCapacityReservation2"
+ }
+ ],
+ "virtualMachinesAssociated": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup1/providers/Microsoft.Compute/virtualMachines/myVM1"
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup1/providers/Microsoft.Compute/virtualMachines/myVM2"
+ }
+ ]
+ }
+ },
+ {
+ "name": "{capacityReservationGroupName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup2/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}",
+ "type": "Microsoft.Compute/CapacityReservationGroups",
+ "location": "West US",
+ "properties": {
+ "capacityReservations": [
+ {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup2/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup/capacityReservations/myCapacityReservation3"
+ },
+ {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup2/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup/capacityReservations/myCapacityReservation4"
+ }
+ ],
+ "virtualMachinesAssociated": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup2/providers/Microsoft.Compute/virtualMachines/myVM3"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListCapacityReservationsInReservationGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListCapacityReservationsInReservationGroup.json
new file mode 100644
index 000000000000..17af4c495263
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListCapacityReservationsInReservationGroup.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "capacityReservationGroupName": "myCapacityReservationGroup",
+ "api-version": "2021-04-01",
+ "$expand": "virtualMachines/$ref"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "{capacityReservationName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}/CapacityReservation/{capacityReservationName}",
+ "type": "Microsoft.Compute/CapacityReservations",
+ "location": "West US",
+ "properties": {
+ "reservationId": "{GUID}",
+ "provisioningTime": "2021-06-27T01:02:38.3138469+00:00",
+ "virtualMachinesAssociated": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM2"
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM3"
+ }
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "department": "HR"
+ },
+ "sku": {
+ "name": "Standard_DS1_v2",
+ "capacity": 4
+ },
+ "zones": [
+ "1"
+ ]
+ },
+ {
+ "name": "{capacityReservationName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}/CapacityReservation/{capacityReservationName}",
+ "type": "Microsoft.Compute/CapacityReservations",
+ "location": "West US",
+ "properties": {
+ "reservationId": "{GUID}",
+ "provisioningTime": "2021-06-27T01:02:38.3138469+00:00",
+ "virtualMachinesAssociated": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM4"
+ }
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "department": "HR"
+ },
+ "sku": {
+ "name": "Standard_A1_v2",
+ "capacity": 4
+ },
+ "zones": [
+ "1"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListImagesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListImagesInAResourceGroup.json
new file mode 100644
index 000000000000..b4303df553d8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListImagesInAResourceGroup.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/ListImagesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListImagesInASubscription.json
new file mode 100644
index 000000000000..7da35a49d0ae
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListImagesInASubscription.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2021-04-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/2021-04-01/examples/ListProximityPlacementGroupsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListProximityPlacementGroupsInAResourceGroup.json
new file mode 100644
index 000000000000..982bc371fd8e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListProximityPlacementGroupsInAResourceGroup.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/ListProximityPlacementGroupsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListProximityPlacementGroupsInASubscription.json
new file mode 100644
index 000000000000..bbb351f485ca
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListProximityPlacementGroupsInASubscription.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2021-04-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/2021-04-01/examples/ListRunCommandsInVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListRunCommandsInVM.json
new file mode 100644
index 000000000000..68fa51e9ded8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListRunCommandsInVM.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "myRunCommand",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand",
+ "type": "Microsoft.Compute/virtualMachines/runCommands",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 0,
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..a99a47694793
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Succeeded",
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ },
+ "name": "myVMExtension",
+ "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",
+ "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/2021-04-01/examples/ListVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListVirtualMachineScaleSetVMRunCommands.json
new file mode 100644
index 000000000000..ae2840c1e8d8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListVirtualMachineScaleSetVMRunCommands.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "myRunCommand",
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommands",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/runCommands/myRunCommand",
+ "properties": {
+ "source": {
+ "script": "Write-Host Hello World!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 0,
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListVirtualMachineScaleSetsInASubscriptionByLocation.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListVirtualMachineScaleSetsInASubscriptionByLocation.json
new file mode 100644
index 000000000000..002bd4005eba
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListVirtualMachineScaleSetsInASubscriptionByLocation.json
@@ -0,0 +1,169 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "eastus",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "{virtualMachineScaleSetName}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "location": "eastus",
+ "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": "{virtualMachineScaleSetName}",
+ "adminUsername": "admin",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "myNic",
+ "properties": {
+ "primary": true,
+ "ipConfigurations": [
+ {
+ "name": "myIPConfig",
+ "properties": {
+ "primary": true,
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet"
+ }
+ }
+ }
+ ],
+ "networkSecurityGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "provisioningState": "succeeded",
+ "overprovision": false,
+ "doNotRunExtensionsOnOverprovisionedVMs": false,
+ "platformFaultDomainCount": 1
+ }
+ },
+ {
+ "name": "{virtualMachineScaleSetName}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}1",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "location": "eastus",
+ "tags": {
+ "myTag1": "tagValue2"
+ },
+ "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": "{virtualMachineScaleSetName}",
+ "adminUsername": "admin",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "myNic1",
+ "properties": {
+ "primary": true,
+ "ipConfigurations": [
+ {
+ "name": "myIPConfig",
+ "properties": {
+ "primary": true,
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet"
+ }
+ }
+ }
+ ],
+ "networkSecurityGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "provisioningState": "succeeded",
+ "overprovision": false,
+ "doNotRunExtensionsOnOverprovisionedVMs": false,
+ "platformFaultDomainCount": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListVirtualMachinesInASubscriptionByLocation.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListVirtualMachinesInASubscriptionByLocation.json
new file mode 100644
index 000000000000..b2b47978904f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ListVirtualMachinesInASubscriptionByLocation.json
@@ -0,0 +1,127 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "location": "eastus",
+ "api-version": "2021-04-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/2021-04-01/examples/LogAnalyticsRequestRateByInterval.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/LogAnalyticsRequestRateByInterval.json
new file mode 100644
index 000000000000..cda207bb0d30
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/LogAnalyticsRequestRateByInterval.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "westus",
+ "api-version": "2021-04-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/2021-04-01/examples/LogAnalyticsThrottledRequests.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/LogAnalyticsThrottledRequests.json
new file mode 100644
index 000000000000..217cdd705fe0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/LogAnalyticsThrottledRequests.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "westus",
+ "api-version": "2021-04-01",
+ "parameters": {
+ "blobContainerSasUri": "https://somesasuri",
+ "fromTime": "2018-01-21T01:54:06.862601Z",
+ "toTime": "2018-01-23T01:54:06.862601Z",
+ "groupByOperationName": true,
+ "groupByResourceName": false,
+ "groupByClientApplicationId": false,
+ "groupByUserAgent": 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/2021-04-01/examples/PatchAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/PatchAProximityPlacementGroup.json
new file mode 100644
index 000000000000..9922817ea53d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/PatchAProximityPlacementGroup.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/ReapplyVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ReapplyVirtualMachine.json
new file mode 100644
index 000000000000..bb5c32d3c8b9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ReapplyVirtualMachine.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2021-04-01",
+ "vmName": "VMName"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ReimageVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ReimageVirtualMachine.json
new file mode 100644
index 000000000000..fde680d23158
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/ReimageVirtualMachine.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-01",
+ "vmName": "myVMName",
+ "parameters": {
+ "tempDisk": true
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json
new file mode 100644
index 000000000000..0cc7ba4eac5e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/RetrieveBootDiagnosticsDataVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/RetrieveBootDiagnosticsDataVirtualMachine.json
new file mode 100644
index 000000000000..9555878e99d3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/RetrieveBootDiagnosticsDataVirtualMachine.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/SimulateEvictionOfVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/SimulateEvictionOfVM.json
new file mode 100644
index 000000000000..662ffb458c76
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/SimulateEvictionOfVM.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2021-04-01",
+ "vmName": "VMName"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/SimulateEvictionOfVmssVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/SimulateEvictionOfVmssVM.json
new file mode 100644
index 000000000000..7bc3bb704a5f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/SimulateEvictionOfVmssVM.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "vmScaleSetName": "VmScaleSetName",
+ "api-version": "2021-04-01",
+ "instanceId": "InstanceId"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateImage.json
new file mode 100644
index 000000000000..cdb7f304612e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateImage.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-04-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/2021-04-01/examples/UpdateRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateRunCommand.json
new file mode 100644
index 000000000000..d705159eb175
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateRunCommand.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "runCommandName": "myRunCommand",
+ "api-version": "2021-04-01",
+ "runCommand": {
+ "properties": {
+ "source": {
+ "script": "Write-Host Script Source Updated!"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRunCommand",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand",
+ "type": "Microsoft.Compute/virtualMachines/runCommands",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "source": {
+ "script": "Write-Host Script Source Updated!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 3600,
+ "provisioningState": "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json
new file mode 100644
index 000000000000..9e0387ccae84
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateVMForceDetachDataDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateVMForceDetachDataDisk.json
new file mode 100644
index 000000000000..4908ecd66fdb
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateVMForceDetachDataDisk.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2021-04-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,
+ "detachOption": "ForceDetach"
+ },
+ {
+ "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,
+ "detachOption": "ForceDetach"
+ },
+ {
+ "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/2021-04-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..4a570a5234c3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "vmExtensionName": "myVMExtension",
+ "api-version": "2021-04-01",
+ "extensionParameters": {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVMExtension",
+ "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/2021-04-01/examples/UpdateVirtualMachineScaleSetVMRunCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateVirtualMachineScaleSetVMRunCommands.json
new file mode 100644
index 000000000000..059db6adabe6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateVirtualMachineScaleSetVMRunCommands.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "runCommandName": "myRunCommand",
+ "api-version": "2021-04-01",
+ "runCommand": {
+ "properties": {
+ "source": {
+ "script": "Write-Host Script Source Updated!"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myRunCommand",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommands",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/runCommands/myRunCommand",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "source": {
+ "script": "Write-Host Script Source Updated!"
+ },
+ "parameters": [
+ {
+ "name": "param1",
+ "value": "value1"
+ },
+ {
+ "name": "param2",
+ "value": "value2"
+ }
+ ],
+ "asyncExecution": false,
+ "runAsUser": "user1",
+ "timeoutInSeconds": 3600,
+ "provisioningState": "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/VMScaleSetExtensionRollingUpgrade.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/VMScaleSetExtensionRollingUpgrade.json
new file mode 100644
index 000000000000..5a7210cf0f85
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/VMScaleSetExtensionRollingUpgrade.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/VMScaleSetRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/VMScaleSetRunCommand.json
new file mode 100644
index 000000000000..3814ec9341c9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/VMScaleSetRunCommand.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myVirtualMachineScaleSet",
+ "instanceId": "0",
+ "api-version": "2021-04-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/2021-04-01/examples/VirtualMachineAssessPatches.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/VirtualMachineAssessPatches.json
new file mode 100644
index 000000000000..e59f57cb3d1b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/VirtualMachineAssessPatches.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "api-version": "2021-04-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",
+ "availablePatches": [
+ {
+ "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/2021-04-01/examples/VirtualMachineInstallPatches.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/VirtualMachineInstallPatches.json
new file mode 100644
index 000000000000..cabd945e6589
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/VirtualMachineInstallPatches.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "api-version": "2021-04-01",
+ "installPatchesInput": {
+ "maximumDuration": "PT4H",
+ "rebootSetting": "IfRequired",
+ "windowsParameters": {
+ "classificationsToInclude": [
+ "Critical",
+ "Security"
+ ],
+ "maxPatchPublishDate": "2020-11-19T02:36:43.0539904+00:00"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "Succeeded",
+ "installationActivityId": "68f8b292-dfc2-4646-9781-33cc88631968",
+ "rebootStatus": "Completed",
+ "maintenanceWindowExceeded": false,
+ "excludedPatchCount": 0,
+ "notSelectedPatchCount": 0,
+ "pendingPatchCount": 2,
+ "installedPatchCount": 3,
+ "failedPatchCount": 0,
+ "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"
+ ],
+ "installationState": "Installed"
+ },
+ {
+ "patchId": "39f9cdd1-795c-4d0e-8c0a-73ab3f31746d",
+ "name": "Windows Malicious Software Removal Tool x64 - October 2018 (KB890830)",
+ "version": "",
+ "kbId": "890830",
+ "classifications": [
+ "Update Rollups"
+ ],
+ "installationState": "Pending"
+ }
+ ],
+ "error": null
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/VirtualMachineRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/VirtualMachineRunCommand.json
new file mode 100644
index 000000000000..7cf5b15eed6a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/VirtualMachineRunCommand.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "24fb23e3-6ba3-41f0-9b6e-e41131d5d61e",
+ "resourceGroupName": "crptestar98131",
+ "vmName": "vm3036",
+ "$top": 1,
+ "api-version": "2021-04-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/2021-04-01/examples/VirtualMachineRunCommandGet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/VirtualMachineRunCommandGet.json
new file mode 100644
index 000000000000..0ca93cd159da
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/VirtualMachineRunCommandGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "24fb23e3-6ba3-41f0-9b6e-e41131d5d61e",
+ "location": "SoutheastAsia",
+ "commandId": "RunPowerShellScript",
+ "api-version": "2021-04-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/2021-04-01/examples/VirtualMachineRunCommandList.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/VirtualMachineRunCommandList.json
new file mode 100644
index 000000000000..b6c72d586787
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/VirtualMachineRunCommandList.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "location": "SoutheastAsia",
+ "api-version": "2021-04-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/2021-04-01/runCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/runCommands.json
new file mode 100644
index 000000000000..a05d2e7f7e8f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/runCommands.json
@@ -0,0 +1,1438 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "RunCommandsClient",
+ "description": "The Run Commands Client.",
+ "version": "2021-04-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"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands/{runCommandName}": {
+ "put": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_CreateOrUpdate",
+ "description": "The operation to create or update the run command.",
+ "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 run command should be created or updated."
+ },
+ {
+ "name": "runCommandName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine run command."
+ },
+ {
+ "name": "runCommand",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ },
+ "description": "Parameters supplied to the Create Virtual Machine RunCommand operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ }
+ },
+ "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 run command.": {
+ "$ref": "./examples/CreateOrUpdateRunCommand.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_Update",
+ "description": "The operation to update the run command.",
+ "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 run command should be updated."
+ },
+ {
+ "name": "runCommandName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine run command."
+ },
+ {
+ "name": "runCommand",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommandUpdate"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine RunCommand operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a run command.": {
+ "$ref": "./examples/UpdateRunCommand.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_Delete",
+ "description": "The operation to delete the run command.",
+ "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 run command should be deleted."
+ },
+ {
+ "name": "runCommandName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine run command."
+ },
+ {
+ "$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 a run command.": {
+ "$ref": "./examples/DeleteRunCommand.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_GetByVirtualMachine",
+ "description": "The operation to get the run command.",
+ "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 run command."
+ },
+ {
+ "name": "runCommandName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine run command."
+ },
+ {
+ "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/VirtualMachineRunCommand"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a run command.": {
+ "$ref": "./examples/GetRunCommand.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands": {
+ "get": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_ListByVirtualMachine",
+ "description": "The operation to get all run commands 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 run command."
+ },
+ {
+ "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/VirtualMachineRunCommandsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List run commands in a Virtual Machine.": {
+ "$ref": "./examples/ListRunCommandsInVM.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/runCommands/{runCommandName}": {
+ "put": {
+ "tags": [
+ "VirtualMachineScaleSetVMRunCommands"
+ ],
+ "operationId": "VirtualMachineScaleSetVMRunCommands_CreateOrUpdate",
+ "description": "The operation to create or update the VMSS VM run command.",
+ "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": "runCommandName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine run command."
+ },
+ {
+ "name": "runCommand",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ },
+ "description": "Parameters supplied to the Create Virtual Machine RunCommand operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ }
+ },
+ "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 run command.": {
+ "$ref": "./examples/CreateOrUpdateVirtualMachineScaleSetVMRunCommands.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachineScaleSetVMRunCommands"
+ ],
+ "operationId": "VirtualMachineScaleSetVMRunCommands_Update",
+ "description": "The operation to update the VMSS VM run command.",
+ "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": "runCommandName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine run command."
+ },
+ {
+ "name": "runCommand",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommandUpdate"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine RunCommand operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ }
+ },
+ "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 run command.": {
+ "$ref": "./examples/UpdateVirtualMachineScaleSetVMRunCommands.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineScaleSetVMRunCommands"
+ ],
+ "operationId": "VirtualMachineScaleSetVMRunCommands_Delete",
+ "description": "The operation to delete the VMSS VM run command.",
+ "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": "runCommandName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine run command."
+ },
+ {
+ "$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 run command.": {
+ "$ref": "./examples/DeleteVirtualMachineScaleSetVMRunCommands.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMRunCommands"
+ ],
+ "operationId": "VirtualMachineScaleSetVMRunCommands_Get",
+ "description": "The operation to get the VMSS VM run command.",
+ "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": "runCommandName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine run command."
+ },
+ {
+ "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/VirtualMachineRunCommand"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get VirtualMachineScaleSet VM run commands.": {
+ "$ref": "./examples/GetVirtualMachineScaleSetVMRunCommands.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/runCommands": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMRunCommands"
+ ],
+ "operationId": "VirtualMachineScaleSetVMRunCommands_List",
+ "description": "The operation to get all run commands 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/VirtualMachineRunCommandsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List run commands in Vmss instance.": {
+ "$ref": "./examples/ListVirtualMachineScaleSetVMRunCommands.json"
+ }
+ }
+ }
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "VirtualMachineRunCommandInstanceView": {
+ "properties": {
+ "executionState": {
+ "type": "string",
+ "description": "Script execution status.",
+ "enum": [
+ "Unknown",
+ "Pending",
+ "Running",
+ "Failed",
+ "Succeeded",
+ "TimedOut",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "ExecutionState",
+ "modelAsString": true
+ }
+ },
+ "executionMessage": {
+ "type": "string",
+ "description": "Communicate script configuration errors or execution messages."
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Exit code returned from script execution."
+ },
+ "output": {
+ "type": "string",
+ "description": "Script output stream."
+ },
+ "error": {
+ "type": "string",
+ "description": "Script error stream."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Script start time."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Script end time."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of a virtual machine run command."
+ },
+ "VirtualMachineRunCommandScriptSource": {
+ "properties": {
+ "script": {
+ "type": "string",
+ "description": "Specifies the script content to be executed on the VM."
+ },
+ "scriptUri": {
+ "type": "string",
+ "description": "Specifies the script download location."
+ },
+ "commandId": {
+ "type": "string",
+ "description": "Specifies a commandId of predefined built-in script."
+ }
+ },
+ "description": "Describes the script sources for run command."
+ },
+ "VirtualMachineRunCommandProperties": {
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/VirtualMachineRunCommandScriptSource",
+ "description": "The source of the run command script."
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunCommandInputParameter"
+ },
+ "description": "The parameters used by the script."
+ },
+ "protectedParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunCommandInputParameter"
+ },
+ "description": "The parameters used by the script."
+ },
+ "asyncExecution": {
+ "type": "boolean",
+ "description": "Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete.",
+ "default": false
+ },
+ "runAsUser": {
+ "type": "string",
+ "description": "Specifies the user account on the VM when executing the run command."
+ },
+ "runAsPassword": {
+ "type": "string",
+ "description": "Specifies the user account password on the VM when executing the run command."
+ },
+ "timeoutInSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The timeout in seconds to execute the run command."
+ },
+ "outputBlobUri": {
+ "type": "string",
+ "description": "Specifies the Azure storage blob where script output stream will be uploaded."
+ },
+ "errorBlobUri": {
+ "type": "string",
+ "description": "Specifies the Azure storage blob where script error stream will be uploaded."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "instanceView": {
+ "readOnly": true,
+ "$ref": "#/definitions/VirtualMachineRunCommandInstanceView",
+ "description": "The virtual machine run command instance view."
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine run command."
+ },
+ "VirtualMachineRunCommand": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineRunCommandProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a Virtual Machine run command."
+ },
+ "VirtualMachineRunCommandUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineRunCommandProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a Virtual Machine run command."
+ },
+ "VirtualMachineRunCommandsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineRunCommand"
+ },
+ "description": "The list of run commands"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of run commands."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List run command operation response"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/readme.go.md b/specification/compute/resource-manager/readme.go.md
index 5144774ed3b6..cf01a327f3da 100644
--- a/specification/compute/resource-manager/readme.go.md
+++ b/specification/compute/resource-manager/readme.go.md
@@ -2,13 +2,14 @@
These settings apply only when `--go` is specified on the command line.
-```yaml $(go) && !(track2)
+```yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
directive:
- # dynamically add a DummyOrchestrationServiceName value to the enum
+ # dynamically add a DummyOrchestrationServiceName value to the enum and then remove it from the generated code to avoid the generator generates the code by hard-coding the single-entry enum value
+ # this directive adds a DummyOrchestrationServiceName to the enum type
- from: compute.json
where: $..enum
transform: >-
@@ -17,14 +18,15 @@ directive:
}
return $;
+ # this directive removes the DummyOrchestrationServiceName from the generated code, so that we still have only one enum entry in this enum type.
- from: source-file-go
where: $
transform: >-
return $.
- replace(/\/\/ DummyOrchestrationServiceName .../g,'').
- replace(/DummyOrchestrationServiceName OrchestrationServiceNames = "DummyOrchestrationServiceName"\n/g,'').
- replace(/,DummyOrchestrationServiceName/,'').
- replace(/, 'DummyOrchestrationServiceName'/,'');
+ replace(/\/\/ (OrchestrationServiceNames)?DummyOrchestrationServiceName .../g,'').
+ replace(/(OrchestrationServiceNames)?DummyOrchestrationServiceName OrchestrationServiceNames = "DummyOrchestrationServiceName"\n/g,'').
+ replace(/,(OrchestrationServiceNames)?DummyOrchestrationServiceName/,'').
+ replace(/, '(OrchestrationServiceNames)?DummyOrchestrationServiceName'/,'');
```
``` yaml $(go) && $(track2)
@@ -35,6 +37,7 @@ output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
directive:
+ # we do not need to hack to add a dummy enum entry in track 2, because track 2 generator will generate the enum type even if it only has on entry
- from: disk.json
where: "$.definitions.PurchasePlan"
transform: >
@@ -45,6 +48,7 @@ directive:
```yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-04-01
- tag: package-2021-03-01
- tag: package-2020-12-01
- tag: package-2020-10-01-preview
@@ -69,6 +73,16 @@ batch:
- tag: package-container-service-2015-11-preview
```
+### Tag: package-2021-04-01 and go
+
+These settings apply only when `--tag=package-2021-04-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag)=='package-2021-04-01' && $(go)
+namespace: compute
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-04-01/$(namespace)
+```
+
### Tag: package-2021-03-01 and go
These settings apply only when `--tag=package-2021-03-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 1f07309b64ab..6f923ad453c3 100644
--- a/specification/compute/resource-manager/readme.md
+++ b/specification/compute/resource-manager/readme.md
@@ -34,7 +34,7 @@ These are the global settings for the Compute API.
title: ComputeManagementClient
description: Compute Client
openapi-type: arm
-tag: package-2021-03-01
+tag: package-2021-04-01
directive:
- where:
@@ -229,6 +229,31 @@ directive:
reason:
- CRP supports the list /restorePoint operation by allowing customers to call Get RestorePointCollection with $expand=RestorePoints
```
+### Tag: package-2021-04-01
+
+These settings apply only when `--tag=package-2021-04-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-04-01'
+input-file:
+- Microsoft.Compute/stable/2021-04-01/compute.json
+- Microsoft.Compute/stable/2021-04-01/runCommands.json
+- Microsoft.Compute/stable/2019-04-01/skus.json
+- Microsoft.Compute/stable/2020-12-01/disk.json
+- Microsoft.Compute/stable/2020-09-30/gallery.json
+- Microsoft.Compute/stable/2020-09-30/sharedGallery.json
+- Microsoft.Compute/stable/2021-03-01/cloudService.json
+```
+
+### Tag: package-2021-04-01-only
+
+These settings apply only when `--tag=package-2021-04-01-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-04-01-only'
+input-file:
+- Microsoft.Compute/stable/2021-04-01/compute.json
+- Microsoft.Compute/stable/2021-04-01/runCommands.json
+```
+
### Tag: package-2021-03-01
These settings apply only when `--tag=package-2021-03-01` is specified on the command line.
diff --git a/specification/compute/resource-manager/readme.python.md b/specification/compute/resource-manager/readme.python.md
index 69726bc4ee7d..00b026529eb0 100644
--- a/specification/compute/resource-manager/readme.python.md
+++ b/specification/compute/resource-manager/readme.python.md
@@ -36,6 +36,7 @@ Generate all API versions currently shipped for this package
```yaml $(multiapi)
clear-output-folder: true
batch:
+ - tag: package-2021-04-01-only
- tag: package-2021-03-01-only
- tag: package-2020-12-01-only
- tag: package-2020-10-01-preview-only
@@ -67,6 +68,16 @@ clear-output-folder: false
perform-load: false
```
+### Tag: package-2021-04-01-only
+
+These settings apply only when `--tag=package-2021-04-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-04-01-only'
+namespace: azure.mgmt.compute.v2021_04_01
+output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_04_01
+```
+
### Tag: package-2021-03-01-only
These settings apply only when `--tag=package-2021-03-01-only --python` is specified on the command line.
diff --git a/specification/compute/resource-manager/readme.typescript.md b/specification/compute/resource-manager/readme.typescript.md
index b6fd59f1adbd..20938f8dfd23 100644
--- a/specification/compute/resource-manager/readme.typescript.md
+++ b/specification/compute/resource-manager/readme.typescript.md
@@ -27,7 +27,7 @@ directive:
replace(/[,|*] 'DummyOrchestrationServiceName'/g,'');
```
-``` yaml $(typescript) && !$(profile)
+``` yaml $(typescript) && !$(profile-content)
package-name: "@azure/arm-compute"
output-folder: "$(typescript-sdks-folder)/sdk/compute/arm-compute"
clear-output-folder: true
@@ -36,9 +36,9 @@ directive:
### Profile: profile-hybrid-2019-03-01
-These settings apply only when `--profile=profile-hybrid-2019-03-01` is specified on the command line.
+These settings apply only when `--profile-content=profile-hybrid-2019-03-01` is specified on the command line.
-``` yaml $(profile)=='profile-hybrid-2019-03-01'
+``` yaml $(profile-content)=='profile-hybrid-2019-03-01'
typescript:
package-name: "@azure/arm-compute-profile-2019-03-01-hybrid"
output-folder: "$(typescript-sdks-folder)/sdk/compute/arm-compute-profile-2019-03-01-hybrid"
@@ -48,9 +48,9 @@ typescript:
### Profile: profile-hybrid-2020-09-01
-These settings apply only when `--profile=profile-hybrid-2020-09-01` is specified on the command line.
+These settings apply only when `--profile-content=profile-hybrid-2020-09-01` is specified on the command line.
-``` yaml $(profile)=='profile-hybrid-2020-09-01'
+``` yaml $(profile-content)=='profile-hybrid-2020-09-01'
typescript:
package-name: "@azure/arm-compute-profile-2020-09-01-hybrid"
output-folder: "$(typescript-sdks-folder)/sdk/compute/arm-compute-profile-2020-09-01-hybrid"
@@ -59,4 +59,4 @@ typescript:
generate-metadata: true
batch:
- tag: profile-hybrid-2020-09-01
-```
\ No newline at end of file
+```
diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/confidentialledger.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/confidentialledger.json
new file mode 100644
index 000000000000..96e423cee57f
--- /dev/null
+++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/confidentialledger.json
@@ -0,0 +1,730 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-05-13-preview",
+ "title": "ConfidentialLedger",
+ "description": "Microsoft Azure Confidential Compute Ledger Control Plane REST API version 2020-12-01-preview."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.ConfidentialLedger/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Retrieves a list of available API operations",
+ "summary": "Retrieves a list of available API operations under this Resource Provider.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains the list of operations under Microsoft.ConfidentialLedger resource provider.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderOperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure. 404 - NotFound (Confidential Ledger does not exist.)",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OperationsGet": {
+ "$ref": "./examples/Operations_Get.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ConfidentialLedger/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "NameAvailability"
+ ],
+ "description": "To check whether a resource name is available.",
+ "operationId": "CheckNameAvailability",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "nameAvailabilityRequest",
+ "in": "body",
+ "description": "Name availability request payload.",
+ "required": true,
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/CheckNameAvailabilityRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/CheckNameAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CheckNameAvailability": {
+ "$ref": "./examples/CheckNameAvailability.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}": {
+ "get": {
+ "tags": [
+ "Confidential Ledger"
+ ],
+ "summary": "Retrieves information about a Confidential Ledger resource.",
+ "description": "Retrieves the properties of a Confidential Ledger.",
+ "operationId": "Ledger_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LedgerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains the Confidential Ledger",
+ "schema": {
+ "$ref": "#/definitions/ConfidentialLedger"
+ }
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure. 404 - NotFound (Confidential Ledger does not exist.)",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfidentialLedgerGet": {
+ "$ref": "./examples/ConfidentialLedger_Get.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Confidential Ledger"
+ ],
+ "summary": "Deletes a Confidential Ledger resource.",
+ "description": "Deletes an existing Confidential Ledger.",
+ "operationId": "Ledger_Delete",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LedgerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the Confidential Ledger is deleted."
+ },
+ "202": {
+ "description": "The Confidential Ledger resource will be deleted asynchronously"
+ },
+ "204": {
+ "description": "The request was successful; Confidential Ledger does not exist."
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure. 409 - Conflict(Confidential Ledger is in a non-terminal state due to an ongoing operation.)",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfidentialLedgerDelete": {
+ "$ref": "./examples/ConfidentialLedger_Delete.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Confidential Ledger"
+ ],
+ "summary": "Creates a Confidential Ledger.",
+ "description": "Creates a Confidential Ledger with the specified ledger parameters.",
+ "operationId": "Ledger_Create",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LedgerNameParameter"
+ },
+ {
+ "name": "confidentialLedger",
+ "in": "body",
+ "description": "Confidential Ledger Create Request Body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfidentialLedger"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful and ledger was created; response contains the Confidential Ledger",
+ "schema": {
+ "$ref": "#/definitions/ConfidentialLedger"
+ }
+ },
+ "201": {
+ "description": "The Confidential Ledger resource will be created asynchronously"
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure. 404 - NotFound (Confidential Ledger could not be created/updated)",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfidentialLedgerCreate": {
+ "$ref": "./examples/ConfidentialLedger_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Confidential Ledger"
+ ],
+ "summary": "Update Confidential Ledger properties",
+ "description": "Updates properties of Confidential Ledger",
+ "operationId": "Ledger_Update",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LedgerNameParameter"
+ },
+ {
+ "name": "confidentialLedger",
+ "in": "body",
+ "description": "Confidential Ledger request body for Updating Ledger",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfidentialLedger"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful and ledger was recovered; response contains the Confidential Ledger",
+ "schema": {
+ "$ref": "#/definitions/ConfidentialLedger"
+ }
+ },
+ "201": {
+ "description": "The Confidential Ledger resource will be updated asynchronously"
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure. 404 - NotFound (Confidential Ledger could not be created/updated)",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfidentialLedgerUpdate": {
+ "$ref": "./examples/ConfidentialLedger_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers": {
+ "get": {
+ "tags": [
+ "Confidential Ledger"
+ ],
+ "summary": "Retrieves information about all Confidential Ledger resources under the given subscription and resource group",
+ "description": "Retrieves the properties of all Confidential Ledgers.",
+ "operationId": "Ledger_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "type": "string",
+ "description": "The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public'",
+ "name": "$filter",
+ "in": "query"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains the Confidential Ledger",
+ "schema": {
+ "$ref": "#/definitions/ConfidentialLedgerList"
+ }
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure. 404 - NotFound (Confidential Ledger does not exist.)",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ConfidentialLedgerList": {
+ "$ref": "./examples/ConfidentialLedger_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ConfidentialLedger/ledgers/": {
+ "get": {
+ "tags": [
+ "Confidential Ledger"
+ ],
+ "summary": "Retrieves information about all Confidential Ledger resources under the given subscription",
+ "description": "Retrieves the properties of all Confidential Ledgers.",
+ "operationId": "Ledger_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "type": "string",
+ "description": "The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public'",
+ "name": "$filter",
+ "in": "query"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains the list of Confidential Ledgers",
+ "schema": {
+ "$ref": "#/definitions/ConfidentialLedgerList"
+ }
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure. 404 - NotFound (Confidential Ledger does not exist.)",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ConfidentialLedgerListBySub": {
+ "$ref": "./examples/ConfidentialLedger_ListBySub.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Location": {
+ "description": "Location of the ARM Resource",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The Azure location where the Confidential Ledger is running.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ }
+ }
+ },
+ "Tags": {
+ "description": "Tags for Confidential Ledger Resource",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "description": "Additional tags for Confidential Ledger",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ]
+ }
+ }
+ },
+ "Resource": {
+ "description": "An Azure resource.",
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Fully qualified resource Id for the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ }
+ }
+ },
+ "ResourceProviderOperationList": {
+ "description": "List containing this Resource Provider's available operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Resource provider operations list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceProviderOperationDefinition"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next page for list of Azure operations.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ResourceProviderOperationDefinition": {
+ "description": "Describes the Resource Provider Operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Resource provider operation name.",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is data action or not.",
+ "type": "boolean"
+ },
+ "display": {
+ "description": "Details about the operations",
+ "$ref": "#/definitions/ResourceProviderOperationDisplay"
+ }
+ }
+ },
+ "ResourceProviderOperationDisplay": {
+ "description": "Describes the properties of the Operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Name of the resource provider.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Name of the resource type.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Name of the resource provider operation.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the resource provider operation.",
+ "type": "string"
+ }
+ }
+ },
+ "ConfidentialLedgerType": {
+ "type": "string",
+ "description": "Type of the ledger. Private means transaction data is encrypted.",
+ "enum": [
+ "Unknown",
+ "Public",
+ "Private"
+ ],
+ "x-ms-enum": {
+ "name": "LedgerType",
+ "modelAsString": true
+ }
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "description": "Object representing ProvisioningState for Confidential Ledger.",
+ "enum": [
+ "Unknown",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Creating",
+ "Deleting",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "LedgerRoleName": {
+ "description": "LedgerRole associated with the Security Principal of Ledger",
+ "type": "string",
+ "enum": [
+ "Reader",
+ "Contributor",
+ "Administrator"
+ ],
+ "x-ms-enum": {
+ "name": "LedgerRoleName",
+ "modelAsString": true
+ }
+ },
+ "CertBasedSecurityPrincipal": {
+ "type": "object",
+ "description": "Cert based security principal with Ledger RoleName",
+ "properties": {
+ "cert": {
+ "description": "Base64 encoded public key of the user cert (.pem or .cer)",
+ "type": "string"
+ },
+ "ledgerRoleName": {
+ "$ref": "#/definitions/LedgerRoleName"
+ }
+ }
+ },
+ "AADBasedSecurityPrincipal": {
+ "type": "object",
+ "description": "AAD based security principal with associated Ledger RoleName",
+ "properties": {
+ "principalId": {
+ "description": "UUID/GUID based Principal Id of the Security Principal",
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "UUID/GUID based Tenant Id of the Security Principal",
+ "type": "string"
+ },
+ "ledgerRoleName": {
+ "$ref": "#/definitions/LedgerRoleName"
+ }
+ }
+ },
+ "LedgerProperties": {
+ "type": "object",
+ "description": "Additional Confidential Ledger properties.",
+ "title": "LedgerProperties",
+ "properties": {
+ "ledgerName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Unique name for the Confidential Ledger."
+ },
+ "ledgerUri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Endpoint for calling Ledger Service."
+ },
+ "identityServiceUri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Endpoint for accessing network identity."
+ },
+ "ledgerInternalNamespace": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Internal namespace for the Ledger"
+ },
+ "ledgerType": {
+ "description": "Type of Confidential Ledger",
+ "$ref": "#/definitions/ConfidentialLedgerType"
+ },
+ "provisioningState": {
+ "description": "Provisioning state of Ledger Resource",
+ "readOnly": true,
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "aadBasedSecurityPrincipals": {
+ "description": "Array of all AAD based Security Principals.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AADBasedSecurityPrincipal"
+ }
+ },
+ "certBasedSecurityPrincipals": {
+ "description": "Array of all cert based Security Principals.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertBasedSecurityPrincipal"
+ }
+ }
+ }
+ },
+ "ConfidentialLedger": {
+ "type": "object",
+ "description": "Confidential Ledger. Contains the properties of Confidential Ledger Resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "$ref": "#/definitions/Location"
+ },
+ {
+ "$ref": "#/definitions/Tags"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Properties of Confidential Ledger Resource.",
+ "$ref": "#/definitions/LedgerProperties"
+ }
+ }
+ },
+ "ConfidentialLedgerList": {
+ "description": "Object that includes an array of Confidential Ledgers and a possible link for next set.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of Confidential Ledgers",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfidentialLedger"
+ }
+ },
+ "nextLink": {
+ "description": "The URL the client should use to fetch the next page (per server side paging).",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "maxLength": 90,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to be used with the HTTP request."
+ },
+ "LedgerNameParameter": {
+ "name": "ledgerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the Confidential Ledger",
+ "pattern": "^[a-zA-Z0-9]",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/CheckNameAvailability.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/CheckNameAvailability.json
new file mode 100644
index 000000000000..c6ad9c826664
--- /dev/null
+++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/CheckNameAvailability.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-05-13-preview",
+ "nameAvailabilityRequest": {
+ "name": "sample-name",
+ "type": "Microsoft.ConfidentialLedger/ledgers"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Create.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Create.json
new file mode 100644
index 000000000000..75df24f7242e
--- /dev/null
+++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Create.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2021-05-13-preview",
+ "subscriptionId": "0000000-0000-0000-0000-000000000001",
+ "resourceGroupName": "DummyResourceGroupName",
+ "ledgerName": "DummyLedgerName",
+ "confidentialLedger": {
+ "properties": {
+ "ledgerType": "Public",
+ "aadBasedSecurityPrincipals": [
+ {
+ "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e",
+ "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08",
+ "ledgerRoleName": "Administrator"
+ }
+ ],
+ "certBasedSecurityPrincipals": [
+ {
+ "cert": "MIIDBTCCAe2gAwIBAgIQXVogj9BAf49IpuOSIvztNDANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMDMxNzAwMDAwMFoXDTI1MDMxNzAwMDAwMFowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANfLmdz9yIDskpZzrMXiDeVlCs75ZunrzwzBW5lz7UxdBjHu7Q9iT32otlBp++LOwBcKsVjuQ0GUbulX0FLsfLjEeCe58ZtSn//+6VRFSScg7i+WvDwEUWELR+vMPtCGcXBTpILEnYbSMz0No4+Jpkc1lyMIfDP/KSeqojo74xfW4RKtAgv39uwZ5Yz2hZ/IcWOvaQqMXp1lqhXLFIRWbwjLYYUbmwGwYpQ6++Cml0ucQoMkgYT88HpA/fzXQlLgrHamr3eE/lVp26ZWwfGLAvkdNBabQRSrk8k/c6BmY1mYpUFZo+795PI16mAdp1ioEwH8I5osis+/BR5GhPpwiA8CAwEAAaMhMB8wHQYDVR0OBBYEFF8MDGklOGhGNVJvsHHRCaqtzexcMA0GCSqGSIb3DQEBCwUAA4IBAQCKkegw/mdpCVl1lOpgU4G9RT+1gtcPqZK9kpimuDggSJju6KUQlOCi5/lIH5DCzpjFdmG17TjWVBNve5kowmrhLzovY0Ykk7+6hYTBK8dNNSmd4SK7zY++0aDIuOzHP2Cur+kgFC0gez50tPzotLDtMmp40gknXuzltwJfezNSw3gLgljDsGGcDIXK3qLSYh44qSuRGwulcN2EJUZBI9tIxoODpaWHIN8+z2uZvf8JBYFjA3+n9FRQn51X16CTcjq4QRTbNVpgVuQuyaYnEtx0ZnDvguB3RjGSPIXTRBkLl2x7e8/6uAZ6tchw8rhcOtPsFgJuoJokGjvcUSR/6Eqd",
+ "ledgerRoleName": "Reader"
+ }
+ ]
+ },
+ "location": "EastUS",
+ "tags": {
+ "additionalProps1": "additional properties"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "ledgerName": "DummyLedgerName",
+ "ledgerUri": "https://dummy.accledger.domain.com/DummyLedgerName",
+ "identityServiceUri": "https://dummy.accledger.identity.com/DummyLedgerName",
+ "ledgerType": "Public",
+ "ledgerInternalNamespace": "dummyNamespace",
+ "provisioningState": "Succeeded",
+ "aadBasedSecurityPrincipals": [
+ {
+ "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e",
+ "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08",
+ "ledgerRoleName": "Administrator"
+ }
+ ],
+ "certBasedSecurityPrincipals": [
+ {
+ "cert": "-----BEGIN CERTIFICATE-----\nMIIDUjCCAjqgAwIBAgIQJ2IrDBawSkiAbkBYmiAopDANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwHhcNMjAwOTIzMjIxODQ2WhcNMjEwOTIzMjIyODQ2WjAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCX2s/Eu4q/eQ63N+Ugeg5oAciZua/YCJr41c/696szvSY7Zg1SNJlW88/nbz70+QpO55OmqlEE3QCU+T0Vl/h0Gf//n1PYcoBbTGUnYEmV+fTTHict6rFiEwrGJ62tvcpYgwapInSLyEeUzjki0zhOLJ1OfRnYd1eGnFVMpE5aVjiS8Q5dmTEUyd51EIprGE8RYAW9aeWSwTH7gjHUsRlJnHKcdhaK/v5QKJnNu5bzPFUcpC0ZBcizoMPAtroLAD4B68Jl0z3op18MgZe6lRrVoWuxfqnk5GojuB/Vu8ohAZKoFhQ6NB6r+LL2AUs+Zr7Bt26IkEdR178n9JMEA4gHAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBS/a7PU9iOfOKEyZCp11Oen5VSuuDAdBgNVHQ4EFgQUv2uz1PYjnzihMmQqddTnp+VUrrgwDQYJKoZIhvcNAQELBQADggEBAF5q2fDwnse8egXhfaJCqqM969E9gSacqFmASpoDJPRPEX7gqoO7v1ww7nqRtRDoRiBvo/yNk7jlSAkRN3nRRnZLZZ3MYQdmCr4FGyIqRg4Y94+nja+Du9pDD761rxRktMVPSOaAVM/E5DQvscDlPvlPYe9mkcrLCE4DXYpiMmLT8Tm55LJJq5m07dVDgzAIR1L/hmEcbK0pnLgzciMtMLxGO2udnyyW/UW9WxnjvrrD2JluTHH9mVbb+XQP1oFtlRBfH7aui1ZgWfKvxrdP4zdK9QoWSUvRux3TLsGmHRBjBMtqYDY3y5mB+aNjLelvWpeVb0m2aOSVXynrLwNCAVA=\n-----END CERTIFICATE-----",
+ "ledgerRoleName": "Reader"
+ }
+ ]
+ },
+ "name": "DummyLedgerName",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName",
+ "type": "Microsoft.ConfidentialLedger/ledgers",
+ "location": "EastUS",
+ "tags": {
+ "additionalProps1": "additional properties"
+ },
+ "systemData": {
+ "createdBy": "ledgerAdmin@contoso.com",
+ "createdByType": "Admin1",
+ "createdAt": "2020-12-01T00:00:00.1234567Z",
+ "lastModifiedBy": "ledgerAdmin2@outlook.com",
+ "lastModifiedByType": "Admin2",
+ "lastModifiedAt": "2020-12-02T00:00:00.1234567Z"
+ }
+ }
+ },
+ "201": {}
+ }
+}
diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Delete.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Delete.json
new file mode 100644
index 000000000000..cd9c1f94cace
--- /dev/null
+++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-05-13-preview",
+ "subscriptionId": "0000000-0000-0000-0000-000000000001",
+ "resourceGroupName": "DummyResourceGroupName",
+ "ledgerName": "DummyLedgerName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Get.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Get.json
new file mode 100644
index 000000000000..03d118818c8d
--- /dev/null
+++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Get.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-05-13-preview",
+ "subscriptionId": "0000000-0000-0000-0000-000000000001",
+ "resourceGroupName": "DummyResourceGroupName",
+ "ledgerName": "DummyLedgerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "ledgerName": "DummyLedgerName",
+ "ledgerUri": "https://dummy.accledger.domain.com/DummyLedgerName",
+ "identityServiceUri": "https://dummy.accledger.identity.com/DummyLedgerName",
+ "ledgerType": "Public",
+ "ledgerInternalNamespace": "dummyNamespace",
+ "provisioningState": "Succeeded",
+ "aadBasedSecurityPrincipals": [
+ {
+ "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e",
+ "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08",
+ "ledgerRoleName": "Administrator"
+ }
+ ]
+ },
+ "name": "DummyLedgerName",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName",
+ "type": "Microsoft.ConfidentialLedger/ledgers",
+ "location": "EastUS",
+ "tags": {
+ "additionalProps1": "additional properties"
+ },
+ "systemData": {
+ "createdBy": "ledgerAdmin@contoso.com",
+ "createdByType": "Admin1",
+ "createdAt": "2020-12-01T00:00:00.1234567Z",
+ "lastModifiedBy": "ledgerAdmin2@outlook.com",
+ "lastModifiedByType": "Admin2",
+ "lastModifiedAt": "2020-12-02T00:00:00.1234567Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_List.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_List.json
new file mode 100644
index 000000000000..f3507d4df552
--- /dev/null
+++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_List.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-05-13-preview",
+ "subscriptionId": "0000000-0000-0000-0000-000000000001",
+ "resourceGroupName": "DummyResourceGroupName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "ledgerName": "DummyLedgerName",
+ "ledgerUri": "https://dummy.accledger.domain.com/DummyLedgerName",
+ "identityServiceUri": "https://dummy.accledger.identity.com/DummyLedgerName",
+ "ledgerType": "Public",
+ "ledgerInternalNamespace": "dummyNamespace",
+ "provisioningState": "Succeeded",
+ "aadBasedSecurityPrincipals": [
+ {
+ "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e",
+ "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08",
+ "ledgerRoleName": "Administrator"
+ }
+ ]
+ },
+ "name": "DummyLedgerName",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName",
+ "type": "Microsoft.ConfidentialLedger/ledgers",
+ "location": "EastUS",
+ "tags": {
+ "additionalProps1": "additional properties"
+ },
+ "systemData": {
+ "createdBy": "ledgerAdmin@contoso.com",
+ "createdByType": "Admin1",
+ "createdAt": "2020-12-01T00:00:00.1234567Z",
+ "lastModifiedBy": "ledgerAdmin2@outlook.com",
+ "lastModifiedByType": "Admin2",
+ "lastModifiedAt": "2020-12-02T00:00:00.1234567Z"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_ListBySub.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_ListBySub.json
new file mode 100644
index 000000000000..3c830340d9da
--- /dev/null
+++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_ListBySub.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2021-05-13-preview",
+ "subscriptionId": "0000000-0000-0000-0000-000000000001"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "ledgerName": "DummyLedgerName",
+ "ledgerUri": "https://dummy.accledger.domain.com/DummyLedgerName",
+ "identityServiceUri": "https://dummy.accledger.identity.com/DummyLedgerName",
+ "ledgerType": "Public",
+ "ledgerInternalNamespace": "dummyNamespace",
+ "provisioningState": "Succeeded",
+ "certBasedSecurityPrincipals": [
+ {
+ "cert": "-----BEGIN CERTIFICATE-----\nMIIDUjCCAjqgAwIBAgIQJ2IrDBawSkiAbkBYmiAopDANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwHhcNMjAwOTIzMjIxODQ2WhcNMjEwOTIzMjIyODQ2WjAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCX2s/Eu4q/eQ63N+Ugeg5oAciZua/YCJr41c/696szvSY7Zg1SNJlW88/nbz70+QpO55OmqlEE3QCU+T0Vl/h0Gf//n1PYcoBbTGUnYEmV+fTTHict6rFiEwrGJ62tvcpYgwapInSLyEeUzjki0zhOLJ1OfRnYd1eGnFVMpE5aVjiS8Q5dmTEUyd51EIprGE8RYAW9aeWSwTH7gjHUsRlJnHKcdhaK/v5QKJnNu5bzPFUcpC0ZBcizoMPAtroLAD4B68Jl0z3op18MgZe6lRrVoWuxfqnk5GojuB/Vu8ohAZKoFhQ6NB6r+LL2AUs+Zr7Bt26IkEdR178n9JMEA4gHAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBS/a7PU9iOfOKEyZCp11Oen5VSuuDAdBgNVHQ4EFgQUv2uz1PYjnzihMmQqddTnp+VUrrgwDQYJKoZIhvcNAQELBQADggEBAF5q2fDwnse8egXhfaJCqqM969E9gSacqFmASpoDJPRPEX7gqoO7v1ww7nqRtRDoRiBvo/yNk7jlSAkRN3nRRnZLZZ3MYQdmCr4FGyIqRg4Y94+nja+Du9pDD761rxRktMVPSOaAVM/E5DQvscDlPvlPYe9mkcrLCE4DXYpiMmLT8Tm55LJJq5m07dVDgzAIR1L/hmEcbK0pnLgzciMtMLxGO2udnyyW/UW9WxnjvrrD2JluTHH9mVbb+XQP1oFtlRBfH7aui1ZgWfKvxrdP4zdK9QoWSUvRux3TLsGmHRBjBMtqYDY3y5mB+aNjLelvWpeVb0m2aOSVXynrLwNCAVA=\n-----END CERTIFICATE-----",
+ "ledgerRoleName": "Reader"
+ }
+ ]
+ },
+ "name": "DummyLedgerName",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName",
+ "type": "Microsoft.ConfidentialLedger/ledgers",
+ "location": "EastUS",
+ "tags": {
+ "additionalProps1": "additional properties"
+ },
+ "systemData": {
+ "createdBy": "ledgerAdmin@contoso.com",
+ "createdByType": "Admin1",
+ "createdAt": "2020-12-01T00:00:00.1234567Z",
+ "lastModifiedBy": "ledgerAdmin2@outlook.com",
+ "lastModifiedByType": "Admin2",
+ "lastModifiedAt": "2020-12-02T00:00:00.1234567Z"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Update.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Update.json
new file mode 100644
index 000000000000..d822f7d26004
--- /dev/null
+++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Update.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2021-05-13-preview",
+ "subscriptionId": "0000000-0000-0000-0000-000000000001",
+ "resourceGroupName": "DummyResourceGroupName",
+ "ledgerName": "DummyLedgerName",
+ "confidentialLedger": {
+ "properties": {},
+ "location": "EastUS",
+ "tags": {
+ "additionalProps1": "additional properties",
+ "additionProps2": "additional property value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "ledgerName": "DummyLedgerName",
+ "ledgerUri": "https://dummy.accledger.domain.com/DummyLedgerName",
+ "identityServiceUri": "https://dummy.accledger.identity.com/DummyLedgerName",
+ "ledgerType": "Public",
+ "ledgerInternalNamespace": "dummyNamespace",
+ "provisioningState": "Succeeded",
+ "aadBasedSecurityPrincipals": [
+ {
+ "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e",
+ "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08",
+ "ledgerRoleName": "Administrator"
+ }
+ ]
+ },
+ "name": "DummyLedgerName",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName",
+ "type": "Microsoft.ConfidentialLedger/ledgers",
+ "location": "EastUS",
+ "tags": {
+ "additionalProps1": "additional properties",
+ "additionProps2": "additional property value"
+ },
+ "systemData": {
+ "createdBy": "ledgerAdmin@contoso.com",
+ "createdByType": "Admin1",
+ "createdAt": "2020-12-01T00:00:00.1234567Z",
+ "lastModifiedBy": "ledgerAdmin2@outlook.com",
+ "lastModifiedByType": "Admin2",
+ "lastModifiedAt": "2020-12-02T00:00:00.1234567Z"
+ }
+ }
+ },
+ "201": {}
+ }
+}
diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/Operations_Get.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/Operations_Get.json
new file mode 100644
index 000000000000..c8801738e7d8
--- /dev/null
+++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/Operations_Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ConfidentialLedger/ledgers/read",
+ "isDataAction": false,
+ "display": {
+ "resource": "ledger",
+ "operation": "Get Confidential Ledger properties",
+ "description": "View the properties of a Confidential Ledger"
+ }
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/confidentialledger/resource-manager/readme.go.md b/specification/confidentialledger/resource-manager/readme.go.md
index 44efe957d751..861fb6931060 100644
--- a/specification/confidentialledger/resource-manager/readme.go.md
+++ b/specification/confidentialledger/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_MIT_NO_VERSION
+ license-header: MICROSOFT_APACHE_NO_VERSION
namespace: confidentialledger
clear-output-folder: true
```
@@ -14,6 +14,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- tag: package-2020-12-01-preview
+ - tag: package-2021-05-13-preview
```
### Tag: package-2020-12-01-preview and go
@@ -24,3 +25,12 @@ Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-2021-05-13-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-05-13-preview/$(namespace)
+```
diff --git a/specification/confidentialledger/resource-manager/readme.md b/specification/confidentialledger/resource-manager/readme.md
index b34f5f14c2cb..c4861ecbcde1 100644
--- a/specification/confidentialledger/resource-manager/readme.md
+++ b/specification/confidentialledger/resource-manager/readme.md
@@ -27,7 +27,7 @@ These are the global settings for the confidentialledger.
```yaml
openapi-type: arm
openapi-subtype: rpaas
-tag: package-2020-12-01-preview
+tag: package-2021-05-13-preview
```
### Tag: package-2020-12-01-preview
@@ -39,6 +39,15 @@ input-file:
- Microsoft.ConfidentialLedger/preview/2020-12-01-preview/confidentialledger.json
```
+### Tag: package-2021-05-13-preview
+
+These settings apply only when `--tag=package-2021-05-13-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-05-13-preview'
+input-file:
+ - Microsoft.ConfidentialLedger/preview/2021-05-13-preview/confidentialledger.json
+```
+
---
# Code Generation
@@ -51,7 +60,7 @@ This is not used by Autorest itself.
```yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python-track2
+ - repo: azure-sdk-for-python
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
diff --git a/specification/confidentialledger/resource-manager/readme.python.md b/specification/confidentialledger/resource-manager/readme.python.md
index aef6ed5ec919..d51e32acadda 100644
--- a/specification/confidentialledger/resource-manager/readme.python.md
+++ b/specification/confidentialledger/resource-manager/readme.python.md
@@ -3,21 +3,19 @@
These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(track2)
-azure-arm: true
-license-header: MICROSOFT_MIT_NO_VERSION
-package-name: azure-mgmt-confidentialledger
-no-namespace-folders: true
-package-version: 1.0.0b1
-clear-output-folder: true
+```yaml $(python)
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: microsoft.confidentialledger
+ package-name: azure-mgmt-confidentialledger
+ package-version: 0.0.1
+ clear-output-folder: true
```
-``` yaml $(python-mode) == 'update' && $(track2)
-no-namespace-folders: true
-output-folder: $(python-sdks-folder)/confidentialledger/azure-mgmt-confidentialledger/azure/mgmt/confidentialledger
-```
-
-``` yaml $(python-mode) == 'create' && $(track2)
-basic-setup-py: true
-output-folder: $(python-sdks-folder)/confidentialledger/azure-mgmt-confidentialledger
+```yaml $(python)
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/confidentialledger/azure-mgmt-confidentialledger/azure/mgmt/confidentialledger
```
diff --git a/specification/confidentialledger/resource-manager/readme.ruby.md b/specification/confidentialledger/resource-manager/readme.ruby.md
index 7ce0aac185a6..6497879fb3f5 100644
--- a/specification/confidentialledger/resource-manager/readme.ruby.md
+++ b/specification/confidentialledger/resource-manager/readme.ruby.md
@@ -17,3 +17,19 @@ Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2021-05-13-preview' && $(ruby)
+namespace: Microsoft.ConfidentialLedger
+output-folder: $(ruby-sdks-folder)/confidentialledger
+```
\ No newline at end of file
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 c566b00a8d9a..c6a19e934001 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
@@ -812,7 +812,7 @@
{
"name": "startDate",
"in": "query",
- "description": "Start date. Only applicable when querying with billing profile",
+ "description": "Start date. Required only when querying with billing profile",
"required": false,
"type": "string",
"x-ms-parameter-location": "method"
@@ -820,14 +820,14 @@
{
"name": "endDate",
"in": "query",
- "description": "End date. Only applicable when querying with billing profile",
+ "description": "End date. Required only when querying with billing profile",
"required": false,
"type": "string",
"x-ms-parameter-location": "method"
},
{
"name": "$filter",
- "description": "Required only for daily grain. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'. Not applicable when querying with billing profile",
+ "description": "The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'. Not required when querying with billing profile",
"in": "query",
"required": false,
"type": "string"
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesMonthlyWithBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesMonthlyWithBillingAccountId.json
index e301b98fe19f..ef4d890884ca 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesMonthlyWithBillingAccountId.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesMonthlyWithBillingAccountId.json
@@ -2,7 +2,8 @@
"parameters": {
"api-version": "2019-10-01",
"scope": "providers/Microsoft.Billing/billingAccounts/12345",
- "grain": "monthly"
+ "grain": "monthly",
+ "$filter": "properties/usageDate ge 2017-10-01 AND properties/usageDate le 2017-11-20"
},
"responses": {
"200": {
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesMonthlyWithBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesMonthlyWithBillingProfileId.json
index 72ecb47a78d1..97b7fc49aeb3 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesMonthlyWithBillingProfileId.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesMonthlyWithBillingProfileId.json
@@ -2,7 +2,9 @@
"parameters": {
"api-version": "2019-10-01",
"scope": "providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579",
- "grain": "monthly"
+ "grain": "monthly",
+ "startDate": "2017-10-01",
+ "endDate": "2017-11-20"
},
"responses": {
"200": {
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json
index 4d7621b008d8..339ca77aff63 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json
@@ -3,6 +3,8 @@
"api-version": "2019-10-01",
"scope": "providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579",
"grain": "monthly",
+ "startDate": "2017-10-01",
+ "endDate": "2017-11-20",
"reservationId": "1c6b6358-709f-484c-85f1-72e862a0cf3b",
"reservationOrderId": "9f39ba10-794f-4dcb-8f4b-8d0cb47c27dc"
},
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-11-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-11-01/consumption.json
index 55e47eaf75b6..329e7bc17c32 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-11-01/consumption.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-11-01/consumption.json
@@ -2073,6 +2073,12 @@
"description": "Indicates how frequently this charge will occur. OneTime for purchases which only happen once, Monthly for fees which recur every month, and UsageBased for charges based on how much a service is used.",
"type": "string",
"readOnly": true
+ },
+ "payGPrice": {
+ "description": "Retail price for the resource.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
}
}
},
@@ -2104,6 +2110,11 @@
"type": "string",
"readOnly": true
},
+ "pricingModel": {
+ "description": "Identifier that indicates how the meter is priced. Possible values could be 'On Demand', 'Reservation', 'Spot'.",
+ "type": "string",
+ "readOnly": true
+ },
"billingAccountName": {
"description": "Name of the Billing Account.",
"type": "string",
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json
index a4be3db6b309..55d7258b93a8 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json
@@ -1554,7 +1554,7 @@
}
}
},
- "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/Microsoft.Consumption/aggregatedCost": {
+ "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/aggregatedCost": {
"get": {
"tags": [
"AggregatedCost"
@@ -4999,6 +4999,51 @@
"description": "Identifies the source of the lot for which the event happened. ",
"type": "string",
"readOnly": true
+ },
+ "canceledCredit": {
+ "description": "Amount of canceled credit.",
+ "readOnly": true,
+ "$ref": "#/definitions/amount"
+ },
+ "creditCurrency": {
+ "description": "The credit currency of the event.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingCurrency": {
+ "description": "The billing currency of the event.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reseller": {
+ "description": "The reseller of the event.",
+ "readOnly": true,
+ "$ref": "#/definitions/Reseller"
+ },
+ "creditExpiredInBillingCurrency": {
+ "description": "The amount of expired credit or commitment for NewCredit or SettleCharges event in billing currency.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
+ "newCreditInBillingCurrency": {
+ "description": "The amount of new credit or commitment for NewCredit or SettleCharges event in billing currency.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
+ "adjustmentsInBillingCurrency": {
+ "description": "The amount of balance adjustment in billing currency.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
+ "chargesInBillingCurrency": {
+ "description": "The amount of charges for events of type SettleCharges and PendingEligibleCharges in billing currency.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
+ "closedBalanceInBillingCurrency": {
+ "description": "The balance in billing currency after the event.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
}
}
},
@@ -5089,7 +5134,44 @@
"status": {
"description": "The status of the lot.",
"type": "string",
+ "enum": [
+ "None",
+ "Active",
+ "Inactive",
+ "Expired",
+ "Complete",
+ "Canceled"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true
+ }
+ },
+ "creditCurrency": {
+ "description": "The currency of the lot.",
+ "type": "string",
"readOnly": true
+ },
+ "billingCurrency": {
+ "description": "The billing currency of the lot.",
+ "type": "string",
+ "readOnly": true
+ },
+ "originalAmountInBillingCurrency": {
+ "description": "The original amount of a lot in billing currency.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
+ "closedBalanceInBillingCurrency": {
+ "description": "The balance as of the last invoice in billing currency.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
+ "reseller": {
+ "description": "The reseller of the lot.",
+ "readOnly": true,
+ "$ref": "#/definitions/Reseller"
}
}
},
@@ -5132,6 +5214,21 @@
"description": "Pending eligible charges.",
"readOnly": true,
"$ref": "#/definitions/amount"
+ },
+ "creditCurrency": {
+ "description": "The credit currency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingCurrency": {
+ "description": "The billing currency.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reseller": {
+ "description": "Credit's reseller.",
+ "readOnly": true,
+ "$ref": "#/definitions/Reseller"
}
}
},
@@ -5147,6 +5244,11 @@
"description": "Current balance.",
"readOnly": true,
"$ref": "#/definitions/amount"
+ },
+ "estimatedBalanceInBillingCurrency": {
+ "description": "Estimated balance in billing currency.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
}
}
},
@@ -5268,6 +5370,39 @@
}
},
"x-ms-azure-resource": true
+ },
+ "AmountWithExchangeRate": {
+ "description": "The amount with exchange rate.",
+ "properties": {
+ "exchangeRate": {
+ "description": "The exchange rate.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "exchangeRateMonth": {
+ "description": "The exchange rate month.",
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true
+ }
+ }
+ },
+ "Reseller": {
+ "description": "The reseller properties.",
+ "type": "object",
+ "properties": {
+ "resellerId": {
+ "description": "The reseller property ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resellerDescription": {
+ "description": "The reseller property description.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
}
},
"parameters": {
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/CreditSummaryByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/CreditSummaryByBillingProfile.json
index 14fe28c08646..1fb696218838 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/CreditSummaryByBillingProfile.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/CreditSummaryByBillingProfile.json
@@ -11,6 +11,8 @@
"name": "balanceSummary1",
"type": "Microsoft.Consumption/credits/balanceSummary",
"properties": {
+ "creditCurrency": "USD",
+ "billingCurrency": "USD",
"balanceSummary": {
"estimatedBalance": {
"currency": "USD",
@@ -32,6 +34,10 @@
"pendingEligibleCharges": {
"currency": "USD",
"value": 0.00
+ },
+ "reseller": {
+ "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1",
+ "resellerDescription": "Reseller information."
}
}
}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsGetByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsGetByBillingAccount.json
index f35e79cd5742..3bd360a4972e 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsGetByBillingAccount.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsGetByBillingAccount.json
@@ -17,16 +17,21 @@
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/X3TD-KVTT-BG7-TGB",
"billingProfileDisplayName": "Contoso Operations Billing",
"transactionDate": "2019-07-01T00:00:00Z",
- "description": "Settled invoice #312033",
+ "description": "New MACC Added",
"charges": {
"currency": "USD",
"value": 500
},
+ "newCredit": {
+ "currency": "USD",
+ "value": 500
+ },
"closedBalance": {
"currency": "USD",
"value": 500
},
- "invoiceNumber": "3304"
+ "invoiceNumber": "3304",
+ "eventType": "NewCredit"
}
},
{
@@ -39,7 +44,7 @@
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/X3TD-KVTT-BG7-TGB",
"billingProfileDisplayName": "Contoso Operations Billing",
"transactionDate": "2019-07-01T00:00:00Z",
- "description": "Settled invoice #312033",
+ "description": "Balance after invoice 3304",
"charges": {
"currency": "USD",
"value": 500
@@ -48,7 +53,8 @@
"currency": "USD",
"value": 500
},
- "invoiceNumber": "3304"
+ "invoiceNumber": "3304",
+ "eventType": "SettledCharges"
}
}
]
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsGetByBillingAccountWithFilters.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsGetByBillingAccountWithFilters.json
index eba73c41a66c..9f3abbc8588b 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsGetByBillingAccountWithFilters.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsGetByBillingAccountWithFilters.json
@@ -18,16 +18,17 @@
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/X3TD-KVTT-BG7-TGB",
"billingProfileDisplayName": "Contoso Operations Billing",
"transactionDate": "2019-07-01T00:00:00Z",
- "description": "Settled invoice #312033",
- "charges": {
+ "description": "MACC Canceled",
+ "canceledCredit": {
"currency": "USD",
- "value": 500
+ "value": 200
},
"closedBalance": {
"currency": "USD",
"value": 500
},
- "invoiceNumber": "3304"
+ "invoiceNumber": "3304",
+ "eventType": "CanceledCredit"
}
}
]
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsListByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsListByBillingProfile.json
index 5a0bbe735938..737140b05560 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsListByBillingProfile.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/EventsListByBillingProfile.json
@@ -17,26 +17,52 @@
"properties": {
"transactionDate": "2019-07-01T00:00:00Z",
"description": "Settled invoice #312033",
+ "creditCurrency": "USD",
+ "reseller": {
+ "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1",
+ "resellerDescription": "Reseller information"
+ },
+ "billingCurrency": "USD",
"newCredit": {
"currency": "USD",
"value": 0.00
},
+ "newCreditInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"adjustments": {
"currency": "USD",
"value": 0.00
},
+ "adjustmentsInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"creditExpired": {
"currency": "USD",
"value": 0.00
},
+ "creditExpiredInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"charges": {
"currency": "USD",
"value": 500.00
},
+ "chargesInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"closedBalance": {
"currency": "USD",
"value": 500.00
},
+ "closedBalanceInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"eventType": "SettledCharges",
"invoiceNumber": "3301"
}
@@ -48,26 +74,56 @@
"properties": {
"transactionDate": "2019-08-01T00:00:00Z",
"description": "New credits added",
+ "creditCurrency": "USD",
+ "reseller": {
+ "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1",
+ "resellerDescription": "Reseller information"
+ },
+ "billingCurrency": "USD",
"newCredit": {
"currency": "USD",
"value": 400.00
},
+ "newCreditInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "canceledCredit": {
+ "currency": "USD",
+ "value": 5000
+ },
"adjustments": {
"currency": "USD",
"value": 0.00
},
+ "adjustmentsInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"creditExpired": {
"currency": "USD",
"value": 0.00
},
+ "creditExpiredInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"charges": {
"currency": "USD",
"value": 0.00
},
+ "chargesInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"closedBalance": {
"currency": "USD",
"value": 900.00
},
+ "closedBalanceInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"eventType": "NewCredit",
"invoiceNumber": "3302"
}
@@ -79,26 +135,56 @@
"properties": {
"transactionDate": "2019-09-01T00:00:00Z",
"description": "Credits Expired",
+ "creditCurrency": "USD",
+ "reseller": {
+ "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1",
+ "resellerDescription": "Reseller information"
+ },
+ "billingCurrency": "USD",
"newCredit": {
"currency": "USD",
"value": 0.00
},
+ "newCreditInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "canceledCredit": {
+ "currency": "USD",
+ "value": 5000
+ },
"adjustments": {
"currency": "USD",
"value": 0.00
},
+ "adjustmentsInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"creditExpired": {
"currency": "USD",
"value": 300.00
},
+ "creditExpiredInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"charges": {
"currency": "USD",
"value": 0.00
},
+ "chargesInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"closedBalance": {
"currency": "USD",
"value": 600.00
},
+ "closedBalanceInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"eventType": "ExpiredCredit",
"invoiceNumber": ""
}
@@ -110,26 +196,56 @@
"properties": {
"transactionDate": "2021-05-01T00:00:00Z",
"description": "Settled invoice #212033",
+ "creditCurrency": "USD",
+ "reseller": {
+ "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1",
+ "resellerDescription": "Reseller information"
+ },
+ "billingCurrency": "USD",
"newCredit": {
"currency": "USD",
"value": 300.00
},
+ "newCreditInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "canceledCredit": {
+ "currency": "USD",
+ "value": 5000
+ },
"adjustments": {
"currency": "USD",
"value": -200.00
},
+ "adjustmentsInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"creditExpired": {
"currency": "USD",
"value": 100.00
},
+ "creditExpiredInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"charges": {
"currency": "USD",
"value": 300.00
},
+ "chargesInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"closedBalance": {
"currency": "USD",
"value": 700.00
},
+ "closedBalanceInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"eventType": "SettledCharges",
"invoiceNumber": "3303"
}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/LotsListByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/LotsListByBillingProfile.json
index ae8f827faffb..9d7a66b8aa02 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/LotsListByBillingProfile.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/examples/LotsListByBillingProfile.json
@@ -13,14 +13,28 @@
"name": "lot1",
"type": "Microsoft.Consumption/lots",
"properties": {
+ "creditCurrency": "USD",
+ "billingCurrency": "USD",
"originalAmount": {
"currency": "USD",
"value": 5000.00
},
+ "originalAmountInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"closedBalance": {
"currency": "USD",
"value": 60.90
},
+ "closedBalanceInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "reseller": {
+ "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller1",
+ "resellerDescription": "Reseller information."
+ },
"source": "PurchasedCredit",
"startDate": "2021-05-01T00:00:00Z",
"expirationDate": "2021-05-01T00:00:00Z",
@@ -32,14 +46,28 @@
"name": "lot2",
"type": "Microsoft.Consumption/lots",
"properties": {
+ "creditCurrency": "USD",
+ "billingCurrency": "USD",
"originalAmount": {
"currency": "USD",
"value": 6000.00
},
+ "originalAmountInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
"closedBalance": {
"currency": "USD",
"value": 80.90
},
+ "closedBalanceInBillingCurrency": {
+ "exchangeRate": 5000.00,
+ "exchangeRateMonth": 1
+ },
+ "reseller": {
+ "resellerId": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/reseller/reseller2",
+ "resellerDescription": "Reseller information."
+ },
"source": "PurchasedCredit",
"startDate": "2021-05-01T00:00:00Z",
"expirationDate": "2019-12-31T00:00:00Z",
diff --git a/specification/consumption/resource-manager/readme.md b/specification/consumption/resource-manager/readme.md
index 43a5f80bdd34..bdc8e3d7c472 100644
--- a/specification/consumption/resource-manager/readme.md
+++ b/specification/consumption/resource-manager/readme.md
@@ -230,7 +230,6 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-go
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-js
diff --git a/specification/consumption/resource-manager/readme.python.md b/specification/consumption/resource-manager/readme.python.md
index 59aa8be66709..da32a2eb292b 100644
--- a/specification/consumption/resource-manager/readme.python.md
+++ b/specification/consumption/resource-manager/readme.python.md
@@ -4,40 +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) && !$(track2)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.consumption
- package-name: azure-mgmt-consumption
- package-version: 2.0.0
- clear-output-folder: true
-```
+
``` yaml $(python) && $(track2)
-python-mode: create
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
payload-flattening-threshold: 2
namespace: azure.mgmt.consumption
package-name: azure-mgmt-consumption
-package-version: 2.0.0
+package-version: 1.0.0b1
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/consumption/azure-mgmt-consumption/azure/mgmt/consumption
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
no-namespace-folders: true
output-folder: $(python-sdks-folder)/consumption/azure-mgmt-consumption/azure/mgmt/consumption
```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/consumption/azure-mgmt-consumption
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
basic-setup-py: true
output-folder: $(python-sdks-folder)/consumption/azure-mgmt-consumption
```
diff --git a/specification/containerinstance/resource-manager/readme.go.md b/specification/containerinstance/resource-manager/readme.go.md
index e0f0f02aa8db..d656607d0aa8 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-2021-03
- tag: package-2020-11
- tag: package-2019-12
- tag: package-2018-10
@@ -25,6 +26,15 @@ batch:
- tag: package-2017-08-preview
```
+### Tag: package-2021-03 and go
+
+These settings apply only when `--tag=package-2021-03 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-03' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-03-01/$(namespace)
+```
+
### Tag: package-2020-11 and go
These settings apply only when `--tag=package-2020-11 --go` is specified on the command line.
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/containerregistry.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/containerregistry.json
new file mode 100644
index 000000000000..58f36202266b
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/containerregistry.json
@@ -0,0 +1,3091 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Container Registry",
+ "description": "Metadata API definition for the Azure Container Registry runtime",
+ "version": "2019-08-15-preview"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{url}",
+ "useSchemePrefix": false,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "$ref": "#/parameters/Url"
+ }
+ ]
+ },
+ "securityDefinitions": {
+ "registry_auth": {
+ "type": "basic"
+ },
+ "registry_oauth2": {
+ "type": "apiKey",
+ "in": "header",
+ "name": "Authorization"
+ }
+ },
+ "security": [
+ {
+ "registry_auth": [],
+ "registry_oauth2": []
+ }
+ ],
+ "tags": [
+ {
+ "name": "ContainerRegistry",
+ "description": "Registry Operations"
+ },
+ {
+ "name": "ContainerRegistryBlob",
+ "description": "Blob Operations"
+ }
+ ],
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/v2/": {
+ "get": {
+ "tags": [
+ "Registry"
+ ],
+ "description": "Tells whether this Docker Registry instance supports Docker Registry HTTP API v2",
+ "operationId": "ContainerRegistry_CheckDockerV2Support",
+ "x-ms-examples": {
+ "Check Docker Registry V2 Support": {
+ "$ref": "./examples/GetDockerRegistryV2Support.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful response. API v2 supported"
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/v2/{name}/manifests/{reference}": {
+ "get": {
+ "tags": [
+ "Repository"
+ ],
+ "description": "Get the manifest identified by `name` and `reference` where `reference` can be a tag or digest.",
+ "x-ms-examples": {
+ "Get manifest": {
+ "$ref": "./examples/GetManifest.json"
+ }
+ },
+ "operationId": "ContainerRegistry_GetManifest",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/ImageReference"
+ },
+ {
+ "name": "accept",
+ "in": "header",
+ "description": "Accept header string delimited by comma. For example, application/vnd.docker.distribution.manifest.v2+json",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the requested manifest file in a larger combined group",
+ "schema": {
+ "$ref": "#/definitions/Manifest"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Repository"
+ ],
+ "x-ms-long-running-operation": false,
+ "description": "Put the manifest identified by `name` and `reference` where `reference` can be a tag or digest.",
+ "x-ms-examples": {
+ "Put manifest": {
+ "$ref": "./examples/CreateManifest.json"
+ }
+ },
+ "consumes": [
+ "application/vnd.docker.distribution.manifest.v2+json"
+ ],
+ "operationId": "ContainerRegistry_CreateManifest",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/ImageReference"
+ },
+ {
+ "$ref": "#/parameters/ManifestBody"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The manifest is updated",
+ "schema": {},
+ "headers": {
+ "Docker-Content-Digest": {
+ "type": "string",
+ "description": "Identifies the docker upload uuid for the current request."
+ },
+ "Location": {
+ "type": "string",
+ "description": "The canonical location url of the uploaded manifest."
+ },
+ "Content-Length": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The length of the requested blob content."
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Repository"
+ ],
+ "description": "Delete the manifest identified by `name` and `reference`. Note that a manifest can _only_ be deleted by `digest`.",
+ "x-ms-examples": {
+ "Delete manifest": {
+ "$ref": "./examples/DeleteManifest.json"
+ }
+ },
+ "operationId": "ContainerRegistry_DeleteManifest",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/DigestReference"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The manifest has been deleted"
+ },
+ "404": {
+ "description": "The manifest was not found"
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/v2/{name}/blobs/{digest}": {
+ "get": {
+ "produces": [
+ "application/octet-stream"
+ ],
+ "tags": [
+ "ContainerRegistryBlob"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/Digest"
+ }
+ ],
+ "x-ms-examples": {
+ "Get a blob from digest": {
+ "$ref": "./examples/GetBlob.json"
+ }
+ },
+ "description": "Retrieve the blob from the registry identified by digest.",
+ "operationId": "ContainerRegistryBlob_GetBlob",
+ "responses": {
+ "200": {
+ "description": "The blob identified by digest is available. The blob content will be present in the body of the response.",
+ "schema": {
+ "description": "blob binary data",
+ "type": "file",
+ "format": "file"
+ },
+ "headers": {
+ "Content-Length": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The length of the requested blob content."
+ },
+ "Docker-Content-Digest": {
+ "description": "Digest of the targeted content for the request.",
+ "type": "string"
+ }
+ }
+ },
+ "307": {
+ "description": "The blob identified by digest is available at the provided location.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "The location where the layer should be accessible."
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "head": {
+ "tags": [
+ "ContainerRegistryBlob"
+ ],
+ "description": "Same as GET, except only the headers are returned.",
+ "operationId": "ContainerRegistryBlob_CheckBlobExists",
+ "x-ms-examples": {
+ "Head for a Blob Chunk": {
+ "$ref": "./examples/CheckBlob.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/Digest"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The blob identified by digest is available. The blob content will be present in the body of the response.",
+ "headers": {
+ "Content-Length": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The length of the requested blob content."
+ },
+ "Docker-Content-Digest": {
+ "description": "Digest of the targeted content for the request.",
+ "type": "string"
+ }
+ }
+ },
+ "307": {
+ "description": "The blob identified by digest is available at the provided location.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "The location where the layer should be accessible."
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "delete": {
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/Digest"
+ }
+ ],
+ "description": "Removes an already uploaded blob.",
+ "produces": [
+ "application/octet-stream"
+ ],
+ "tags": [
+ "ContainerRegistryBlob"
+ ],
+ "operationId": "ContainerRegistryBlob_DeleteBlob",
+ "x-ms-examples": {
+ "Delete a blob": {
+ "$ref": "./examples/DeleteBlob.json"
+ }
+ },
+ "responses": {
+ "202": {
+ "description": "The blob identified by digest is available. The blob content will be present in the body of the response.",
+ "schema": {
+ "description": "blob binary data",
+ "type": "file",
+ "format": "file"
+ },
+ "headers": {
+ "Docker-Content-Digest": {
+ "description": "Digest of the targeted content for the request.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/v2/{name}/blobs/uploads/": {
+ "post": {
+ "tags": [
+ "ContainerRegistryBlob"
+ ],
+ "description": "Mount a blob identified by the `mount` parameter from another repository.",
+ "operationId": "ContainerRegistryBlob_MountBlob",
+ "x-ms-examples": {
+ "Mount a blob from repository": {
+ "$ref": "./examples/MountBlob.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/From"
+ },
+ {
+ "$ref": "#/parameters/Mount"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The blob has been created in the registry and is available at the provided location.",
+ "headers": {
+ "Location": {
+ "description": "Provided location for blob",
+ "type": "string"
+ },
+ "Docker-Upload-UUID": {
+ "description": "Identifies the docker upload uuid for the current request.",
+ "type": "string"
+ },
+ "Docker-Content-Digest": {
+ "description": "Digest of the targeted content for the request.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/{nextBlobUuidLink}": {
+ "get": {
+ "tags": [
+ "ContainerRegistryBlob"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/NextLink"
+ }
+ ],
+ "description": "Retrieve status of upload identified by uuid. The primary purpose of this endpoint is to resolve the current status of a resumable upload.",
+ "operationId": "ContainerRegistryBlob_GetUploadStatus",
+ "x-ms-examples": {
+ "Get blob status": {
+ "$ref": "./examples/GetBlobStatus.json"
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "The upload is known and in progress. The last received offset is available in the Range header.",
+ "headers": {
+ "Range": {
+ "description": "Range indicating the current progress of the upload.",
+ "type": "string"
+ },
+ "Docker-Upload-UUID": {
+ "description": "Identifies the docker upload uuid for the current request.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "patch": {
+ "security": [
+ {
+ "registry_auth": [],
+ "registry_oauth2": []
+ }
+ ],
+ "tags": [
+ "ContainerRegistryBlob"
+ ],
+ "description": "Upload a stream of data without completing the upload.",
+ "operationId": "ContainerRegistryBlob_UploadChunk",
+ "x-ms-examples": {
+ "Upload Blob": {
+ "$ref": "./examples/UploadBlob.json"
+ }
+ },
+ "consumes": [
+ "application/octet-stream"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/RawData"
+ },
+ {
+ "$ref": "#/parameters/NextLink"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The stream of data has been accepted and the current progress is available in the range header. The updated upload location is available in the Location header.",
+ "headers": {
+ "Location": {
+ "description": "Provided location for blob",
+ "type": "string"
+ },
+ "Range": {
+ "description": "Range indicating the current progress of the upload.",
+ "type": "string"
+ },
+ "Docker-Upload-UUID": {
+ "description": "Identifies the docker upload uuid for the current request.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ContainerRegistryBlob"
+ ],
+ "consumes": [
+ "application/octet-stream"
+ ],
+ "description": "Complete the upload, providing all the data in the body, if necessary. A request without a body will just complete the upload with previously uploaded content.",
+ "operationId": "ContainerRegistryBlob_CompleteUpload",
+ "x-ms-examples": {
+ "End a blob upload": {
+ "$ref": "./examples/EndBlobUpload.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/BlobQueryDigest"
+ },
+ {
+ "$ref": "#/parameters/RawDataOptional"
+ },
+ {
+ "$ref": "#/parameters/NextLink"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The upload has been completed and accepted by the registry.",
+ "headers": {
+ "Location": {
+ "description": "Provided location for blob",
+ "type": "string"
+ },
+ "Range": {
+ "description": "Range indicating the current progress of the upload.",
+ "type": "string"
+ },
+ "Docker-Content-Digest": {
+ "description": "Digest of the targeted content for the request.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ContainerRegistryBlob"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/NextLink"
+ }
+ ],
+ "description": "Cancel outstanding upload processes, releasing associated resources. If this is not called, the unfinished uploads will eventually timeout.",
+ "operationId": "ContainerRegistryBlob_CancelUpload",
+ "x-ms-examples": {
+ "End a blob upload": {
+ "$ref": "./examples/CancelBlobUpload.json"
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "The upload has been successfully deleted."
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/acr/v1/_catalog": {
+ "get": {
+ "tags": [
+ "Registry"
+ ],
+ "description": "List repositories",
+ "operationId": "ContainerRegistry_GetRepositories",
+ "x-ms-pageable": {
+ "itemName": "repositories",
+ "nextLinkName": "link"
+ },
+ "x-ms-examples": {
+ "Get repositories in a registry": {
+ "$ref": "./examples/GetRepositoryList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/QueryLast"
+ },
+ {
+ "$ref": "#/parameters/QueryNum"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "Link": {
+ "description": "next paginated result",
+ "type": "string"
+ }
+ },
+ "description": "Returns a list of repositories",
+ "schema": {
+ "$ref": "#/definitions/Repositories"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/acr/v1/{name}": {
+ "get": {
+ "tags": [
+ "Registry"
+ ],
+ "description": "Get repository attributes",
+ "operationId": "ContainerRegistry_GetProperties",
+ "x-ms-examples": {
+ "Get details of repository": {
+ "$ref": "./examples/GetRepositoryAttributes.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns a list of attributes",
+ "schema": {
+ "$ref": "#/definitions/RepositoryAttributes"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Registry"
+ ],
+ "description": "Delete the repository identified by `name`",
+ "operationId": "ContainerRegistry_DeleteRepository",
+ "x-ms-examples": {
+ "Delete a repository": {
+ "$ref": "./examples/DeleteAcrRepository.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The repository is deleted"
+ },
+ "404": {
+ "description": "The repository was not found"
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Registry"
+ ],
+ "description": "Update the attribute identified by `name` where `reference` is the name of the repository.",
+ "operationId": "ContainerRegistry_UpdateProperties",
+ "x-ms-examples": {
+ "Update repository attributes": {
+ "$ref": "./examples/UpdateRepositoryAttributes.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/RepositoryAttributeValue"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The attributes are updated",
+ "schema": {
+ "$ref": "#/definitions/RepositoryAttributes"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/acr/v1/{name}/_tags": {
+ "get": {
+ "tags": [
+ "Repository"
+ ],
+ "description": "List tags of a repository",
+ "operationId": "ContainerRegistry_GetTags",
+ "x-ms-examples": {
+ "Get tags of a repository": {
+ "$ref": "./examples/GetTagList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "itemName": "tags",
+ "nextLinkName": "link"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/QueryLast"
+ },
+ {
+ "$ref": "#/parameters/QueryNum"
+ },
+ {
+ "$ref": "#/parameters/QueryOrderBy"
+ },
+ {
+ "$ref": "#/parameters/QueryDigest"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "Link": {
+ "description": "next paginated result",
+ "type": "string"
+ }
+ },
+ "description": "Tag details of a repository",
+ "schema": {
+ "$ref": "#/definitions/TagList"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/acr/v1/{name}/_tags/{reference}": {
+ "get": {
+ "tags": [
+ "Repository"
+ ],
+ "description": "Get tag attributes by tag",
+ "operationId": "ContainerRegistry_GetTagProperties",
+ "x-ms-examples": {
+ "Get tag attributes": {
+ "$ref": "./examples/GetTagAttributes.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/TagReference"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tag attributes",
+ "schema": {
+ "$ref": "#/definitions/TagAttributes"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Repository"
+ ],
+ "description": "Update tag attributes",
+ "operationId": "ContainerRegistry_UpdateTagAttributes",
+ "consumes": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Update attributes of a tag": {
+ "$ref": "./examples/UpdateTagAttributes.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/TagReference"
+ },
+ {
+ "$ref": "#/parameters/TagAttributeValue"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The attributes are updated",
+ "schema": {
+ "$ref": "#/definitions/TagAttributes"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Repository"
+ ],
+ "description": "Delete tag",
+ "operationId": "ContainerRegistry_DeleteTag",
+ "consumes": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Delete a tag": {
+ "$ref": "./examples/DeleteTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/TagReference"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The tag is deleted"
+ },
+ "404": {
+ "description": "The tag was not found"
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/acr/v1/{name}/_manifests": {
+ "get": {
+ "tags": [
+ "Repository"
+ ],
+ "description": "List manifests of a repository",
+ "operationId": "ContainerRegistry_GetManifests",
+ "x-ms-examples": {
+ "Get list of available manifests": {
+ "$ref": "./examples/GetManifestList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "itemName": "manifests",
+ "nextLinkName": "link"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/QueryLast"
+ },
+ {
+ "$ref": "#/parameters/QueryNum"
+ },
+ {
+ "$ref": "#/parameters/QueryOrderBy"
+ }
+ ],
+ "responses": {
+ "200": {
+ "headers": {
+ "Link": {
+ "description": "next paginated result",
+ "type": "string"
+ }
+ },
+ "description": "Returns a list of manifests",
+ "schema": {
+ "$ref": "#/definitions/AcrManifests"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/acr/v1/{name}/_manifests/{digest}": {
+ "get": {
+ "tags": [
+ "Repository"
+ ],
+ "description": "Get manifest attributes",
+ "operationId": "ContainerRegistry_GetManifestProperties",
+ "x-ms-examples": {
+ "Get manifest attributes": {
+ "$ref": "./examples/GetManifestAttributes.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/Digest"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of attributes",
+ "schema": {
+ "$ref": "#/definitions/ManifestAttributes"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Repository"
+ ],
+ "description": "Update properties of a manifest",
+ "operationId": "ContainerRegistry_UpdateManifestProperties",
+ "consumes": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Update attributes of a manifest": {
+ "$ref": "./examples/UpdateManifestAttributes.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/Digest"
+ },
+ {
+ "$ref": "#/parameters/ManifestAttributeValue"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The attributes are updated",
+ "schema": {
+ "$ref": "#/definitions/ManifestAttributes"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/oauth2/exchange": {
+ "post": {
+ "tags": [
+ "AcrToken",
+ "RefreshToken"
+ ],
+ "description": "Exchange AAD tokens for an ACR refresh Token",
+ "operationId": "Authentication_ExchangeAadAccessTokenForAcrRefreshToken",
+ "consumes": [
+ "application/x-www-form-urlencoded"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/Grant_type"
+ },
+ {
+ "$ref": "#/parameters/Service"
+ },
+ {
+ "$ref": "#/parameters/AccessToken"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ACR refresh token acquired",
+ "schema": {
+ "$ref": "#/definitions/RefreshToken"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ },
+ "security": [],
+ "x-ms-examples": {
+ "Exchange AAD Token for ACR Refresh": {
+ "$ref": "./examples/PostRefreshToken.json"
+ }
+ }
+ }
+ },
+ "/oauth2/token": {
+ "post": {
+ "tags": [
+ "AcrToken",
+ "AccessToken"
+ ],
+ "description": "Exchange ACR Refresh token for an ACR Access Token",
+ "operationId": "Authentication_ExchangeAcrRefreshTokenForAcrAccessToken",
+ "consumes": [
+ "application/x-www-form-urlencoded"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/Service"
+ },
+ {
+ "name": "scope",
+ "in": "formData",
+ "required": true,
+ "description": "Which is expected to be a valid scope, and can be specified more than once for multiple scope requests. You obtained this from the Www-Authenticate response header from the challenge.",
+ "type": "string"
+ },
+ {
+ "name": "refresh_token",
+ "x-ms-client-name": "acrRefreshToken",
+ "in": "formData",
+ "required": true,
+ "description": "Must be a valid ACR refresh token",
+ "type": "string"
+ },
+ {
+ "name": "grant_type",
+ "in": "formData",
+ "description": "Grant type is expected to be refresh_token",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "refresh_token",
+ "password"
+ ],
+ "x-ms-enum": {
+ "name": "TokenGrantType"
+ },
+ "x-accessibility": "internal",
+ "x-ms-client-default": "refresh_token"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "ACR access token acquired",
+ "schema": {
+ "$ref": "#/definitions/AccessToken"
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ },
+ "security": [],
+ "x-ms-examples": {
+ "Get Access Token with Refresh Token": {
+ "$ref": "./examples/PostAccessToken.json"
+ }
+ }
+ }
+ }
+ },
+ "x-ms-paths": {
+ "/v2/{name}/blobs/uploads/?mode=resumable": {
+ "post": {
+ "tags": [
+ "ContainerRegistryBlob"
+ ],
+ "description": "Initiate a resumable blob upload with an empty request body.",
+ "operationId": "ContainerRegistryBlob_StartUpload",
+ "x-ms-examples": {
+ "Start a blob upload": {
+ "$ref": "./examples/StartBlobUpload.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The upload has been created. The Location header must be used to complete the upload. The response should be identical to a GET request on the contents of the returned Location header.",
+ "headers": {
+ "Location": {
+ "description": "Provided location for blob",
+ "type": "string"
+ },
+ "Range": {
+ "description": "Range indicating the current progress of the upload.",
+ "type": "string"
+ },
+ "Docker-Upload-UUID": {
+ "description": "Identifies the docker upload uuid for the current request.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ },
+ "/v2/{name}/blobs/{digest}?mode=chunk": {
+ "get": {
+ "produces": [
+ "application/octet-stream"
+ ],
+ "tags": [
+ "ContainerRegistryBlob"
+ ],
+ "description": "Retrieve the blob from the registry identified by `digest`. This endpoint may also support RFC7233 compliant range requests. Support can be detected by issuing a HEAD request. If the header `Accept-Range: bytes` is returned, range requests can be used to fetch partial content.",
+ "operationId": "ContainerRegistryBlob_GetChunk",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/Digest"
+ },
+ {
+ "$ref": "#/parameters/Range"
+ }
+ ],
+ "x-ms-examples": {
+ "Get a blob Chunk": {
+ "$ref": "./examples/GetBlobChunk.json"
+ }
+ },
+ "responses": {
+ "206": {
+ "description": "The blob identified by digest is available. The specified chunk of blob content will be present in the body of the request.",
+ "schema": {
+ "description": "blob binary data",
+ "type": "file",
+ "format": "file"
+ },
+ "headers": {
+ "Content-Length": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The length of the requested blob content."
+ },
+ "Content-Range": {
+ "type": "string",
+ "description": "Content range of blob chunk."
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ },
+ "head": {
+ "tags": [
+ "ContainerRegistryBlob"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageName"
+ },
+ {
+ "$ref": "#/parameters/Digest"
+ },
+ {
+ "$ref": "#/parameters/Range"
+ }
+ ],
+ "description": "Same as GET, except only the headers are returned.",
+ "operationId": "ContainerRegistryBlob_CheckChunkExists",
+ "x-ms-examples": {
+ "Get headers without blob Chunk": {
+ "$ref": "./examples/CheckBlobChunk.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "The blob identified by digest is available. The specified chunk of blob content will be present in the body of the request.",
+ "headers": {
+ "Content-Length": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The length of the requested blob content."
+ },
+ "Content-Range": {
+ "type": "string",
+ "description": "Content range of blob chunk."
+ }
+ }
+ },
+ "default": {
+ "description": "ACR error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/AcrErrors"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RepositoryAttributes": {
+ "required": [
+ "registry",
+ "imageName",
+ "createdTime",
+ "lastUpdateTime",
+ "manifestCount",
+ "tagCount",
+ "changeableAttributes"
+ ],
+ "x-ms-client-name": "ContainerRepositoryProperties",
+ "type": "object",
+ "description": "Properties of this repository.",
+ "properties": {
+ "registry": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Registry login server.",
+ "x-ms-client-name": "registryLoginServer"
+ },
+ "imageName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Image name",
+ "x-ms-client-name": "name"
+ },
+ "createdTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "Image created time",
+ "x-ms-client-name": "createdOn"
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "Image last update time",
+ "x-ms-client-name": "lastUpdatedOn"
+ },
+ "manifestCount": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "Number of the manifests"
+ },
+ "tagCount": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "Number of the tags"
+ },
+ "changeableAttributes": {
+ "description": "Writeable properties of the resource",
+ "$ref": "#/definitions/RepositoryChangeableAttributes",
+ "x-ms-client-flatten": true
+ }
+ },
+ "example": {
+ "registry": "registryname.azurecr.io",
+ "changeableAttributes": {
+ "readEnabled": true,
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true,
+ "teleportEnabled": false
+ },
+ "imageName": "imageName",
+ "createdTime": "2018-09-07T16:30:46.6583219Z",
+ "tagCount": 6,
+ "manifestCount": 2,
+ "lastUpdateTime": "2018-09-07T16:30:46.6583219Z"
+ }
+ },
+ "TagList": {
+ "required": [
+ "registry",
+ "imageName",
+ "tags"
+ ],
+ "description": "List of tag details",
+ "x-accessibility": "internal",
+ "properties": {
+ "registry": {
+ "type": "string",
+ "description": "Registry login server.",
+ "x-ms-client-name": "RegistryLoginServer"
+ },
+ "imageName": {
+ "type": "string",
+ "description": "Image name",
+ "x-ms-client-name": "repository"
+ },
+ "tags": {
+ "type": "array",
+ "description": "List of tag attribute details",
+ "x-ms-client-name": "TagAttributeBases",
+ "x-accessibility": "internal",
+ "items": {
+ "$ref": "#/definitions/TagAttributesBase"
+ }
+ },
+ "link": {
+ "type": "string"
+ }
+ },
+ "example": {
+ "registry": "registry",
+ "imageName": "imageName",
+ "tags": [
+ {
+ "changeableAttributes": {
+ "readEnabled": true,
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ },
+ "name": "name",
+ "digest": "digest",
+ "createdTime": "createdTime",
+ "signed": true,
+ "lastUpdateTime": "lastUpdateTime"
+ },
+ {
+ "changeableAttributes": {
+ "readEnabled": true,
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ },
+ "name": "name",
+ "digest": "digest",
+ "createdTime": "createdTime",
+ "signed": true,
+ "lastUpdateTime": "lastUpdateTime"
+ }
+ ]
+ }
+ },
+ "TagAttributes": {
+ "required": [
+ "registry",
+ "imageName",
+ "tag"
+ ],
+ "x-ms-client-name": "ArtifactTagProperties",
+ "description": "Tag attributes",
+ "properties": {
+ "registry": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Registry login server.",
+ "x-ms-client-name": "registryLoginServer"
+ },
+ "imageName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Image name",
+ "x-ms-client-name": "repositoryName"
+ },
+ "tag": {
+ "x-ms-client-flatten": true,
+ "description": "List of tag attribute details",
+ "readOnly": true,
+ "$ref": "#/definitions/TagAttributesBase"
+ }
+ },
+ "example": {
+ "registry": "registry",
+ "imageName": "imageName",
+ "tag": {
+ "changeableAttributes": {
+ "readEnabled": true,
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ },
+ "name": "name",
+ "digest": "digest",
+ "createdTime": "createdTime",
+ "signed": true,
+ "lastUpdateTime": "lastUpdateTime"
+ }
+ }
+ },
+ "TagAttributesBase": {
+ "required": [
+ "name",
+ "digest",
+ "createdTime",
+ "lastUpdateTime",
+ "changeableAttributes"
+ ],
+ "description": "Tag attribute details",
+ "x-accessibility": "internal",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Tag name"
+ },
+ "digest": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Tag digest"
+ },
+ "createdTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "Tag created time",
+ "x-ms-client-name": "createdOn"
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "Tag last update time",
+ "x-ms-client-name": "lastUpdatedOn"
+ },
+ "changeableAttributes": {
+ "$ref": "#/definitions/TagChangeableAttributes",
+ "description": "Writeable properties of the resource",
+ "x-ms-client-flatten": true
+ }
+ },
+ "example": {
+ "changeableAttributes": {
+ "readEnabled": true,
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ },
+ "name": "tagname",
+ "digest": "sha256:0873c923e00e0fd2ba78041bfb64a105e1ecb7678916d1f7776311e45bf5634b",
+ "createdTime": "2018-08-10T17:28:44.1082945Z",
+ "signed": true,
+ "lastUpdateTime": "2018-08-10T17:28:44.1082945Z"
+ }
+ },
+ "TagOrderBy": {
+ "type": "string",
+ "enum": [
+ "none",
+ "timedesc",
+ "timeasc"
+ ],
+ "x-ms-enum": {
+ "name": "ArtifactTagOrderBy",
+ "values": [
+ {
+ "value": "none",
+ "name": "None",
+ "description": "Do not provide an orderby value in the request."
+ },
+ {
+ "value": "timedesc",
+ "name": "LastUpdatedOnDescending",
+ "description": "Order tags by LastUpdatedOn field, from most recently updated to least recently updated."
+ },
+ {
+ "value": "timeasc",
+ "name": "LastUpdatedOnAscending",
+ "description": "Order tags by LastUpdatedOn field, from least recently updated to most recently updated."
+ }
+ ]
+ },
+ "x-accessibility": "public"
+ },
+ "ArtifactArchitecture": {
+ "type": "string",
+ "enum": [
+ "386",
+ "amd64",
+ "arm",
+ "arm64",
+ "mips",
+ "mipsle",
+ "mips64",
+ "mips64le",
+ "ppc64",
+ "ppc641e",
+ "riscv64",
+ "s390x",
+ "wasm"
+ ],
+ "x-ms-enum": {
+ "name": "ArtifactArchitecture",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "386",
+ "name": "I386",
+ "description": ""
+ },
+ {
+ "value": "amd64",
+ "name": "Amd64",
+ "description": ""
+ },
+ {
+ "value": "arm",
+ "name": "Arm",
+ "description": ""
+ },
+ {
+ "value": "arm64",
+ "name": "Arm64",
+ "description": ""
+ },
+ {
+ "value": "mips",
+ "name": "Mips",
+ "description": ""
+ },
+ {
+ "value": "mipsle",
+ "name": "MipsLe",
+ "description": ""
+ },
+ {
+ "value": "mips64",
+ "name": "Mips64",
+ "description": ""
+ },
+ {
+ "value": "mips64le",
+ "name": "Mips64Le",
+ "description": ""
+ },
+ {
+ "value": "ppc64",
+ "name": "Ppc64",
+ "description": ""
+ },
+ {
+ "value": "ppc64le",
+ "name": "Ppc64Le",
+ "description": ""
+ },
+ {
+ "value": "riscv64",
+ "name": "RiscV64",
+ "description": ""
+ },
+ {
+ "value": "s390x",
+ "name": "S390x",
+ "description": ""
+ },
+ {
+ "value": "wasm",
+ "name": "Wasm",
+ "description": ""
+ }
+ ]
+ },
+ "x-accessibility": "public"
+ },
+ "ArtifactOperatingSystem": {
+ "type": "string",
+ "enum": [
+ "aix",
+ "android",
+ "darwin",
+ "dragonfly",
+ "freebsd",
+ "illumos",
+ "ios",
+ "js",
+ "linux",
+ "netbsd",
+ "openbsd",
+ "plan9",
+ "solaris",
+ "windows"
+ ],
+ "x-ms-enum": {
+ "name": "ArtifactOperatingSystem",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "aix",
+ "name": "Aix",
+ "description": ""
+ },
+ {
+ "value": "android",
+ "name": "Android",
+ "description": ""
+ },
+ {
+ "value": "darwin",
+ "name": "Darwin",
+ "description": ""
+ },
+ {
+ "value": "dragonfly",
+ "name": "Dragonfly",
+ "description": ""
+ },
+ {
+ "value": "freebsd",
+ "name": "FreeBsd",
+ "description": ""
+ },
+ {
+ "value": "illumos",
+ "name": "Illumos",
+ "description": ""
+ },
+ {
+ "value": "ios",
+ "name": "iOS",
+ "description": ""
+ },
+ {
+ "value": "js",
+ "name": "JS",
+ "description": ""
+ },
+ {
+ "value": "linux",
+ "name": "Linux",
+ "description": ""
+ },
+ {
+ "value": "netbsd",
+ "name": "NetBsd",
+ "description": ""
+ },
+ {
+ "value": "openbsd",
+ "name": "OpenBsd",
+ "description": ""
+ },
+ {
+ "value": "plan9",
+ "name": "Plan9",
+ "description": ""
+ },
+ {
+ "value": "solaris",
+ "name": "Solaris",
+ "description": ""
+ },
+ {
+ "value": "windows",
+ "name": "Windows",
+ "description": ""
+ }
+ ]
+ },
+ "x-accessibility": "public"
+ },
+ "AcrManifests": {
+ "description": "Manifest attributes",
+ "properties": {
+ "registry": {
+ "type": "string",
+ "description": "Registry login server.",
+ "x-ms-client-name": "registryLoginServer"
+ },
+ "imageName": {
+ "type": "string",
+ "description": "Image name",
+ "x-ms-client-name": "repository"
+ },
+ "manifests": {
+ "type": "array",
+ "description": "List of manifests",
+ "items": {
+ "$ref": "#/definitions/ManifestAttributesBase",
+ "description": "Manifest details"
+ }
+ },
+ "link": {
+ "type": "string"
+ }
+ },
+ "x-accessibility": "internal",
+ "example": {
+ "registry": "registry",
+ "imageName": "imageName",
+ "manifests": [
+ {
+ "changeableAttributes": {
+ "quarantineDetails": "quarantineDetails",
+ "readEnabled": true,
+ "quarantineState": "quarantineState",
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ },
+ "os": "os",
+ "digest": "digest",
+ "imageSize": 2401606,
+ "createdTime": "createdTime",
+ "mediaType": "mediaType",
+ "configMediaType": "configMediaType",
+ "lastUpdateTime": "lastUpdateTime",
+ "architecture": "architecture",
+ "tags": [
+ "tags",
+ "tags"
+ ]
+ },
+ {
+ "changeableAttributes": {
+ "quarantineDetails": "quarantineDetails",
+ "readEnabled": true,
+ "quarantineState": "quarantineState",
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ },
+ "os": "os",
+ "digest": "digest",
+ "imageSize": 2401606,
+ "createdTime": "createdTime",
+ "mediaType": "mediaType",
+ "configMediaType": "configMediaType",
+ "lastUpdateTime": "lastUpdateTime",
+ "architecture": "architecture",
+ "tags": [
+ "tags",
+ "tags"
+ ]
+ }
+ ]
+ }
+ },
+ "ManifestAttributes": {
+ "required": [
+ "manifest"
+ ],
+ "x-ms-client-name": "ArtifactManifestProperties",
+ "description": "Manifest attributes details",
+ "properties": {
+ "registry": {
+ "description": "Registry login server.",
+ "readOnly": true,
+ "type": "string",
+ "x-ms-client-name": "registryLoginServer"
+ },
+ "imageName": {
+ "description": "Repository name",
+ "type": "string",
+ "readOnly": true,
+ "x-ms-client-name": "repositoryName"
+ },
+ "manifest": {
+ "x-ms-client-flatten": true,
+ "readOnly": true,
+ "description": "Manifest attributes",
+ "$ref": "#/definitions/ManifestAttributesBase"
+ }
+ },
+ "example": {
+ "registry": "acrapi.azurecr-test.io",
+ "imageName": "nanoserver",
+ "manifest": {
+ "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086",
+ "imageSize": 2401606,
+ "createdTime": "2018-09-06T06:17:20.9983915Z",
+ "lastUpdateTime": "2018-09-06T06:17:20.9983915Z",
+ "architecture": "amd64",
+ "os": "windows",
+ "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
+ "configMediaType": "application/vnd.docker.container.image.v1+json",
+ "tags": [
+ "4.7.2-20180905-nanoserver-1803"
+ ],
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": true,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ }
+ }
+ },
+ "ManifestAttributesBase": {
+ "required": [
+ "digest",
+ "createdTime",
+ "lastUpdateTime"
+ ],
+ "type": "object",
+ "description": "Manifest details",
+ "x-accessibility": "internal",
+ "properties": {
+ "digest": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Manifest"
+ },
+ "imageSize": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int64",
+ "description": "Image size",
+ "x-ms-client-name": "size"
+ },
+ "createdTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "Created time",
+ "x-ms-client-name": "createdOn"
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "Last update time",
+ "x-ms-client-name": "lastUpdatedOn"
+ },
+ "architecture": {
+ "$ref": "#/definitions/ArtifactArchitecture",
+ "description": "CPU architecture",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "os": {
+ "$ref": "#/definitions/ArtifactOperatingSystem",
+ "description": "Operating system",
+ "x-ms-client-name": "operatingSystem",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "references": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of artifacts that are referenced by this manifest list, with information about the platform each supports. This list will be empty if this is a leaf manifest and not a manifest list.",
+ "x-ms-client-name": "relatedArtifacts",
+ "items": {
+ "$ref": "#/definitions/ManifestAttributes_manifest_references",
+ "description": "Manifest attributes details"
+ }
+ },
+ "tags": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of tags",
+ "items": {
+ "type": "string",
+ "description": "Tag name"
+ }
+ },
+ "changeableAttributes": {
+ "$ref": "#/definitions/ManifestChangeableAttributes",
+ "description": "Writeable properties of the resource",
+ "x-ms-client-flatten": true
+ }
+ },
+ "example": {
+ "changeableAttributes": {
+ "readEnabled": true,
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ },
+ "os": "os",
+ "digest": "digest",
+ "imageSize": 2401606,
+ "createdTime": "createdTime",
+ "mediaType": "mediaType",
+ "configMediaType": "configMediaType",
+ "lastUpdateTime": "lastUpdateTime",
+ "architecture": "architecture",
+ "tags": [
+ "tags",
+ "tags"
+ ]
+ }
+ },
+ "RefreshToken": {
+ "type": "object",
+ "properties": {
+ "refresh_token": {
+ "description": "The refresh token to be used for generating access tokens",
+ "type": "string"
+ }
+ },
+ "x-accessibility": "internal",
+ "x-ms-client-name": "AcrRefreshToken"
+ },
+ "ManifestOrderBy": {
+ "type": "string",
+ "enum": [
+ "none",
+ "timedesc",
+ "timeasc"
+ ],
+ "x-ms-enum": {
+ "name": "ArtifactManifestOrderBy",
+ "values": [
+ {
+ "value": "none",
+ "name": "None",
+ "description": "Do not provide an orderby value in the request."
+ },
+ {
+ "value": "timedesc",
+ "name": "LastUpdatedOnDescending",
+ "description": "Order manifests by LastUpdatedOn field, from most recently updated to least recently updated."
+ },
+ {
+ "value": "timeasc",
+ "name": "LastUpdatedOnAscending",
+ "description": "Order manifest by LastUpdatedOn field, from least recently updated to most recently updated."
+ }
+ ]
+ },
+ "default": "none",
+ "description": "Sort options for ordering manifests in a collection.",
+ "x-accessibility": "public"
+ },
+ "AccessToken": {
+ "type": "object",
+ "properties": {
+ "access_token": {
+ "description": "The access token for performing authenticated requests",
+ "type": "string"
+ }
+ },
+ "x-accessibility": "internal",
+ "x-ms-client-name": "AcrAccessToken"
+ },
+ "AcrErrors": {
+ "description": "Acr error response describing why the operation failed",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "description": "Array of detailed error",
+ "items": {
+ "$ref": "#/definitions/AcrErrorInfo"
+ }
+ }
+ }
+ },
+ "RepositoryTags": {
+ "description": "Result of the request to list tags of the image",
+ "x-accessibility": "internal",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the image"
+ },
+ "tags": {
+ "type": "array",
+ "description": "List of tags",
+ "items": {
+ "type": "string",
+ "description": "Tag name"
+ }
+ }
+ },
+ "example": {
+ "name": "name",
+ "tags": [
+ "tags",
+ "tags"
+ ]
+ }
+ },
+ "ImageSignature": {
+ "description": "Signature of a signed manifest",
+ "x-accessibility": "internal",
+ "properties": {
+ "header": {
+ "description": "A JSON web signature",
+ "$ref": "#/definitions/JWK"
+ },
+ "signature": {
+ "type": "string",
+ "description": "A signature for the image manifest, signed by a libtrust private key"
+ },
+ "protected": {
+ "type": "string",
+ "description": "The signed protected header"
+ }
+ },
+ "example": {
+ "header": {
+ "jwk": {
+ "crv": "P-256",
+ "kid": "WGXM:EYWQ:DA53:LQUP:BCWG:5RDG:S3ZM:ETH7:VMQS:WWKZ:EWDG:V74Q",
+ "kty": "EC",
+ "x": "OxZ9k5BVjPZ7jb3BmBD4X0d8MVPJqfF4NeSe8reoqnY",
+ "y": "EaCqTe4-vYwhk7qU6Bs2-AeLGOVtCe_-IY2MdE0Vfyc"
+ },
+ "alg": "ES256"
+ },
+ "signature": "p73LfotMGD8nNXz2g9YX2XtSllb4GI5-b3vjqP5N0nkv8QXg-r5z_omGiVbOZE2BYG1X_4TIN23l1KSEqsXxOg",
+ "protected": "eyJmb3JtYXRMZW5ndGgiOjI5ODYsImZvcm1hdFRhaWwiOiJDbjAiLCJ0aW1lIjoiMjAxOC0wOS0yMFQyMzo0MTo1MloifQ"
+ }
+ },
+ "JWK": {
+ "description": "A JSON web signature",
+ "x-accessibility": "internal",
+ "properties": {
+ "jwk": {
+ "$ref": "#/definitions/JWKHeader"
+ },
+ "alg": {
+ "type": "string",
+ "description": "The algorithm used to sign or encrypt the JWT"
+ }
+ }
+ },
+ "JWKHeader": {
+ "description": "JSON web key parameter",
+ "x-accessibility": "internal",
+ "properties": {
+ "crv": {
+ "type": "string",
+ "description": "crv value"
+ },
+ "kid": {
+ "type": "string",
+ "description": "kid value"
+ },
+ "kty": {
+ "type": "string",
+ "description": "kty value"
+ },
+ "x": {
+ "type": "string",
+ "description": "x value"
+ },
+ "y": {
+ "type": "string",
+ "description": "y value"
+ }
+ }
+ },
+ "History": {
+ "description": "A list of unstructured historical data for v1 compatibility",
+ "x-accessibility": "internal",
+ "properties": {
+ "v1Compatibility": {
+ "type": "string",
+ "description": "The raw v1 compatibility information"
+ }
+ },
+ "example": {
+ "v1Compatibility": "v1 compatibility info"
+ }
+ },
+ "Repositories": {
+ "description": "List of repositories",
+ "properties": {
+ "repositories": {
+ "type": "array",
+ "description": "Repository names",
+ "items": {
+ "type": "string"
+ }
+ },
+ "link": {
+ "type": "string"
+ }
+ },
+ "x-accessibility": "internal",
+ "example": {
+ "repositories": [
+ "production/alpine",
+ "testing/alpine"
+ ]
+ }
+ },
+ "DeletedRepository": {
+ "x-ms-client-name": "DeleteRepositoryResult",
+ "description": "Deleted repository",
+ "properties": {
+ "manifestsDeleted": {
+ "type": "array",
+ "readOnly": true,
+ "description": "SHA of the deleted image",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-client-name": "deletedManifests"
+ },
+ "tagsDeleted": {
+ "type": "array",
+ "readOnly": true,
+ "description": "Tag of the deleted image",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-client-name": "deletedTags"
+ }
+ }
+ },
+ "AcrErrorInfo": {
+ "description": "Error information",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message"
+ },
+ "detail": {
+ "type": "object",
+ "description": "Error details"
+ }
+ }
+ },
+ "FsLayer": {
+ "description": "Image layer information",
+ "x-accessibility": "internal",
+ "properties": {
+ "blobSum": {
+ "type": "string",
+ "description": "SHA of an image layer"
+ }
+ },
+ "example": {
+ "blobSum": "sha256:1f7d468f830cb0ed4beb8edc9438f18096e8c682e56a35242f60e6c61b718b30"
+ }
+ },
+ "Descriptor": {
+ "description": "Docker V2 image layer descriptor including config and layers",
+ "x-accessibility": "internal",
+ "properties": {
+ "mediaType": {
+ "type": "string",
+ "description": "Layer media type"
+ },
+ "size": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Layer size"
+ },
+ "digest": {
+ "type": "string",
+ "description": "Layer digest"
+ },
+ "urls": {
+ "type": "array",
+ "description": "Specifies a list of URIs from which this object may be downloaded.",
+ "items": {
+ "description": "Must conform to RFC 3986. Entries should use the http and https schemes, as defined in RFC 7230.",
+ "type": "string"
+ }
+ },
+ "annotations": {
+ "$ref": "#/definitions/Annotations"
+ }
+ },
+ "example": {
+ "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
+ "size": 2107098,
+ "digest": "sha256:5d20c808ce198565ff70b3ed23a991dd49afac45dece63474b27ce6ed036adc6"
+ }
+ },
+ "TagChangeableAttributes": {
+ "description": "Changeable attributes",
+ "x-ms-client-name": "TagWriteableProperties",
+ "x-accessibility": "internal",
+ "properties": {
+ "deleteEnabled": {
+ "type": "boolean",
+ "description": "Delete enabled",
+ "x-ms-client-name": "canDelete"
+ },
+ "writeEnabled": {
+ "type": "boolean",
+ "description": "Write enabled",
+ "x-ms-client-name": "canWrite"
+ },
+ "listEnabled": {
+ "type": "boolean",
+ "description": "List enabled",
+ "x-ms-client-name": "canList"
+ },
+ "readEnabled": {
+ "type": "boolean",
+ "description": "Read enabled",
+ "x-ms-client-name": "canRead"
+ }
+ },
+ "example": {
+ "readEnabled": true,
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ }
+ },
+ "TagAttributes_tag": {
+ "description": "Tag",
+ "properties": {
+ "signatureRecord": {
+ "description": "SignatureRecord value",
+ "type": "string"
+ }
+ },
+ "example": {
+ "signatureRecord": "signatureRecord"
+ }
+ },
+ "ManifestAttributes_manifest_references": {
+ "required": [
+ "digest"
+ ],
+ "x-ms-client-name": "ArtifactManifestPlatform",
+ "description": "Manifest attributes details",
+ "properties": {
+ "digest": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Manifest digest"
+ },
+ "architecture": {
+ "$ref": "#/definitions/ArtifactArchitecture",
+ "readOnly": true,
+ "description": "CPU architecture"
+ },
+ "os": {
+ "$ref": "#/definitions/ArtifactOperatingSystem",
+ "readOnly": true,
+ "description": "Operating system",
+ "x-ms-client-name": "operatingSystem"
+ }
+ },
+ "example": {
+ "os": "os",
+ "digest": "digest",
+ "architecture": "architecture"
+ }
+ },
+ "ManifestAttributes_manifest": {
+ "description": "List of manifest attributes",
+ "properties": {
+ "references": {
+ "type": "array",
+ "description": "List of manifest attributes details",
+ "items": {
+ "$ref": "#/definitions/ManifestAttributes_manifest_references",
+ "description": "Manifest attributes details"
+ }
+ },
+ "quarantineTag": {
+ "type": "string",
+ "description": "Quarantine tag name"
+ }
+ },
+ "example": {
+ "quarantineTag": "quarantineTag",
+ "references": [
+ {
+ "os": "os",
+ "digest": "digest",
+ "architecture": "architecture"
+ },
+ {
+ "os": "os",
+ "digest": "digest",
+ "architecture": "architecture"
+ }
+ ]
+ }
+ },
+ "ManifestChangeableAttributes": {
+ "description": "Changeable attributes",
+ "x-ms-client-name": "ManifestWriteableProperties",
+ "x-accessibility": "internal",
+ "properties": {
+ "deleteEnabled": {
+ "type": "boolean",
+ "description": "Delete enabled",
+ "x-ms-client-name": "canDelete"
+ },
+ "writeEnabled": {
+ "type": "boolean",
+ "description": "Write enabled",
+ "x-ms-client-name": "canWrite"
+ },
+ "listEnabled": {
+ "type": "boolean",
+ "description": "List enabled",
+ "x-ms-client-name": "canList"
+ },
+ "readEnabled": {
+ "type": "boolean",
+ "description": "Read enabled",
+ "x-ms-client-name": "canRead"
+ },
+ "quarantineState": {
+ "type": "string",
+ "description": "Quarantine state",
+ "x-accessibility": "internal"
+ },
+ "quarantineDetails": {
+ "type": "string",
+ "description": "Quarantine details",
+ "x-accessibility": "internal"
+ }
+ },
+ "example": {
+ "quarantineDetails": "quarantineDetails",
+ "readEnabled": true,
+ "quarantineState": "quarantineState",
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true
+ }
+ },
+ "RepositoryChangeableAttributes": {
+ "description": "Changeable attributes for Repository",
+ "x-ms-client-name": "RepositoryWriteableProperties",
+ "x-accessibility": "internal",
+ "properties": {
+ "deleteEnabled": {
+ "type": "boolean",
+ "description": "Delete enabled",
+ "x-ms-client-name": "canDelete"
+ },
+ "writeEnabled": {
+ "type": "boolean",
+ "description": "Write enabled",
+ "x-ms-client-name": "canWrite"
+ },
+ "listEnabled": {
+ "type": "boolean",
+ "description": "List enabled",
+ "x-ms-client-name": "canList"
+ },
+ "readEnabled": {
+ "type": "boolean",
+ "description": "Read enabled",
+ "x-ms-client-name": "canRead"
+ },
+ "teleportEnabled": {
+ "type": "boolean",
+ "description": "Enables Teleport functionality on new images in the repository improving Container startup performance"
+ }
+ },
+ "example": {
+ "readEnabled": true,
+ "listEnabled": true,
+ "deleteEnabled": true,
+ "writeEnabled": true,
+ "teleportEnabled": true
+ }
+ },
+ "Manifest": {
+ "description": "Returns the requested manifest file",
+ "x-accessibility": "internal",
+ "properties": {
+ "schemaVersion": {
+ "type": "integer",
+ "description": "Schema version"
+ }
+ }
+ },
+ "ManifestWrapper": {
+ "description": "Returns the requested manifest file",
+ "x-accessibility": "internal",
+ "properties": {
+ "mediaType": {
+ "type": "string",
+ "description": "Media type for this Manifest"
+ },
+ "manifests": {
+ "type": "array",
+ "description": "(ManifestList, OCIIndex) List of V2 image layer information",
+ "items": {
+ "$ref": "#/definitions/ManifestListAttributes"
+ }
+ },
+ "config": {
+ "description": "(V2, OCI) Image config descriptor",
+ "$ref": "#/definitions/Descriptor"
+ },
+ "layers": {
+ "type": "array",
+ "description": "(V2, OCI) List of V2 image layer information",
+ "items": {
+ "$ref": "#/definitions/Descriptor"
+ }
+ },
+ "annotations": {
+ "description": "(OCI, OCIIndex) Additional metadata",
+ "$ref": "#/definitions/Annotations"
+ },
+ "architecture": {
+ "type": "string",
+ "description": "(V1) CPU architecture"
+ },
+ "name": {
+ "type": "string",
+ "description": "(V1) Image name"
+ },
+ "tag": {
+ "type": "string",
+ "description": "(V1) Image tag"
+ },
+ "fsLayers": {
+ "type": "array",
+ "description": "(V1) List of layer information",
+ "items": {
+ "$ref": "#/definitions/FsLayer"
+ }
+ },
+ "history": {
+ "type": "array",
+ "description": "(V1) Image history",
+ "items": {
+ "$ref": "#/definitions/History"
+ }
+ },
+ "signatures": {
+ "type": "array",
+ "description": "(V1) Image signature",
+ "items": {
+ "$ref": "#/definitions/ImageSignature"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Manifest"
+ }
+ ]
+ },
+ "ManifestList": {
+ "x-ms-discriminator-value": "application/vnd.docker.distribution.manifest.list.v2+json",
+ "description": "Returns the requested Docker multi-arch-manifest file",
+ "x-accessibility": "internal",
+ "properties": {
+ "mediaType": {
+ "type": "string",
+ "description": "Media type for this Manifest"
+ },
+ "manifests": {
+ "type": "array",
+ "description": "List of V2 image layer information",
+ "items": {
+ "$ref": "#/definitions/ManifestListAttributes"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Manifest"
+ }
+ ]
+ },
+ "ManifestListAttributes": {
+ "x-accessibility": "internal",
+ "properties": {
+ "mediaType": {
+ "type": "string",
+ "description": "The MIME type of the referenced object. This will generally be application/vnd.docker.image.manifest.v2+json, but it could also be application/vnd.docker.image.manifest.v1+json"
+ },
+ "size": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The size in bytes of the object"
+ },
+ "digest": {
+ "type": "string",
+ "description": "The digest of the content, as defined by the Registry V2 HTTP API Specification"
+ },
+ "platform": {
+ "$ref": "#/definitions/Platform"
+ }
+ }
+ },
+ "Platform": {
+ "description": "The platform object describes the platform which the image in the manifest runs on. A full list of valid operating system and architecture values are listed in the Go language documentation for $GOOS and $GOARCH",
+ "x-accessibility": "internal",
+ "properties": {
+ "architecture": {
+ "type": "string",
+ "description": "Specifies the CPU architecture, for example amd64 or ppc64le."
+ },
+ "os": {
+ "type": "string",
+ "description": "The os field specifies the operating system, for example linux or windows."
+ },
+ "os.version": {
+ "type": "string",
+ "description": "The optional os.version field specifies the operating system version, for example 10.0.10586."
+ },
+ "os.features": {
+ "type": "array",
+ "description": "The optional os.features field specifies an array of strings, each listing a required OS feature (for example on Windows win32k",
+ "items": {
+ "type": "string"
+ }
+ },
+ "variant": {
+ "type": "string",
+ "description": "The optional variant field specifies a variant of the CPU, for example armv6l to specify a particular CPU variant of the ARM CPU."
+ },
+ "features": {
+ "type": "array",
+ "description": "The optional features field specifies an array of strings, each listing a required CPU feature (for example sse4 or aes",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "V2Manifest": {
+ "x-ms-discriminator-value": "application/vnd.docker.distribution.manifest.v2+json",
+ "x-accessibility": "internal",
+ "description": "Returns the requested Docker V2 Manifest file",
+ "properties": {
+ "mediaType": {
+ "type": "string",
+ "description": "Media type for this Manifest"
+ },
+ "config": {
+ "description": "V2 image config descriptor",
+ "$ref": "#/definitions/Descriptor"
+ },
+ "layers": {
+ "type": "array",
+ "description": "List of V2 image layer information",
+ "items": {
+ "$ref": "#/definitions/Descriptor"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Manifest"
+ }
+ ],
+ "example": {
+ "schemaVersion": 2,
+ "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
+ "config": {
+ "mediaType": "application/vnd.docker.container.image.v1+json",
+ "size": 1512,
+ "digest": "sha256:6d1ef012b5674ad8a127ecfa9b5e6f5178d171b90ee462846974177fd9bdd39f"
+ },
+ "layers": [
+ {
+ "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
+ "size": 2107098,
+ "digest": "sha256:5d20c808ce198565ff70b3ed23a991dd49afac45dece63474b27ce6ed036adc6"
+ }
+ ]
+ }
+ },
+ "OCIManifest": {
+ "x-ms-discriminator-value": "application/vnd.oci.image.manifest.v1+json",
+ "x-accessibility": "internal",
+ "description": "Returns the requested OCI Manifest file",
+ "properties": {
+ "config": {
+ "description": "V2 image config descriptor",
+ "$ref": "#/definitions/Descriptor"
+ },
+ "layers": {
+ "type": "array",
+ "description": "List of V2 image layer information",
+ "items": {
+ "$ref": "#/definitions/Descriptor"
+ }
+ },
+ "annotations": {
+ "$ref": "#/definitions/Annotations"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Manifest"
+ }
+ ]
+ },
+ "OCIIndex": {
+ "x-ms-discriminator-value": "application/vnd.oci.image.index.v1+json",
+ "x-accessibility": "internal",
+ "description": "Returns the requested OCI index file",
+ "properties": {
+ "manifests": {
+ "type": "array",
+ "description": "List of OCI image layer information",
+ "items": {
+ "$ref": "#/definitions/ManifestListAttributes"
+ }
+ },
+ "annotations": {
+ "$ref": "#/definitions/Annotations"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Manifest"
+ }
+ ]
+ },
+ "V1Manifest": {
+ "description": "Returns the requested V1 manifest file",
+ "x-ms-discriminator-value": "application/vnd.oci.image.manifest.v1+json",
+ "x-accessibility": "internal",
+ "properties": {
+ "architecture": {
+ "type": "string",
+ "description": "CPU architecture"
+ },
+ "name": {
+ "type": "string",
+ "description": "Image name"
+ },
+ "tag": {
+ "type": "string",
+ "description": "Image tag"
+ },
+ "fsLayers": {
+ "type": "array",
+ "description": "List of layer information",
+ "items": {
+ "$ref": "#/definitions/FsLayer"
+ }
+ },
+ "history": {
+ "type": "array",
+ "description": "Image history",
+ "items": {
+ "$ref": "#/definitions/History"
+ }
+ },
+ "signatures": {
+ "type": "array",
+ "description": "Image signature",
+ "items": {
+ "$ref": "#/definitions/ImageSignature"
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Manifest"
+ }
+ ]
+ },
+ "Annotations": {
+ "description": "Additional information provided through arbitrary metadata.",
+ "x-accessibility": "internal",
+ "type": "object",
+ "x-nullable": true,
+ "additionalProperties": {
+ "type": "object"
+ },
+ "properties": {
+ "org.opencontainers.image.created": {
+ "description": "Date and time on which the image was built (string, date-time as defined by https://tools.ietf.org/html/rfc3339#section-5.6)",
+ "type": "string",
+ "format": "date-time",
+ "x-ms-client-name": "Created"
+ },
+ "org.opencontainers.image.authors": {
+ "description": "Contact details of the people or organization responsible for the image.",
+ "type": "string",
+ "x-ms-client-name": "Authors"
+ },
+ "org.opencontainers.image.url": {
+ "description": "URL to find more information on the image.",
+ "type": "string",
+ "x-ms-client-name": "Url"
+ },
+ "org.opencontainers.image.documentation": {
+ "description": "URL to get documentation on the image.",
+ "type": "string",
+ "x-ms-client-name": "Documentation"
+ },
+ "org.opencontainers.image.source": {
+ "description": "URL to get source code for building the image.",
+ "type": "string",
+ "x-ms-client-name": "Source"
+ },
+ "org.opencontainers.image.version": {
+ "description": "Version of the packaged software. The version MAY match a label or tag in the source code repository, may also be Semantic versioning-compatible",
+ "type": "string",
+ "x-ms-client-name": "Version"
+ },
+ "org.opencontainers.image.revision": {
+ "description": "Source control revision identifier for the packaged software.",
+ "type": "string",
+ "x-ms-client-name": "Revision"
+ },
+ "org.opencontainers.image.vendor": {
+ "description": "Name of the distributing entity, organization or individual.",
+ "type": "string",
+ "x-ms-client-name": "Vendor"
+ },
+ "org.opencontainers.image.licenses": {
+ "description": "License(s) under which contained software is distributed as an SPDX License Expression.",
+ "type": "string",
+ "x-ms-client-name": "Licenses"
+ },
+ "org.opencontainers.image.ref.name": {
+ "description": "Name of the reference for a target.",
+ "type": "string",
+ "x-ms-client-name": "Name"
+ },
+ "org.opencontainers.image.title": {
+ "description": "Human-readable title of the image",
+ "type": "string",
+ "x-ms-client-name": "Title"
+ },
+ "org.opencontainers.image.description": {
+ "description": "Human-readable description of the software packaged in the image",
+ "type": "string",
+ "x-ms-client-name": "Description"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Url": {
+ "name": "url",
+ "x-ms-client-name": "loginUri",
+ "description": "Registry login URL",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ },
+ "ImageReference": {
+ "name": "reference",
+ "in": "path",
+ "description": "A tag or a digest, pointing to a specific image",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ManifestReference": {
+ "name": "reference",
+ "in": "path",
+ "description": "Tag or digest of the target manifest",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "TagReference": {
+ "name": "reference",
+ "in": "path",
+ "description": "Tag name",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "Digest": {
+ "name": "digest",
+ "in": "path",
+ "description": "Digest of a BLOB",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DigestReference": {
+ "name": "reference",
+ "in": "path",
+ "description": "Digest of a BLOB",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "BlobQueryDigest": {
+ "name": "digest",
+ "in": "query",
+ "description": "Digest of a BLOB",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "RepositoryAttributeValue": {
+ "name": "value",
+ "in": "body",
+ "description": "Repository attribute value",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/RepositoryChangeableAttributes"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "TagAttributeValue": {
+ "name": "value",
+ "in": "body",
+ "description": "Tag attribute value",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/TagChangeableAttributes"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "ManifestAttributeValue": {
+ "name": "value",
+ "in": "body",
+ "description": "Manifest attribute value",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ManifestChangeableAttributes"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "QueryOrderBy": {
+ "name": "orderby",
+ "in": "query",
+ "description": "orderby query parameter",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "QueryNum": {
+ "name": "n",
+ "in": "query",
+ "description": "query parameter for max number of items",
+ "required": false,
+ "type": "integer",
+ "x-ms-parameter-location": "method"
+ },
+ "QueryLast": {
+ "name": "last",
+ "in": "query",
+ "description": "Query parameter for the last item in previous query. Result set will include values lexically after last.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "QueryDigest": {
+ "name": "digest",
+ "in": "query",
+ "description": "filter by digest",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "Grant_type": {
+ "name": "grant_type",
+ "description": "Can take a value of access_token",
+ "type": "string",
+ "in": "formData",
+ "required": true,
+ "enum": [
+ "access_token"
+ ],
+ "x-ms-parameter-location": "method",
+ "x-accessibility": "internal"
+ },
+ "Service": {
+ "name": "service",
+ "in": "formData",
+ "required": true,
+ "description": "Indicates the name of your Azure container registry.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "Tenant": {
+ "name": "tenant",
+ "in": "formData",
+ "required": false,
+ "description": "AAD tenant associated to the AAD credentials.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "Scope": {
+ "name": "scope",
+ "in": "formData",
+ "required": true,
+ "description": "Which is expected to be a valid scope, and can be specified more than once for multiple scope requests. You can obtain this from the Www-Authenticate response header from the challenge.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "RefreshToken": {
+ "name": "refresh_token",
+ "in": "formData",
+ "required": false,
+ "description": "AAD refresh token, mandatory when grant_type is access_token_refresh_token or refresh_token",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AccessToken": {
+ "name": "access_token",
+ "x-ms-client-name": "aadAccessToken",
+ "in": "formData",
+ "required": true,
+ "description": "AAD access token, mandatory when grant_type is access_token_refresh_token or access_token.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ImageName": {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the image (including the namespace)",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ManifestBody": {
+ "description": "Manifest body, can take v1 or v2 values depending on accept header",
+ "name": "payload",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Manifest"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "RawData": {
+ "name": "value",
+ "description": "Raw data of blob",
+ "in": "body",
+ "schema": {
+ "type": "object",
+ "format": "file"
+ },
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "RawDataOptional": {
+ "name": "value",
+ "description": "Optional raw data of blob",
+ "in": "body",
+ "schema": {
+ "type": "object",
+ "format": "file"
+ },
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "From": {
+ "name": "from",
+ "type": "string",
+ "in": "query",
+ "description": "Name of the source repository.",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "Mount": {
+ "name": "mount",
+ "description": "Digest of blob to mount from the source repository.",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "Uuid": {
+ "name": "uuid",
+ "description": "A uuid identifying the upload.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "Content-Range": {
+ "name": "Content-Range",
+ "in": "header",
+ "description": "Range of bytes identifying the desired block of content represented by the body. Start must the end offset retrieved via status check plus one. Note that this is a non-standard use of the `Content-Range` header.",
+ "type": "string",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "Range": {
+ "name": "Range",
+ "type": "string",
+ "description": "Format : bytes=-, HTTP Range header specifying blob chunk.",
+ "in": "header",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "NoUploadCache": {
+ "description": "Acquired from NextLink",
+ "name": "_nouploadcache",
+ "in": "query",
+ "type": "boolean",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "State": {
+ "description": "Acquired from NextLink",
+ "name": "_state",
+ "in": "query",
+ "type": "string",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "NextLink": {
+ "name": "nextBlobUuidLink",
+ "x-ms-client-name": "location",
+ "type": "string",
+ "description": "Link acquired from upload start or previous chunk. Note, do not include initial / (must do substring(1) )",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/CancelBlobUpload.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/CancelBlobUpload.json
new file mode 100644
index 000000000000..1a32d216e7bd
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/CancelBlobUpload.json
@@ -0,0 +1,9 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "nextBlobUuidLink": "v2/blobland/blobs/uploads/2b28c60d-d296-44b7-b2b4-1f01c63195c6?_nouploadcache=false&_state=VYABvUSCNW2yY5e5VabLHppXqwU0K7cvT0YUdq57KBt7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIyYjI4YzYwZC1kMjk2LTQ0YjctYjJiNC0xZjAxYzYzMTk1YzYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDgtMjdUMjM6NTI6NDcuMDUzNjU2Mjg1WiJ9"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/CheckBlob.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/CheckBlob.json
new file mode 100644
index 000000000000..519425f52232
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/CheckBlob.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "prod/bash",
+ "digest": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Length": 5635
+ }
+ },
+ "307": {
+ "headers": {
+ "Location": "https://csharpsdktest.azurecr.io/v2/prod/bash/blobs/sha256:3131d2b2b3352091117a3abe745d01a3fed472b7327c3183602247937800e3a6"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/CheckBlobChunk.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/CheckBlobChunk.json
new file mode 100644
index 000000000000..49fddb0cd1b9
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/CheckBlobChunk.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "prod/bash",
+ "digest": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39",
+ "Range": "bytes=0-299"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Length": "300",
+ "Content-Range": "bytes 0-299/5635"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/CreateManifest.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/CreateManifest.json
new file mode 100644
index 000000000000..9009925c6027
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/CreateManifest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "hello-world",
+ "reference": "a20190628-081044z",
+ "payload": "{\"schemaVersion\":2,\"mediaType\":\"application/vnd.docker.distribution.manifest.v2+json\",\"config\":{\"mediaType\":\"application/vnd.docker.container.image.v1+json\",\"size\":1512,\"digest\":\"sha256:6d1ef012b5674ad8a127ecfa9b5e6f5178d171b90ee462846974177fd9bdd39f\"},\"layers\":[{\"mediaType\":\"application/vnd.docker.image.rootfs.diff.tar.gzip\",\"size\":2107098,\"digest\":\"sha256:5d20c808ce198565ff70b3ed23a991dd49afac45dece63474b27ce6ed036adc6\"}]}"
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Docker-Content-Digest": "sha256:15685c48490175b7dde62e6bfcfb54d9420c6495ea6404776e2facca3da93cd8",
+ "Location": "/v2/hello-world/manifests/sha256:15685c48490175b7dde62e6bfcfb54d9420c6495ea6404776e2facca3da93cd8",
+ "Content-Length": 0
+ },
+ "body": {}
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/DeleteAcrRepository.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/DeleteAcrRepository.json
new file mode 100644
index 000000000000..a827c298d237
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/DeleteAcrRepository.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver"
+ },
+ "responses": {
+ "202": {},
+ "404": {}
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/DeleteBlob.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/DeleteBlob.json
new file mode 100644
index 000000000000..8852e49d5c19
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/DeleteBlob.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "prod/bash",
+ "digest": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"
+ },
+ "responses": {
+ "202": {
+ "body": ""
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/DeleteManifest.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/DeleteManifest.json
new file mode 100644
index 000000000000..136be72af409
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/DeleteManifest.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "alpine",
+ "reference": "3.7"
+ },
+ "responses": {
+ "202": {},
+ "404": {}
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/DeleteTag.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/DeleteTag.json
new file mode 100644
index 000000000000..eda882dea680
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/DeleteTag.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver",
+ "reference": "4.7.2-20180905-nanoserver-1803"
+ },
+ "responses": {
+ "202": {},
+ "404": {}
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/EndBlobUpload.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/EndBlobUpload.json
new file mode 100644
index 000000000000..82f0c9c35538
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/EndBlobUpload.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "nextBlobUuidLink": "v2/blobland/blobs/uploads/2b28c60d-d296-44b7-b2b4-1f01c63195c6?_nouploadcache=false&_state=VYABvUSCNW2yY5e5VabLHppXqwU0K7cvT0YUdq57KBt7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIyYjI4YzYwZC1kMjk2LTQ0YjctYjJiNC0xZjAxYzYzMTk1YzYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDgtMjdUMjM6NTI6NDcuMDUzNjU2Mjg1WiJ9",
+ "digest": "sha256:a05a7abc31b0caadd5058069eaa623cdd0538512dbddacc7ca5bad73c3957c5e",
+ "value": "usuallyEmpty"
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "/v2/blobland/blobs/sha256:a05a7abc31b0caadd5058069eaa623cdd0538512dbddacc7ca5bad73c3957c5e",
+ "Docker-Content-Digest": "sha256:a05a7abc31b0caadd5058069eaa623cdd0538512dbddacc7ca5bad73c3957c5e"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetBlob.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetBlob.json
new file mode 100644
index 000000000000..b50eee9da47c
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetBlob.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "prod/bash",
+ "digest": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"
+ },
+ "responses": {
+ "200": {
+ "body": "eyJhcmNoaXRlY3R1cmUiOiJhbWQ2NCIsImNvbmZpZyI6eyJIb3N0bmFtZSI6IiIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJUdHkiOmZhbHNlLCJPcGVuU3RkaW4iOmZhbHNlLCJTdGRpbk9uY2UiOmZhbHNlLCJFbnYiOlsiUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4iLCJfQkFTSF9HUEdfS0VZPTdDMDEzNUZCMDg4QUFGNkM2NkM2NTBCOUJCNTg2OUYwNjRFQTc0QUIiLCJfQkFTSF9WRVJTSU9OPTUuMCIsIl9CQVNIX1BBVENIX0xFVkVMPTAiLCJfQkFTSF9MQVRFU1RfUEFUQ0g9NyJdLCJDbWQiOlsiYmFzaCJdLCJBcmdzRXNjYXBlZCI6dHJ1ZSwiSW1hZ2UiOiJzaGEyNTY6MzhhZDJmYmM5ZjljMGE4N2RmZTBhMmIxOWJkY2E5NGJlNDVmNDY2M2Y3M2ZkMDlmZWZlZTQ5MmFmZDJjMDE0NCIsIlZvbHVtZXMiOm51bGwsIldvcmtpbmdEaXIiOiIiLCJFbnRyeXBvaW50IjpbImRvY2tlci1lbnRyeXBvaW50LnNoIl0sIk9uQnVpbGQiOm51bGwsIkxhYmVscyI6bnVsbH0sImNvbnRhaW5lciI6IjRiMDU0NmZhNDlkZjVkY2FlZDViNjYzNzE3ZjQ0MmNlZjcxYTFiOTVjMGZmYjQyYzhjNWNlNzIzMWI5MGMwMjYiLCJjb250YWluZXJfY29uZmlnIjp7Ikhvc3RuYW1lIjoiNGIwNTQ2ZmE0OWRmIiwiRG9tYWlubmFtZSI6IiIsIlVzZXIiOiIiLCJBdHRhY2hTdGRpbiI6ZmFsc2UsIkF0dGFjaFN0ZG91dCI6ZmFsc2UsIkF0dGFjaFN0ZGVyciI6ZmFsc2UsIlR0eSI6ZmFsc2UsIk9wZW5TdGRpbiI6ZmFsc2UsIlN0ZGluT25jZSI6ZmFsc2UsIkVudiI6WyJQQVRIPS91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL3NiaW46L3Vzci9iaW46L3NiaW46L2JpbiIsIl9CQVNIX0dQR19LRVk9N0MwMTM1RkIwODhBQUY2QzY2QzY1MEI5QkI1ODY5RjA2NEVBNzRBQiIsIl9CQVNIX1ZFUlNJT049NS4wIiwiX0JBU0hfUEFUQ0hfTEVWRUw9MCIsIl9CQVNIX0xBVEVTVF9QQVRDSD03Il0sIkNtZCI6WyIvYmluL3NoIiwiLWMiLCIjKG5vcCkgIiwiQ01EIFtcImJhc2hcIl0iXSwiQXJnc0VzY2FwZWQiOnRydWUsIkltYWdlIjoic2hhMjU2OjM4YWQyZmJjOWY5YzBhODdkZmUwYTJiMTliZGNhOTRiZTQ1ZjQ2NjNmNzNmZDA5ZmVmZWU0OTJhZmQyYzAxNDQiLCJWb2x1bWVzIjpudWxsLCJXb3JraW5nRGlyIjoiIiwiRW50cnlwb2ludCI6WyJkb2NrZXItZW50cnlwb2ludC5zaCJdLCJPbkJ1aWxkIjpudWxsLCJMYWJlbHMiOnt9fSwiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTY6MDYuNTI3NTE1OTAyWiIsImRvY2tlcl92ZXJzaW9uIjoiMTguMDYuMS1jZSIsImhpc3RvcnkiOlt7ImNyZWF0ZWQiOiIyMDE5LTA3LTExVDIyOjIwOjUyLjEzOTcwOTM1NVoiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgQUREIGZpbGU6MGViNWVhMzU3NDFkMjNmZTM5Y2JhYzI0NWIzYTVkODQ4NTZlZDYzODRmNGZmMDdkNDk2MzY5ZWU2ZDk2MGJhZCBpbiAvICJ9LHsiY3JlYXRlZCI6IjIwMTktMDctMTFUMjI6MjA6NTIuMzc1Mjg2NDA0WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgQ01EIFtcIi9iaW4vc2hcIl0iLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNToxMy41Njc2Njk4MTJaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBFTlYgX0JBU0hfR1BHX0tFWT03QzAxMzVGQjA4OEFBRjZDNjZDNjUwQjlCQjU4NjlGMDY0RUE3NEFCIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTU6MTMuNzQ1NjUyMDk4WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5WIF9CQVNIX1ZFUlNJT049NS4wIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTU6MTMuOTQwNDU1NDE5WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5WIF9CQVNIX1BBVENIX0xFVkVMPTAiLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNToxNC4wOTkzMDAwNzVaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBFTlYgX0JBU0hfTEFURVNUX1BBVENIPTciLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNjowNS45Mjg0MjkyNjJaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgc2V0IC1ldXg7IFx0XHRhcGsgYWRkIC0tbm8tY2FjaGUgLS12aXJ0dWFsIC5idWlsZC1kZXBzIFx0XHRiaXNvbiBcdFx0Y29yZXV0aWxzIFx0XHRkcGtnLWRldiBkcGtnIFx0XHRnY2MgXHRcdGdudXBnIFx0XHRsaWJjLWRldiBcdFx0bWFrZSBcdFx0bmN1cnNlcy1kZXYgXHRcdHBhdGNoIFx0XHR0YXIgXHQ7IFx0XHR2ZXJzaW9uPVwiJF9CQVNIX1ZFUlNJT05cIjsgXHRpZiBbIFwiJF9CQVNIX1BBVENIX0xFVkVMXCIgLWd0IDAgXTsgdGhlbiBcdFx0dmVyc2lvbj1cIiR2ZXJzaW9uLiRfQkFTSF9QQVRDSF9MRVZFTFwiOyBcdGZpOyBcdHdnZXQgLU8gYmFzaC50YXIuZ3ogXCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJHZlcnNpb24udGFyLmd6XCI7IFx0d2dldCAtTyBiYXNoLnRhci5nei5zaWcgXCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJHZlcnNpb24udGFyLmd6LnNpZ1wiOyBcdFx0aWYgWyBcIiRfQkFTSF9MQVRFU1RfUEFUQ0hcIiAtZ3QgXCIkX0JBU0hfUEFUQ0hfTEVWRUxcIiBdOyB0aGVuIFx0XHRta2RpciAtcCBiYXNoLXBhdGNoZXM7IFx0XHRmaXJzdD1cIiQocHJpbnRmICclMDNkJyBcIiQoKCBfQkFTSF9QQVRDSF9MRVZFTCArIDEgKSlcIilcIjsgXHRcdGxhc3Q9XCIkKHByaW50ZiAnJTAzZCcgXCIkX0JBU0hfTEFURVNUX1BBVENIXCIpXCI7IFx0XHRmb3IgcGF0Y2ggaW4gJChzZXEgLXcgXCIkZmlyc3RcIiBcIiRsYXN0XCIpOyBkbyBcdFx0XHR1cmw9XCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJF9CQVNIX1ZFUlNJT04tcGF0Y2hlcy9iYXNoJHtfQkFTSF9WRVJTSU9OLy8uL30tJHBhdGNoXCI7IFx0XHRcdHdnZXQgLU8gXCJiYXNoLXBhdGNoZXMvJHBhdGNoXCIgXCIkdXJsXCI7IFx0XHRcdHdnZXQgLU8gXCJiYXNoLXBhdGNoZXMvJHBhdGNoLnNpZ1wiIFwiJHVybC5zaWdcIjsgXHRcdGRvbmU7IFx0Zmk7IFx0XHRleHBvcnQgR05VUEdIT01FPVwiJChta3RlbXAgLWQpXCI7IFx0Z3BnIC0tYmF0Y2ggLS1rZXlzZXJ2ZXIgaGEucG9vbC5za3Mta2V5c2VydmVycy5uZXQgLS1yZWN2LWtleXMgXCIkX0JBU0hfR1BHX0tFWVwiOyBcdGdwZyAtLWJhdGNoIC0tdmVyaWZ5IGJhc2gudGFyLmd6LnNpZyBiYXNoLnRhci5nejsgXHRncGdjb25mIC0ta2lsbCBhbGw7IFx0cm0gYmFzaC50YXIuZ3ouc2lnOyBcdGlmIFsgLWQgYmFzaC1wYXRjaGVzIF07IHRoZW4gXHRcdGZvciBzaWcgaW4gYmFzaC1wYXRjaGVzLyouc2lnOyBkbyBcdFx0XHRwPVwiJHtzaWclLnNpZ31cIjsgXHRcdFx0Z3BnIC0tYmF0Y2ggLS12ZXJpZnkgXCIkc2lnXCIgXCIkcFwiOyBcdFx0XHRybSBcIiRzaWdcIjsgXHRcdGRvbmU7IFx0Zmk7IFx0cm0gLXJmIFwiJEdOVVBHSE9NRVwiOyBcdFx0bWtkaXIgLXAgL3Vzci9zcmMvYmFzaDsgXHR0YXIgXHRcdC0tZXh0cmFjdCBcdFx0LS1maWxlPWJhc2gudGFyLmd6IFx0XHQtLXN0cmlwLWNvbXBvbmVudHM9MSBcdFx0LS1kaXJlY3Rvcnk9L3Vzci9zcmMvYmFzaCBcdDsgXHRybSBiYXNoLnRhci5nejsgXHRcdGlmIFsgLWQgYmFzaC1wYXRjaGVzIF07IHRoZW4gXHRcdGZvciBwIGluIGJhc2gtcGF0Y2hlcy8qOyBkbyBcdFx0XHRwYXRjaCBcdFx0XHRcdC0tZGlyZWN0b3J5PS91c3Ivc3JjL2Jhc2ggXHRcdFx0XHQtLWlucHV0PVwiJChyZWFkbGluayAtZiBcIiRwXCIpXCIgXHRcdFx0XHQtLXN0cmlwPTAgXHRcdFx0OyBcdFx0XHRybSBcIiRwXCI7IFx0XHRkb25lOyBcdFx0cm1kaXIgYmFzaC1wYXRjaGVzOyBcdGZpOyBcdFx0Y2QgL3Vzci9zcmMvYmFzaDsgXHRnbnVBcmNoPVwiJChkcGtnLWFyY2hpdGVjdHVyZSAtLXF1ZXJ5IERFQl9CVUlMRF9HTlVfVFlQRSlcIjsgXHQuL2NvbmZpZ3VyZSBcdFx0LS1idWlsZD1cIiRnbnVBcmNoXCIgXHRcdC0tZW5hYmxlLXJlYWRsaW5lIFx0XHQtLXdpdGgtY3Vyc2VzIFx0XHQtLXdpdGhvdXQtYmFzaC1tYWxsb2MgXHR8fCB7IFx0XHRjYXQgXHUwMDNlXHUwMDI2MiBjb25maWcubG9nOyBcdFx0ZmFsc2U7IFx0fTsgXHRtYWtlIC1qIFwiJChucHJvYylcIjsgXHRtYWtlIGluc3RhbGw7IFx0Y2QgLzsgXHRybSAtciAvdXNyL3NyYy9iYXNoOyBcdFx0cm0gLXIgXHRcdC91c3IvbG9jYWwvc2hhcmUvZG9jL2Jhc2gvKi5odG1sIFx0XHQvdXNyL2xvY2FsL3NoYXJlL2luZm8gXHRcdC91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIFx0XHQvdXNyL2xvY2FsL3NoYXJlL21hbiBcdDsgXHRcdHJ1bkRlcHM9XCIkKCBcdFx0c2NhbmVsZiAtLW5lZWRlZCAtLW5vYmFubmVyIC0tZm9ybWF0ICclbiNwJyAtLXJlY3Vyc2l2ZSAvdXNyL2xvY2FsIFx0XHRcdHwgdHIgJywnICdcXG4nIFx0XHRcdHwgc29ydCAtdSBcdFx0XHR8IGF3ayAnc3lzdGVtKFwiWyAtZSAvdXNyL2xvY2FsL2xpYi9cIiAkMSBcIiBdXCIpID09IDAgeyBuZXh0IH0geyBwcmludCBcInNvOlwiICQxIH0nIFx0KVwiOyBcdGFwayBhZGQgLS1uby1jYWNoZSAtLXZpcnR1YWwgLmJhc2gtcnVuZGVwcyAkcnVuRGVwczsgXHRhcGsgZGVsIC5idWlsZC1kZXBzOyBcdFx0WyBcIiQod2hpY2ggYmFzaClcIiA9ICcvdXNyL2xvY2FsL2Jpbi9iYXNoJyBdOyBcdGJhc2ggLS12ZXJzaW9uOyBcdFsgXCIkKGJhc2ggLWMgJ2VjaG8gXCIke0JBU0hfVkVSU0lPTiUlW14wLTkuXSp9XCInKVwiID0gXCIke19CQVNIX1ZFUlNJT04lJS0qfS4kX0JBU0hfTEFURVNUX1BBVENIXCIgXTsifSx7ImNyZWF0ZWQiOiIyMDE5LTA3LTEzVDAxOjE2OjA2LjE2NDEyODQxMloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgQ09QWSBmaWxlOjY1MWIzYmViZWJhOGJlOTE2MmM1NmIzZWI1NjExOTk5MDUyMzVmM2UxYzc4MTEyMzJiNmM5ZjQ4YWMzMzM2NTEgaW4gL3Vzci9sb2NhbC9iaW4vICJ9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTY6MDYuMzE5Mzc1ODg0WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5UUllQT0lOVCBbXCJkb2NrZXItZW50cnlwb2ludC5zaFwiXSIsImVtcHR5X2xheWVyIjp0cnVlfSx7ImNyZWF0ZWQiOiIyMDE5LTA3LTEzVDAxOjE2OjA2LjUyNzUxNTkwMloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgIENNRCBbXCJiYXNoXCJdIiwiZW1wdHlfbGF5ZXIiOnRydWV9XSwib3MiOiJsaW51eCIsInJvb3RmcyI6eyJ0eXBlIjoibGF5ZXJzIiwiZGlmZl9pZHMiOlsic2hhMjU2OjFiZmVlYmQ2NTMyM2I4ZGRmNWJkNmE1MWNjNzA5N2I3Mjc4OGJjOTgyZTlhYjMyODBkNTNkM2M2MTNhZGZmYTciLCJzaGEyNTY6NDgzYzk4MGFjNmFiZjYzZmM0ZDcyNjJiMTdhMTk1NGQ2MjI2NmRhYzMwMjliNWJlMzg0ZDAzYjM5MjI5ODAzZSIsInNoYTI1Njo1ZjVmOTNhOTMzMDUyMTBhOTZjYzQxN2Y1NzlkNzBhNDk2YmJmMGRiOGU4MGVhMWU5NDM2NjgyYzM3OWYyNWQ5Il19fQ==",
+ "headers": {
+ "Content-Length": 5635
+ }
+ },
+ "307": {
+ "headers": {
+ "Location": "https://csharpsdktest.azurecr.io/v2/prod/bash/blobs/sha256:3131d2b2b3352091117a3abe745d01a3fed472b7327c3183602247937800e3a6"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetBlobChunk.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetBlobChunk.json
new file mode 100644
index 000000000000..12671ea6b036
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetBlobChunk.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "prod/bash",
+ "digest": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39",
+ "Range": "bytes=0-299"
+ },
+ "responses": {
+ "206": {
+ "body": "eyJhcmNoaXRlY3R1cmUiOiJhbWQ2NCIsImNvbmZpZyI6eyJIb3N0bmFtZSI6IiIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJUdHkiOmZhbHNlLCJPcGVuU3RkaW4iOmZhbHNlLCJTdGRpbk9uY2UiOmZhbHNlLCJFbnYiOlsiUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4iLCJfQkFTSF9HUEdfS0VZPTdDMDEzNUZCMDg4QUFGNkM2NkM2NTBCOUJC",
+ "headers": {
+ "Content-Length": "300",
+ "Content-Range": "bytes 0-299/5635"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetBlobStatus.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetBlobStatus.json
new file mode 100644
index 000000000000..03da3ca3fcd9
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetBlobStatus.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "nextBlobUuidLink": "v2/blobland/blobs/uploads/2b28c60d-d296-44b7-b2b4-1f01c63195c6?_nouploadcache=false&_state=VYABvUSCNW2yY5e5VabLHppXqwU0K7cvT0YUdq57KBt7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIyYjI4YzYwZC1kMjk2LTQ0YjctYjJiNC0xZjAxYzYzMTk1YzYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDgtMjdUMjM6NTI6NDcuMDUzNjU2Mjg1WiJ9"
+ },
+ "responses": {
+ "204": {
+ "headers": {
+ "Range": "0-0",
+ "Docker-Upload-Uuid": "2b28c60d-d296-44b7-b2b4-1f01c63195c6"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetDockerRegistryV2Support.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetDockerRegistryV2Support.json
new file mode 100644
index 000000000000..181e2eec438e
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetDockerRegistryV2Support.json
@@ -0,0 +1,8 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetManifest.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetManifest.json
new file mode 100644
index 000000000000..21e956b58cf3
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetManifest.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "hello-world-dangling",
+ "reference": "20190628-033033z",
+ "accept": "application/vnd.docker.distribution.manifest.v2+json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "schemaVersion": 2
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetManifestAttributes.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetManifestAttributes.json
new file mode 100644
index 000000000000..980d97942be7
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetManifestAttributes.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver",
+ "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "registry": "acrapi.azurecr-test.io",
+ "imageName": "nanoserver",
+ "manifest": {
+ "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086",
+ "imageSize": 2401606,
+ "createdTime": "2018-09-06T06:17:20.9983915Z",
+ "lastUpdateTime": "2018-09-06T06:17:20.9983915Z",
+ "architecture": "amd64",
+ "os": "windows",
+ "tags": [
+ "4.7.2-20180905-nanoserver-1803"
+ ],
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": true,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetManifestList.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetManifestList.json
new file mode 100644
index 000000000000..7b82d487513a
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetManifestList.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "registry": "acrapi.azurecr-test.io",
+ "imageName": "nanoserver",
+ "manifests": [
+ {
+ "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086",
+ "imageSize": 2401606,
+ "createdTime": "2018-09-06T06:17:20.9983915Z",
+ "lastUpdateTime": "2018-09-06T06:17:20.9983915Z",
+ "architecture": "amd64",
+ "os": "windows",
+ "tags": [
+ "4.7.2-20180905-nanoserver-1803"
+ ],
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": true,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ },
+ {
+ "digest": "sha256:7af5cd1dde3e8f5c2c9103860afa4ca871a6075373b6564b0e7b1b47866dab52",
+ "imageSize": 4135121,
+ "createdTime": "2018-09-07T16:30:46.5651701Z",
+ "lastUpdateTime": "2018-09-07T16:30:46.5651701Z",
+ "architecture": "amd64",
+ "os": "windows",
+ "tags": [
+ "4.7.2-20180906-nanoserver-1803"
+ ],
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": true,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetRepositoryAttributes.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetRepositoryAttributes.json
new file mode 100644
index 000000000000..c6791683bfd2
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetRepositoryAttributes.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "registry": "acrapi.azurecr-test.io",
+ "imageName": "nanoserver",
+ "createdTime": "2018-09-06T06:17:20.9531248Z",
+ "lastUpdateTime": "2018-09-07T16:30:46.6583219Z",
+ "manifestCount": 2,
+ "tagCount": 2,
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": true,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetRepositoryList.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetRepositoryList.json
new file mode 100644
index 000000000000..4b6864e0ea95
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetRepositoryList.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "repositories": [
+ "production/alpine",
+ "testing/alpine"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetTagAttributes.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetTagAttributes.json
new file mode 100644
index 000000000000..6238aebb8b96
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetTagAttributes.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "test/bash",
+ "reference": "sha256:eabe547f78d4c18c708dd97ec3166cf7464cc651f1cbb67e7afas407405b7ad7b6"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "registry": "acrapi.azurecr-test.io",
+ "imageName": "test/bash",
+ "tag": {
+ "name": "tagName",
+ "digest": "sha256:eabe547f78d4c18c708dd97ec3166cf7464cc651f1cbb67e70d407405b7ad7b6",
+ "createdTime": "2018-10-05T20:54:24.1286047Z",
+ "lastUpdateTime": "2018-10-05T20:54:24.1286047Z",
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": false,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetTagList.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetTagList.json
new file mode 100644
index 000000000000..54af71dbac6a
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/GetTagList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "registry": "acrapi.azurecr-test.io",
+ "imageName": "nanoserver",
+ "tags": [
+ {
+ "name": "4.7.2-20180905-nanoserver-1803",
+ "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086",
+ "createdTime": "2018-09-06T06:17:21.0856539Z",
+ "lastUpdateTime": "2018-09-06T06:17:21.0856539Z",
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": true,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ },
+ {
+ "name": "4.7.2-20180906-nanoserver-1803",
+ "digest": "sha256:7af5cd1dde3e8f5c2c9103860afa4ca871a6075373b6564b0e7b1b47866dab52",
+ "createdTime": "2018-09-06T16:30:43.3860166Z",
+ "lastUpdateTime": "2018-09-07T16:30:46.7022734Z",
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": true,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/MountBlob.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/MountBlob.json
new file mode 100644
index 000000000000..45623b98265b
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/MountBlob.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "newimage",
+ "mount": "prod/bash",
+ "from": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "/v2/somethingnew/blobs/sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39",
+ "Docker-Content-Digest": "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/PostAccessToken.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/PostAccessToken.json
new file mode 100644
index 000000000000..a4e6293133b5
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/PostAccessToken.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "grant_type": "refresh_token",
+ "service": "someregistry.azurecr.io",
+ "scope": "registry:catalog:*",
+ "refresh_token": "eyJ0eXAiOiJKJhbGci1dCI6IkN0ZlFDOExlLTMejlnIiwidGlkIjoiNzJmOTgWItMmQ3Y2QwMTFkYjQ3Ii..."
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "access_token": "eyJ0eXAiOiJKJhbGcigdCI6IkN0ZlFaOExlLTMejlnIiwidGlkIjoiNzbmOTgWItMmQ3Y2QwMTFkYjQ3Ii..."
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/PostRefreshToken.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/PostRefreshToken.json
new file mode 100644
index 000000000000..4176aaccecfd
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/PostRefreshToken.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "grant_type": "access_token",
+ "url": "acrapi.azurecr-test.io",
+ "service": "someregistry.azurecr.io",
+ "tenant": "02f900bf-86f1-31af-p1ab-2b7cd0nndb47",
+ "access_token": "eyJ0eXAiOiJKJhbGci1dCI6IkN0ZlFDOExlLTMejlnIiwidGlkIjoiNzJmOTgWItMmQ3Y2QwMTFkYjQ3Ii..."
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "refresh_token": "eyJ0eXAiOiJKJhbGcigdCI6IkN0ZlFaOExlLTMejlnIiwidGlkIjoiNzbmOTgWItMmQ3Y2QwMTFkYjQ3Ii..."
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/StartBlobUpload.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/StartBlobUpload.json
new file mode 100644
index 000000000000..38d70c467e5f
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/StartBlobUpload.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "newimg"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "/v2/blobland/blobs/uploads/f6d3451c-3352-43ff-b67c-fd0cfc793066?_nouploadcache=false&_state=iWTaVpaWiz23JTt8ZsYFPEU5JwLOFgdumWOmqGxIYGt7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiJmNmQzNDUxYy0zMzUyLTQzZmYtYjY3Yy1mZDBjZmM3OTMwNjYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDgtMjdUMjM6NTI6NTQuNTM1MDQ5ODY1WiJ9",
+ "Range": "0-0",
+ "Docker-Upload-Uuid": "f6d3451c-3352-43ff-b67c-fd0cfc793066"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/UpdateManifestAttributes.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/UpdateManifestAttributes.json
new file mode 100644
index 000000000000..83e9868d303f
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/UpdateManifestAttributes.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver",
+ "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086",
+ "value": {
+ "writeEnabled": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "registry": "acrapi.azurecr-test.io",
+ "imageName": "nanoserver",
+ "manifest": {
+ "digest": "sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086",
+ "imageSize": 2401606,
+ "createdTime": "2018-09-06T06:17:20.9983915Z",
+ "lastUpdateTime": "2018-09-06T06:17:20.9983915Z",
+ "architecture": "amd64",
+ "os": "windows",
+ "tags": [
+ "4.7.2-20180905-nanoserver-1803"
+ ],
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": false,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/UpdateRepositoryAttributes.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/UpdateRepositoryAttributes.json
new file mode 100644
index 000000000000..8077b21fbdd9
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/UpdateRepositoryAttributes.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver",
+ "value": {
+ "writeEnabled": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "registry": "acrapi.azurecr-test.io",
+ "imageName": "nanoserver",
+ "createdTime": "2018-09-06T06:17:20.9531248Z",
+ "lastUpdateTime": "2018-09-07T16:30:46.6583219Z",
+ "manifestCount": 2,
+ "tagCount": 2,
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": false,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/UpdateTagAttributes.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/UpdateTagAttributes.json
new file mode 100644
index 000000000000..37f164b29436
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/UpdateTagAttributes.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "name": "nanoserver",
+ "reference": "4.7.2-20180905-nanoserver-1803",
+ "value": "{\"writeEnabled\": false}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "registry": "acrapi.azurecr-test.io",
+ "imageName": "test/bash",
+ "tag": {
+ "name": "tagName",
+ "digest": "sha256:eabe547f78d4c18c708dd97ec3166cf7464cc651f1cbb67e70d407405b7ad7b6",
+ "createdTime": "2018-10-05T20:54:24.1286047Z",
+ "lastUpdateTime": "2018-10-05T20:54:24.1286047Z",
+ "changeableAttributes": {
+ "deleteEnabled": true,
+ "writeEnabled": false,
+ "readEnabled": true,
+ "listEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/UploadBlob.json b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/UploadBlob.json
new file mode 100644
index 000000000000..7add0750729c
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/preview/2019-08-15-preview/examples/UploadBlob.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "url": "acrapi.azurecr-test.io",
+ "nextBlobUuidLink": "v2/blobland/blobs/uploads/2b28c60d-d296-44b7-b2b4-1f01c63195c6?_nouploadcache=false&_state=VYABvUSCNW2yY5e5VabLHppXqwU0K7cvT0YUdq57KBt7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIyYjI4YzYwZC1kMjk2LTQ0YjctYjJiNC0xZjAxYzYzMTk1YzYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDgtMjdUMjM6NTI6NDcuMDUzNjU2Mjg1WiJ9",
+ "value": "U29tZXRoaW5nRWxzZQ=="
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "/v2/blobland/blobs/uploads/f6d3451c-3352-43ff-b67c-fd0cfc793066?_nouploadcache=false&_state=9G2t2KQOw-ANeo5TrnwVb5OeAUIe0NaEJ2jxwLT6Y1J7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiJmNmQzNDUxYy0zMzUyLTQzZmYtYjY3Yy1mZDBjZmM3OTMwNjYiLCJPZmZzZXQiOjEzLCJTdGFydGVkQXQiOiIyMDE5LTA4LTI3VDIzOjUyOjU0WiJ9",
+ "Range": "0-12",
+ "Docker-Upload-Uuid": "f6d3451c-3352-43ff-b67c-fd0cfc793066"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/data-plane/Azure.ContainerRegistry/readme.md b/specification/containerregistry/data-plane/Azure.ContainerRegistry/readme.md
new file mode 100644
index 000000000000..81347188f7fa
--- /dev/null
+++ b/specification/containerregistry/data-plane/Azure.ContainerRegistry/readme.md
@@ -0,0 +1,148 @@
+# ContainerRegistry
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for ContainerRegistry.
+
+---
+
+## Configuration
+
+### Basic Information
+
+These are the global settings for the ContainerRegistry API.
+
+``` yaml
+# common
+title: ContainerRegistryClient
+openapi-type: data-plane
+tag: package-2019-08
+```
+### Tag: package-2019-08
+
+These settings apply only when `--tag=package-2019-08` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-08'
+input-file: preview/2019-08-15-preview/containerregistry.json
+```
+
+---
+# Code Generation
+
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+
+``` yaml $(csharp)
+csharp: true
+model-namespace: false
+directive:
+ - from: containerregistry.json
+ where: $.definitions.DeletedRepository
+ transform: >
+ $["x-accessibility"] = "internal"
+
+ - from: containerregistry.json
+ where: $.definitions.ManifestAttributes_manifest_references
+ transform: >
+ $["x-accessibility"] = "internal"
+```
+
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+
+``` yaml $(java)
+java: true
+```
+
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+
+``` yaml $(typescript)
+typescript: true
+v3: true
+package-name: "@azure/container-registry"
+title: GeneratedClient
+description: Container Registry Client
+generate-metadata: false
+license-header: MICROSOFT_MIT_NO_VERSION
+add-credentials: false
+override-client-name: GeneratedClient
+disable-async-iterators: true
+hide-clients: true
+use-extension:
+ "@autorest/typescript": "6.0.0-beta.4"
+output-folder: ../
+source-code-folder-path: ./src/generated
+```
+
+## Python
+These settings apply only when `--python` is specified on the command line.
+
+``` yaml $(python)
+python: true
+```
+
+## Suppression
+
+``` yaml
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ from: containerregistry.json
+ where: $.definitions.AccessToken.properties.access_token
+ reason: Property name is used in compliance with Docker's own specs for compatibility purposes. Specifics https://docs.docker.com/registry/spec/auth/oauth/
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ from: containerregistry.json
+ where: $.definitions.RefreshToken.properties.refresh_token
+ reason: Property name is used in compliance with Docker's own specs for compatibility purposes. Specifics https://docs.docker.com/registry/spec/auth/oauth/
+ - suppress: LROStatusCodesReturnTypeSchema
+ reason: No content is returned by put Manifest in compliance with Docker's own specs for compatibility purposes. Specifics https://docs.docker.com/registry/spec/api/#put-manifest
+ from: containerregistry.json
+ where: $.paths["/v2/{name}/manifests/{reference}"].put.responses["201"]
+ - suppress: LROStatusCodesReturnTypeSchema
+ reason: No content is returned by put End Upload in compliance with Docker's own specs for compatibility purposes. Specifics https://docs.docker.com/v17.12/registry/spec/api/
+ from: containerregistry.json
+ where: $.paths["/{nextBlobUuidLink}"].put.responses["201"]
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: These default values are specified by the Open Container Initiative. Used for cross compatibility. Specifics https://github.com/opencontainers/image-spec/blob/master/annotations.md#rules
+ from: containerregistry.json
+ where:
+ - $.definitions.Platform.properties["os.version"]
+ - $.definitions.Platform.properties["os.features"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.created"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.authors"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.url"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.documentation"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.source"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.version"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.revision"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.vendor"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.licenses"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.ref.name"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.title"]
+ - $.definitions.Annotations.properties["org.opencontainers.image.description"]
+ - suppress: RequiredReadOnlyProperties
+ reason: These are used in output types to mark readonly properties as non-optional. It should be allowed https://github.com/Azure/azure-openapi-validator/issues/243
+ from: containerregistry.json
+ where:
+ - $.definitions.RepositoryAttributes.properties["registry"]
+ - $.definitions.RepositoryAttributes.properties["imageName"]
+ - $.definitions.RepositoryAttributes.properties["createdTime"]
+ - $.definitions.RepositoryAttributes.properties["lastUpdateTime"]
+ - $.definitions.RepositoryAttributes.properties["manifestCount"]
+ - $.definitions.RepositoryAttributes.properties["tagCount"]
+ - $.definitions.TagAttributes.properties["registry"]
+ - $.definitions.TagAttributes.properties["imageName"]
+ - $.definitions.TagAttributes.properties["tag"]
+ - $.definitions.TagAttributesBase.properties["name"]
+ - $.definitions.TagAttributesBase.properties["digest"]
+ - $.definitions.TagAttributesBase.properties["createdTime"]
+ - $.definitions.TagAttributesBase.properties["lastUpdateTime"]
+ - $.definitions.ManifestAttributes_manifest_references.properties["digest"]
+ - $.definitions.ManifestAttributesBase.properties["digest"]
+ - $.definitions.ManifestAttributesBase.properties["createdTime"]
+ - $.definitions.ManifestAttributesBase.properties["lastUpdateTime"]
+ - $.definitions.ManifestAttributes.properties["manifest"]
+```
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json
new file mode 100644
index 000000000000..fe45fa370537
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json
@@ -0,0 +1,5953 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-06-01-preview",
+ "title": "ContainerRegistryManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/connectedRegistries/{connectedRegistryName}": {
+ "get": {
+ "tags": [
+ "ConnectedRegistries"
+ ],
+ "description": "Gets the properties of the connected registry.",
+ "operationId": "ConnectedRegistries_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConnectedRegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConnectedRegistry"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConnectedRegistryGet": {
+ "$ref": "./examples/ConnectedRegistryGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ConnectedRegistries"
+ ],
+ "description": "Creates a connected registry for a container registry with the specified parameters.",
+ "operationId": "ConnectedRegistries_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConnectedRegistryNameParameter"
+ },
+ {
+ "name": "connectedRegistryCreateParameters",
+ "in": "body",
+ "description": "The parameters for creating a connectedRegistry.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectedRegistry"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConnectedRegistry"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ConnectedRegistry"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConnectedRegistryCreate": {
+ "$ref": "./examples/ConnectedRegistryCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "ConnectedRegistries"
+ ],
+ "description": "Deletes a connected registry from a container registry.",
+ "operationId": "ConnectedRegistries_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConnectedRegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The webhook does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConnectedRegistryDelete": {
+ "$ref": "./examples/ConnectedRegistryDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ConnectedRegistries"
+ ],
+ "description": "Updates a connected registry with the specified parameters.",
+ "operationId": "ConnectedRegistries_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConnectedRegistryNameParameter"
+ },
+ {
+ "name": "connectedRegistryUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a connectedRegistry.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectedRegistryUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConnectedRegistry"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ConnectedRegistry"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConnectedRegistryUpdate": {
+ "$ref": "./examples/ConnectedRegistryUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/connectedRegistries": {
+ "get": {
+ "tags": [
+ "ConnectedRegistries"
+ ],
+ "description": "Lists all connected registries for the specified container registry.",
+ "operationId": "ConnectedRegistries_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConnectedRegistryFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConnectedRegistryListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConnectedRegistryList": {
+ "$ref": "./examples/ConnectedRegistryList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/connectedRegistries/{connectedRegistryName}/deactivate": {
+ "post": {
+ "tags": [
+ "ConnectedRegistries"
+ ],
+ "description": "Deactivates the connected registry instance.",
+ "operationId": "ConnectedRegistries_Deactivate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConnectedRegistryNameParameter"
+ }
+ ],
+ "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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConnectedRegistryDeactivate": {
+ "$ref": "./examples/ConnectedRegistryDeactivate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/exportPipelines/{exportPipelineName}": {
+ "get": {
+ "tags": [
+ "ExportPipelines"
+ ],
+ "description": "Gets the properties of the export pipeline.",
+ "operationId": "ExportPipelines_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExportPipelineNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ExportPipeline"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExportPipelineGet": {
+ "$ref": "./examples/ExportPipelineGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ExportPipelines"
+ ],
+ "description": "Creates an export pipeline for a container registry with the specified parameters.",
+ "operationId": "ExportPipelines_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExportPipelineNameParameter"
+ },
+ {
+ "name": "exportPipelineCreateParameters",
+ "in": "body",
+ "description": "The parameters for creating an export pipeline.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExportPipeline"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the operation has completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ExportPipeline"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ExportPipeline"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExportPipelineCreate": {
+ "$ref": "./examples/ExportPipelineCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "ExportPipelines"
+ ],
+ "description": "Deletes an export pipeline from a container registry.",
+ "operationId": "ExportPipelines_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExportPipelineNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The export pipeline does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "ExportPipelineDelete": {
+ "$ref": "./examples/ExportPipelineDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/exportPipelines": {
+ "get": {
+ "tags": [
+ "ExportPipelines"
+ ],
+ "description": "Lists all export pipelines for the specified container registry.",
+ "operationId": "ExportPipelines_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ExportPipelineListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExportPipelineList": {
+ "$ref": "./examples/ExportPipelineList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importImage": {
+ "post": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Copies an image to this container registry from the specified container registry.",
+ "operationId": "Registries_ImportImage",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The parameters specifying the image to copy and the source container registry.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImportImageParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the operation has completed successfully."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "ImportImageByTag": {
+ "$ref": "./examples/ImportImageByTag.json"
+ },
+ "ImportImageByManifestDigest": {
+ "$ref": "./examples/ImportImageByManifestDigest.json"
+ },
+ "ImportImageFromPublicRegistry": {
+ "$ref": "./examples/ImportImageFromPublicRegistry.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importPipelines/{importPipelineName}": {
+ "get": {
+ "tags": [
+ "ImportPipelines"
+ ],
+ "description": "Gets the properties of the import pipeline.",
+ "operationId": "ImportPipelines_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ImportPipelineNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ImportPipeline"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ImportPipelineGet": {
+ "$ref": "./examples/ImportPipelineGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ImportPipelines"
+ ],
+ "description": "Creates an import pipeline for a container registry with the specified parameters.",
+ "operationId": "ImportPipelines_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ImportPipelineNameParameter"
+ },
+ {
+ "name": "importPipelineCreateParameters",
+ "in": "body",
+ "description": "The parameters for creating an import pipeline.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImportPipeline"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the operation has completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ImportPipeline"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ImportPipeline"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ImportPipelineCreate": {
+ "$ref": "./examples/ImportPipelineCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "ImportPipelines"
+ ],
+ "description": "Deletes an import pipeline from a container registry.",
+ "operationId": "ImportPipelines_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ImportPipelineNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The import pipeline does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "ImportPipelineDelete": {
+ "$ref": "./examples/ImportPipelineDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importPipelines": {
+ "get": {
+ "tags": [
+ "ImportPipelines"
+ ],
+ "description": "Lists all import pipelines for the specified container registry.",
+ "operationId": "ImportPipelines_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ImportPipelineListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ImportPipelineList": {
+ "$ref": "./examples/ImportPipelineList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Operation"
+ ],
+ "description": "Checks whether the container registry name is available for use. The name must contain only alphanumeric characters, be globally unique, and between 5 and 50 characters in length.",
+ "operationId": "Registries_CheckNameAvailability",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "registryNameCheckRequest",
+ "in": "body",
+ "description": "The object containing information for the availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegistryNameCheckRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/RegistryNameStatus"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryCheckNameAvailable": {
+ "$ref": "./examples/RegistryCheckNameAvailable.json"
+ },
+ "RegistryCheckNameNotAvailable": {
+ "$ref": "./examples/RegistryCheckNameNotAvailable.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.ContainerRegistry/operations": {
+ "get": {
+ "tags": [
+ "Operation"
+ ],
+ "description": "Lists all of the available Azure Container Registry REST API operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OperationList": {
+ "$ref": "./examples/OperationList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/pipelineRuns/{pipelineRunName}": {
+ "get": {
+ "tags": [
+ "PipelineRuns"
+ ],
+ "description": "Gets the detailed information for a given pipeline run.",
+ "operationId": "PipelineRuns_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PipelineRunNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well - formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PipelineRun"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PipelineRunGet": {
+ "$ref": "./examples/PipelineRunGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PipelineRuns"
+ ],
+ "description": "Creates a pipeline run for a container registry with the specified parameters",
+ "operationId": "PipelineRuns_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PipelineRunNameParameter"
+ },
+ {
+ "name": "pipelineRunCreateParameters",
+ "in": "body",
+ "description": "The parameters for creating a pipeline run.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PipelineRun"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well - formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PipelineRun"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/PipelineRun"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PipelineRunCreate_Export": {
+ "$ref": "./examples/PipelineRunCreate_Export.json"
+ },
+ "PipelineRunCreate_Import": {
+ "$ref": "./examples/PipelineRunCreate_Import.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "PipelineRuns"
+ ],
+ "description": "Deletes a pipeline run from a container registry.",
+ "operationId": "PipelineRuns_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PipelineRunNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The pipeline run does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "PipelineRunDelete": {
+ "$ref": "./examples/PipelineRunDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/pipelineRuns": {
+ "get": {
+ "tags": [
+ "PipelineRuns"
+ ],
+ "description": "Lists all the pipeline runs for the specified container registry.",
+ "operationId": "PipelineRuns_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well - formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PipelineRunListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PipelineRunList": {
+ "$ref": "./examples/PipelineRunList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Get the specified private endpoint connection associated with the container registry.",
+ "operationId": "PrivateEndpointConnections_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnectionGet": {
+ "$ref": "./examples/PrivateEndpointConnectionGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Update the state of specified private endpoint connection associated with the container registry.",
+ "operationId": "PrivateEndpointConnections_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "description": "The parameters for creating a private endpoint connection.",
+ "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 successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnectionCreateOrUpdate": {
+ "$ref": "./examples/PrivateEndpointConnectionCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Deletes the specified private endpoint connection associated with the container registry.",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The private endpoint connection does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnectionDelete": {
+ "$ref": "./examples/PrivateEndpointConnectionDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "List all private endpoint connections in a container registry.",
+ "operationId": "PrivateEndpointConnections_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnectionList": {
+ "$ref": "./examples/PrivateEndpointConnectionList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Gets the properties of the specified container registry.",
+ "operationId": "Registries_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryGet": {
+ "$ref": "./examples/RegistryGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Creates a container registry with the specified parameters.",
+ "operationId": "Registries_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "registry",
+ "in": "body",
+ "description": "The parameters for creating a container registry.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryCreate": {
+ "$ref": "./examples/RegistryCreate.json"
+ },
+ "RegistryCreateZoneRedundant": {
+ "$ref": "./examples/RegistryCreateZoneRedundant.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Deletes a container registry.",
+ "operationId": "Registries_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The container registry does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "RegistryDelete": {
+ "$ref": "./examples/RegistryDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Updates a container registry with the specified parameters.",
+ "operationId": "Registries_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "registryUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a container registry.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegistryUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryUpdate": {
+ "$ref": "./examples/RegistryUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Lists all the container registries under the specified resource group.",
+ "operationId": "Registries_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/RegistryListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryListByResourceGroup": {
+ "$ref": "./examples/RegistryListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Lists all the container registries under the specified subscription.",
+ "operationId": "Registries_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/RegistryListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryList": {
+ "$ref": "./examples/RegistryList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listCredentials": {
+ "post": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Lists the login credentials for the specified container registry.",
+ "operationId": "Registries_ListCredentials",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the list of credentials retrieved and returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/RegistryListCredentialsResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryListCredentials": {
+ "$ref": "./examples/RegistryListCredentials.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredential": {
+ "post": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Regenerates one of the login credentials for the specified container registry.",
+ "operationId": "Registries_RegenerateCredential",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "regenerateCredentialParameters",
+ "in": "body",
+ "description": "Specifies name of the password which should be regenerated -- password or password2.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateCredentialParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the specified credential regenerated successfully.",
+ "schema": {
+ "$ref": "#/definitions/RegistryListCredentialsResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryRegenerateCredential": {
+ "$ref": "./examples/RegistryRegenerateCredential.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listUsages": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Gets the quota usages for the specified container registry.",
+ "operationId": "Registries_ListUsages",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the registry usages retrieved and returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/RegistryUsageListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryListUsages": {
+ "$ref": "./examples/RegistryListUsages.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Lists the private link resources for a container registry.",
+ "operationId": "Registries_ListPrivateLinkResources",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the private link resources were retrieved and returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryListPrivateLinkResources": {
+ "$ref": "./examples/RegistryListPrivateLinkResources.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}": {
+ "get": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Gets the properties of the specified replication.",
+ "operationId": "Replications_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ReplicationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationGet": {
+ "$ref": "./examples/ReplicationGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Creates a replication for a container registry with the specified parameters.",
+ "operationId": "Replications_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ReplicationNameParameter"
+ },
+ {
+ "name": "replication",
+ "in": "body",
+ "description": "The parameters for creating a replication.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationCreate": {
+ "$ref": "./examples/ReplicationCreate.json"
+ },
+ "ReplicationCreateZoneRedundant": {
+ "$ref": "./examples/ReplicationCreateZoneRedundant.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Deletes a replication from a container registry.",
+ "operationId": "Replications_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ReplicationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The replication does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationDelete": {
+ "$ref": "./examples/ReplicationDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Updates a replication for a container registry with the specified parameters.",
+ "operationId": "Replications_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ReplicationNameParameter"
+ },
+ {
+ "name": "replicationUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a replication.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReplicationUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationUpdate": {
+ "$ref": "./examples/ReplicationUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications": {
+ "get": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Lists all the replications for the specified container registry.",
+ "operationId": "Replications_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ReplicationListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationList": {
+ "$ref": "./examples/ReplicationList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps/{scopeMapName}": {
+ "get": {
+ "tags": [
+ "ScopeMaps"
+ ],
+ "description": "Gets the properties of the specified scope map.",
+ "operationId": "ScopeMaps_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeMapNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ScopeMap"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ScopeMapGet": {
+ "$ref": "./examples/ScopeMapGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ScopeMaps"
+ ],
+ "description": "Creates a scope map for a container registry with the specified parameters.",
+ "operationId": "ScopeMaps_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeMapNameParameter"
+ },
+ {
+ "name": "scopeMapCreateParameters",
+ "in": "body",
+ "description": "The parameters for creating a scope map.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScopeMap"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ScopeMap"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ScopeMap"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ScopeMapCreate": {
+ "$ref": "./examples/ScopeMapCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "ScopeMaps"
+ ],
+ "description": "Deletes a scope map from a container registry.",
+ "operationId": "ScopeMaps_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeMapNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The scopemap does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "ScopeMapDelete": {
+ "$ref": "./examples/ScopeMapDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ScopeMaps"
+ ],
+ "description": "Updates a scope map with the specified parameters.",
+ "operationId": "ScopeMaps_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeMapNameParameter"
+ },
+ {
+ "name": "scopeMapUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a scope map.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScopeMapUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ScopeMap"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ScopeMap"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ScopeMapUpdate": {
+ "$ref": "./examples/ScopeMapUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps": {
+ "get": {
+ "tags": [
+ "ScopeMaps"
+ ],
+ "description": "Lists all the scope maps for the specified container registry.",
+ "operationId": "ScopeMaps_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ScopeMapListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ScopeMapList": {
+ "$ref": "./examples/ScopeMapList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tokens/{tokenName}": {
+ "get": {
+ "tags": [
+ "Tokens"
+ ],
+ "description": "Gets the properties of the specified token.",
+ "operationId": "Tokens_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TokenNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Token"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TokenGet": {
+ "$ref": "./examples/TokenGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Tokens"
+ ],
+ "description": "Creates a token for a container registry with the specified parameters.",
+ "operationId": "Tokens_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TokenNameParameter"
+ },
+ {
+ "name": "tokenCreateParameters",
+ "in": "body",
+ "description": "The parameters for creating a token.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Token"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Token"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Token"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TokenCreate": {
+ "$ref": "./examples/TokenCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Tokens"
+ ],
+ "description": "Deletes a token from a container registry.",
+ "operationId": "Tokens_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TokenNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The token does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "TokenDelete": {
+ "$ref": "./examples/TokenDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Tokens"
+ ],
+ "description": "Updates a token with the specified parameters.",
+ "operationId": "Tokens_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TokenNameParameter"
+ },
+ {
+ "name": "tokenUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a token.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TokenUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Token"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Token"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TokenUpdate": {
+ "$ref": "./examples/TokenUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tokens": {
+ "get": {
+ "tags": [
+ "Tokens"
+ ],
+ "description": "Lists all the tokens for the specified container registry.",
+ "operationId": "Tokens_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/TokenListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TokenList": {
+ "$ref": "./examples/TokenList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/generateCredentials": {
+ "post": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Generate keys for a token of a specified container registry.",
+ "operationId": "Registries_GenerateCredentials",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "generateCredentialsParameters",
+ "in": "body",
+ "description": "The parameters for generating credentials.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GenerateCredentialsParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/GenerateCredentialsResult"
+ }
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "RegistryGenerateCredentials": {
+ "$ref": "./examples/RegistryGenerateCredentials.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}": {
+ "get": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Gets the properties of the specified webhook.",
+ "operationId": "Webhooks_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookGet": {
+ "$ref": "./examples/WebhookGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Creates a webhook for a container registry with the specified parameters.",
+ "operationId": "Webhooks_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ },
+ {
+ "name": "webhookCreateParameters",
+ "in": "body",
+ "description": "The parameters for creating a webhook.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/WebhookCreateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookCreate": {
+ "$ref": "./examples/WebhookCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Deletes a webhook from a container registry.",
+ "operationId": "Webhooks_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The webhook does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "WebhookDelete": {
+ "$ref": "./examples/WebhookDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Updates a webhook with the specified parameters.",
+ "operationId": "Webhooks_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ },
+ {
+ "name": "webhookUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a webhook.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/WebhookUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookUpdate": {
+ "$ref": "./examples/WebhookUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks": {
+ "get": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Lists all the webhooks for the specified container registry.",
+ "operationId": "Webhooks_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/WebhookListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookList": {
+ "$ref": "./examples/WebhookList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/ping": {
+ "post": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Triggers a ping event to be sent to the webhook.",
+ "operationId": "Webhooks_Ping",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/EventInfo"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookPing": {
+ "$ref": "./examples/WebhookPing.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/getCallbackConfig": {
+ "post": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Gets the configuration of service URI and custom headers for the webhook.",
+ "operationId": "Webhooks_GetCallbackConfig",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/CallbackConfig"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookGetCallbackConfig": {
+ "$ref": "./examples/WebhookGetCallbackConfig.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/listEvents": {
+ "post": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Lists recent events for the specified webhook.",
+ "operationId": "Webhooks_ListEvents",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/EventListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookListEvents": {
+ "$ref": "./examples/WebhookListEvents.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConnectedRegistry": {
+ "description": "An object that represents a connected registry for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConnectedRegistryProperties",
+ "description": "The properties of the connected registry.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ProxyResource": {
+ "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags.",
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ConnectedRegistryProperties": {
+ "description": "The properties of a connected registry.",
+ "required": [
+ "mode",
+ "parent"
+ ],
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the resource.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "mode": {
+ "description": "The mode of the connected registry resource that indicates the permissions of the registry.",
+ "enum": [
+ "Registry",
+ "Mirror"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ConnectedRegistryMode",
+ "modelAsString": true
+ }
+ },
+ "version": {
+ "description": "The current version of ACR runtime on the connected registry.",
+ "type": "string",
+ "readOnly": true
+ },
+ "connectionState": {
+ "description": "The current connection state of the connected registry.",
+ "enum": [
+ "Online",
+ "Offline",
+ "Syncing",
+ "Unhealthy"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ConnectionState",
+ "modelAsString": true
+ }
+ },
+ "lastActivityTime": {
+ "format": "date-time",
+ "description": "The last activity time of the connected registry.",
+ "type": "string",
+ "readOnly": true
+ },
+ "activation": {
+ "$ref": "#/definitions/ActivationProperties",
+ "description": "The activation properties of the connected registry.",
+ "readOnly": true
+ },
+ "parent": {
+ "$ref": "#/definitions/ParentProperties",
+ "description": "The parent of the connected registry."
+ },
+ "clientTokenIds": {
+ "description": "The list of the ACR token resource IDs used to authenticate clients to the connected registry.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "loginServer": {
+ "$ref": "#/definitions/LoginServerProperties",
+ "description": "The login server properties of the connected registry."
+ },
+ "logging": {
+ "$ref": "#/definitions/LoggingProperties",
+ "description": "The logging properties of the connected registry."
+ },
+ "statusDetails": {
+ "description": "The list of current statuses of the connected registry.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StatusDetailProperties"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ActivationProperties": {
+ "description": "The activation properties of the connected registry.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The activation status of the connected registry.",
+ "enum": [
+ "Active",
+ "Inactive"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ActivationStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ParentProperties": {
+ "description": "The properties of the connected registry parent.",
+ "required": [
+ "syncProperties"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The resource ID of the parent to which the connected registry will be associated.",
+ "type": "string"
+ },
+ "syncProperties": {
+ "$ref": "#/definitions/SyncProperties",
+ "description": "The sync properties of the connected registry with its parent."
+ }
+ }
+ },
+ "LoginServerProperties": {
+ "description": "The login server properties of the connected registry.",
+ "type": "object",
+ "properties": {
+ "host": {
+ "description": "The host of the connected registry. Can be FQDN or IP.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tls": {
+ "$ref": "#/definitions/TlsProperties",
+ "description": "The TLS properties of the connected registry login server.",
+ "readOnly": true
+ }
+ }
+ },
+ "LoggingProperties": {
+ "description": "The logging properties of the connected registry.",
+ "type": "object",
+ "properties": {
+ "logLevel": {
+ "description": "The verbosity of logs persisted on the connected registry.",
+ "default": "Information",
+ "enum": [
+ "Debug",
+ "Information",
+ "Warning",
+ "Error",
+ "None"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LogLevel",
+ "modelAsString": true
+ }
+ },
+ "auditLogStatus": {
+ "description": "Indicates whether audit logs are enabled on the connected registry.",
+ "default": "Disabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuditLogStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "StatusDetailProperties": {
+ "description": "The status detail properties of the connected registry.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The component of the connected registry corresponding to the status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "code": {
+ "description": "The code of the status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The description of the status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "timestamp": {
+ "format": "date-time",
+ "description": "The timestamp of the status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "correlationId": {
+ "description": "The correlation ID of the status.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SyncProperties": {
+ "description": "The sync properties of the connected registry with its parent.",
+ "required": [
+ "tokenId",
+ "messageTtl"
+ ],
+ "type": "object",
+ "properties": {
+ "tokenId": {
+ "description": "The resource ID of the ACR token used to authenticate the connected registry to its parent during sync.",
+ "type": "string"
+ },
+ "schedule": {
+ "description": "The cron expression indicating the schedule that the connected registry will sync with its parent.",
+ "type": "string"
+ },
+ "syncWindow": {
+ "format": "duration",
+ "description": "The time window during which sync is enabled for each schedule occurrence. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601.",
+ "type": "string"
+ },
+ "messageTtl": {
+ "format": "duration",
+ "description": "The period of time for which a message is available to sync before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601.",
+ "type": "string"
+ },
+ "lastSyncTime": {
+ "format": "date-time",
+ "description": "The last time a sync occurred between the connected registry and its parent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "gatewayEndpoint": {
+ "description": "The gateway endpoint used by the connected registry to communicate with its parent.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TlsProperties": {
+ "description": "The TLS properties of the connected registry login server.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Indicates whether HTTPS is enabled for the login server.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "TlsStatus",
+ "modelAsString": true
+ }
+ },
+ "certificate": {
+ "$ref": "#/definitions/TlsCertificateProperties",
+ "description": "The certificate used to configure HTTPS for the login server.",
+ "readOnly": true
+ }
+ }
+ },
+ "TlsCertificateProperties": {
+ "description": "The TLS certificate properties of the connected registry login server.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of certificate location.",
+ "enum": [
+ "LocalDirectory"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CertificateType",
+ "modelAsString": true
+ }
+ },
+ "location": {
+ "description": "Indicates the location of the certificates.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ConnectedRegistryUpdateParameters": {
+ "description": "The parameters for updating a connected registry.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConnectedRegistryUpdateProperties",
+ "description": "The properties of the connected registry update parameters.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ConnectedRegistryUpdateProperties": {
+ "description": "The parameters for updating token properties.",
+ "type": "object",
+ "properties": {
+ "syncProperties": {
+ "$ref": "#/definitions/SyncUpdateProperties",
+ "description": "The sync properties of the connected registry with its parent."
+ },
+ "logging": {
+ "$ref": "#/definitions/LoggingProperties",
+ "description": "The logging properties of the connected registry."
+ },
+ "clientTokenIds": {
+ "description": "The list of the ACR token resource IDs used to authenticate clients to the connected registry.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SyncUpdateProperties": {
+ "description": "The parameters for updating the sync properties of the connected registry with its parent.",
+ "type": "object",
+ "properties": {
+ "schedule": {
+ "description": "The cron expression indicating the schedule that the connected registry will sync with its parent.",
+ "type": "string"
+ },
+ "syncWindow": {
+ "format": "duration",
+ "description": "The time window during which sync is enabled for each schedule occurrence. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601.",
+ "type": "string"
+ },
+ "messageTtl": {
+ "format": "duration",
+ "description": "The period of time for which a message is available to sync before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601.",
+ "type": "string"
+ }
+ }
+ },
+ "ConnectedRegistryListResult": {
+ "description": "The result of a request to list connected registries for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of connected registries. Since this list may be incomplete, the nextLink field should be used to request the next list of connected registries.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectedRegistry"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of connected registries.",
+ "type": "string"
+ }
+ }
+ },
+ "ExportPipeline": {
+ "description": "An object that represents an export pipeline for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "The location of the export pipeline.",
+ "type": "string"
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityProperties",
+ "description": "The identity of the export pipeline."
+ },
+ "properties": {
+ "$ref": "#/definitions/ExportPipelineProperties",
+ "description": "The properties of the export pipeline.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "IdentityProperties": {
+ "description": "Managed identity for the resource.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The principal ID of resource identity.",
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "The tenant ID of resource.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The identity type.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "description": "The list of user identities associated with the resource. The user identity \r\ndictionary key references will be ARM resource ids in the form: \r\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/\r\n providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserIdentityProperties"
+ }
+ }
+ }
+ },
+ "ExportPipelineProperties": {
+ "description": "The properties of an export pipeline.",
+ "required": [
+ "target"
+ ],
+ "type": "object",
+ "properties": {
+ "target": {
+ "$ref": "#/definitions/ExportPipelineTargetProperties",
+ "description": "The target properties of the export pipeline."
+ },
+ "options": {
+ "description": "The list of all options configured for the pipeline.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "OverwriteTags",
+ "OverwriteBlobs",
+ "DeleteSourceBlobOnSuccess",
+ "ContinueOnErrors"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PipelineOptions",
+ "modelAsString": true
+ }
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the pipeline at the time the operation was called.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UserIdentityProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The principal id of user assigned identity.",
+ "type": "string"
+ },
+ "clientId": {
+ "description": "The client id of user assigned identity.",
+ "type": "string"
+ }
+ }
+ },
+ "ExportPipelineTargetProperties": {
+ "description": "The properties of the export pipeline target.",
+ "required": [
+ "keyVaultUri"
+ ],
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of target for the export pipeline.",
+ "type": "string"
+ },
+ "uri": {
+ "description": "The target uri of the export pipeline.\r\nWhen 'AzureStorageBlob': \"https://accountName.blob.core.windows.net/containerName/blobName\"\r\nWhen 'AzureStorageBlobContainer': \"https://accountName.blob.core.windows.net/containerName\"",
+ "type": "string"
+ },
+ "keyVaultUri": {
+ "description": "They key vault secret uri to obtain the target storage SAS token.",
+ "type": "string"
+ }
+ }
+ },
+ "ExportPipelineListResult": {
+ "description": "The result of a request to list export pipelines for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of export pipelines. Since this list may be incomplete, the nextLink field should be used to request the next list of export pipelines.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExportPipeline"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of pipeline runs.",
+ "type": "string"
+ }
+ }
+ },
+ "ImportImageParameters": {
+ "required": [
+ "source"
+ ],
+ "type": "object",
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/ImportSource",
+ "description": "The source of the image."
+ },
+ "targetTags": {
+ "description": "List of strings of the form repo[:tag]. When tag is omitted the source will be used (or 'latest' if source tag is also omitted).",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "untaggedTargetRepositories": {
+ "description": "List of strings of repository names to do a manifest only copy. No tag will be created.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "mode": {
+ "description": "When Force, any existing target tags will be overwritten. When NoForce, any existing target tags will fail the operation before any copying begins.",
+ "default": "NoForce",
+ "enum": [
+ "NoForce",
+ "Force"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ImportMode",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ImportSource": {
+ "required": [
+ "sourceImage"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The resource identifier of the source Azure Container Registry.",
+ "type": "string"
+ },
+ "registryUri": {
+ "description": "The address of the source registry (e.g. 'mcr.microsoft.com').",
+ "type": "string"
+ },
+ "credentials": {
+ "$ref": "#/definitions/ImportSourceCredentials",
+ "description": "Credentials used when importing from a registry uri."
+ },
+ "sourceImage": {
+ "description": "Repository name of the source image.\r\nSpecify an image by repository ('hello-world'). This will use the 'latest' tag.\r\nSpecify an image by tag ('hello-world:latest').\r\nSpecify an image by sha256-based manifest digest ('hello-world@sha256:abc123').",
+ "type": "string"
+ }
+ }
+ },
+ "ImportSourceCredentials": {
+ "required": [
+ "password"
+ ],
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "The username to authenticate with the source registry.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The password used to authenticate with the source registry.",
+ "type": "string"
+ }
+ }
+ },
+ "ImportPipeline": {
+ "description": "An object that represents an import pipeline for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "The location of the import pipeline.",
+ "type": "string"
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityProperties",
+ "description": "The identity of the import pipeline."
+ },
+ "properties": {
+ "$ref": "#/definitions/ImportPipelineProperties",
+ "description": "The properties of the import pipeline.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ImportPipelineProperties": {
+ "description": "The properties of an import pipeline.",
+ "required": [
+ "source"
+ ],
+ "type": "object",
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/ImportPipelineSourceProperties",
+ "description": "The source properties of the import pipeline."
+ },
+ "trigger": {
+ "$ref": "#/definitions/PipelineTriggerProperties",
+ "description": "The properties that describe the trigger of the import pipeline."
+ },
+ "options": {
+ "description": "The list of all options configured for the pipeline.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "OverwriteTags",
+ "OverwriteBlobs",
+ "DeleteSourceBlobOnSuccess",
+ "ContinueOnErrors"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PipelineOptions",
+ "modelAsString": true
+ }
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the pipeline at the time the operation was called.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ImportPipelineSourceProperties": {
+ "description": "The properties of the import pipeline source.",
+ "required": [
+ "keyVaultUri"
+ ],
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of source for the import pipeline.",
+ "default": "AzureStorageBlobContainer",
+ "enum": [
+ "AzureStorageBlobContainer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PipelineSourceType",
+ "modelAsString": true
+ }
+ },
+ "uri": {
+ "description": "The source uri of the import pipeline.\r\nWhen 'AzureStorageBlob': \"https://accountName.blob.core.windows.net/containerName/blobName\"\r\nWhen 'AzureStorageBlobContainer': \"https://accountName.blob.core.windows.net/containerName\"",
+ "type": "string"
+ },
+ "keyVaultUri": {
+ "description": "They key vault secret uri to obtain the source storage SAS token.",
+ "type": "string"
+ }
+ }
+ },
+ "PipelineTriggerProperties": {
+ "type": "object",
+ "properties": {
+ "sourceTrigger": {
+ "$ref": "#/definitions/PipelineSourceTriggerProperties",
+ "description": "The source trigger properties of the pipeline."
+ }
+ }
+ },
+ "PipelineSourceTriggerProperties": {
+ "required": [
+ "status"
+ ],
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The current status of the source trigger.",
+ "default": "Enabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TriggerStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ImportPipelineListResult": {
+ "description": "The result of a request to list import pipelines for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of import pipelines. Since this list may be incomplete, the nextLink field should be used to request the next list of import pipelines.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImportPipeline"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of pipeline runs.",
+ "type": "string"
+ }
+ }
+ },
+ "RegistryNameCheckRequest": {
+ "description": "A request to check whether a container registry name is available.",
+ "required": [
+ "name",
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the container registry.",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "type": "string"
+ },
+ "type": {
+ "description": "The resource type of the container registry. This field must be set to 'Microsoft.ContainerRegistry/registries'.",
+ "enum": [
+ "Microsoft.ContainerRegistry/registries"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerRegistryResourceType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "RegistryNameStatus": {
+ "description": "The result of a request to check the availability of a container registry name.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "The value that indicates whether the name is available.",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "If any, the reason that the name is not available.",
+ "type": "string"
+ },
+ "message": {
+ "description": "If any, the error message that provides more detail for the reason that the name is not available.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "The result of a request to list container registry operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of container registry operations. Since this list may be incomplete, the nextLink field should be used to request the next list of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of container registry operations.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDefinition": {
+ "description": "The definition of a container registry operation.",
+ "type": "object",
+ "properties": {
+ "origin": {
+ "description": "The origin information of the container registry operation.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplayDefinition",
+ "description": "The display information for the container registry operation."
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationPropertiesDefinition",
+ "description": "The properties information for the container registry operation.",
+ "x-ms-client-flatten": true
+ },
+ "isDataAction": {
+ "description": "This property indicates if the operation is an action or a data action\r\nref: https://docs.microsoft.com/en-us/azure/role-based-access-control/role-definitions#management-and-data-operations",
+ "type": "boolean"
+ }
+ }
+ },
+ "OperationDisplayDefinition": {
+ "description": "The display information for a container registry operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The resource provider name: Microsoft.ContainerRegistry.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The resource on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The operation that users can perform.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description for the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationPropertiesDefinition": {
+ "description": "The definition of Azure Monitoring properties.",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/OperationServiceSpecificationDefinition",
+ "description": "The definition of Azure Monitoring service."
+ }
+ }
+ },
+ "OperationServiceSpecificationDefinition": {
+ "description": "The definition of Azure Monitoring list.",
+ "type": "object",
+ "properties": {
+ "metricSpecifications": {
+ "description": "A list of Azure Monitoring metrics definition.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationMetricSpecificationDefinition"
+ }
+ },
+ "logSpecifications": {
+ "description": "A list of Azure Monitoring log definitions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationLogSpecificationDefinition"
+ }
+ }
+ }
+ },
+ "OperationMetricSpecificationDefinition": {
+ "description": "The definition of Azure Monitoring metric.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Metric name.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Metric display name.",
+ "type": "string"
+ },
+ "displayDescription": {
+ "description": "Metric description.",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Metric unit.",
+ "type": "string"
+ },
+ "aggregationType": {
+ "description": "Metric aggregation type.",
+ "type": "string"
+ },
+ "internalMetricName": {
+ "description": "Internal metric name.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationLogSpecificationDefinition": {
+ "description": "The definition of Azure Monitoring log.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Log name.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Log display name.",
+ "type": "string"
+ },
+ "blobDuration": {
+ "description": "Log blob duration.",
+ "type": "string"
+ }
+ }
+ },
+ "PipelineRun": {
+ "description": "An object that represents a pipeline run for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PipelineRunProperties",
+ "description": "The properties of a pipeline run.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PipelineRunProperties": {
+ "description": "The properties of a pipeline run.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "The provisioning state of a pipeline run.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "request": {
+ "$ref": "#/definitions/PipelineRunRequest",
+ "description": "The request parameters for a pipeline run."
+ },
+ "response": {
+ "$ref": "#/definitions/PipelineRunResponse",
+ "description": "The response of a pipeline run.",
+ "readOnly": true
+ },
+ "forceUpdateTag": {
+ "description": "How the pipeline run should be forced to recreate even if the pipeline run configuration has not changed.",
+ "type": "string"
+ }
+ }
+ },
+ "PipelineRunRequest": {
+ "description": "The request properties provided for a pipeline run.",
+ "type": "object",
+ "properties": {
+ "pipelineResourceId": {
+ "description": "The resource ID of the pipeline to run.",
+ "type": "string"
+ },
+ "artifacts": {
+ "description": "List of source artifacts to be transferred by the pipeline. \r\nSpecify an image by repository ('hello-world'). This will use the 'latest' tag.\r\nSpecify an image by tag ('hello-world:latest').\r\nSpecify an image by sha256-based manifest digest ('hello-world@sha256:abc123').",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "source": {
+ "$ref": "#/definitions/PipelineRunSourceProperties",
+ "description": "The source properties of the pipeline run."
+ },
+ "target": {
+ "$ref": "#/definitions/PipelineRunTargetProperties",
+ "description": "The target properties of the pipeline run."
+ },
+ "catalogDigest": {
+ "description": "The digest of the tar used to transfer the artifacts.",
+ "type": "string"
+ }
+ }
+ },
+ "PipelineRunResponse": {
+ "description": "The response properties returned for a pipeline run.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The current status of the pipeline run.",
+ "type": "string"
+ },
+ "importedArtifacts": {
+ "description": "The artifacts imported in the pipeline run.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "progress": {
+ "$ref": "#/definitions/ProgressProperties",
+ "description": "The current progress of the copy operation."
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The time the pipeline run started.",
+ "type": "string"
+ },
+ "finishTime": {
+ "format": "date-time",
+ "description": "The time the pipeline run finished.",
+ "type": "string"
+ },
+ "source": {
+ "$ref": "#/definitions/ImportPipelineSourceProperties",
+ "description": "The source of the pipeline run."
+ },
+ "target": {
+ "$ref": "#/definitions/ExportPipelineTargetProperties",
+ "description": "The target of the pipeline run."
+ },
+ "catalogDigest": {
+ "description": "The digest of the tar used to transfer the artifacts.",
+ "type": "string"
+ },
+ "trigger": {
+ "$ref": "#/definitions/PipelineTriggerDescriptor",
+ "description": "The trigger that caused the pipeline run."
+ },
+ "pipelineRunErrorMessage": {
+ "description": "The detailed error message for the pipeline run in the case of failure.",
+ "type": "string"
+ }
+ }
+ },
+ "PipelineRunSourceProperties": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the source.",
+ "default": "AzureStorageBlob",
+ "enum": [
+ "AzureStorageBlob"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PipelineRunSourceType",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "The name of the source.",
+ "type": "string"
+ }
+ }
+ },
+ "PipelineRunTargetProperties": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the target.",
+ "default": "AzureStorageBlob",
+ "enum": [
+ "AzureStorageBlob"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PipelineRunTargetType",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "The name of the target.",
+ "type": "string"
+ }
+ }
+ },
+ "ProgressProperties": {
+ "type": "object",
+ "properties": {
+ "percentage": {
+ "description": "The percentage complete of the copy operation.",
+ "type": "string"
+ }
+ }
+ },
+ "PipelineTriggerDescriptor": {
+ "type": "object",
+ "properties": {
+ "sourceTrigger": {
+ "$ref": "#/definitions/PipelineSourceTriggerDescriptor",
+ "description": "The source trigger that caused the pipeline run."
+ }
+ }
+ },
+ "PipelineSourceTriggerDescriptor": {
+ "type": "object",
+ "properties": {
+ "timestamp": {
+ "format": "date-time",
+ "description": "The timestamp when the source update happened.",
+ "type": "string"
+ }
+ }
+ },
+ "PipelineRunListResult": {
+ "description": "The result of a request to list pipeline runs for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of pipeline runs. Since this list may be incomplete, the nextLink field should be used to request the next list of pipeline runs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PipelineRun"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of pipeline runs.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "An object that represents a private endpoint connection for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties of a private endpoint connection.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "The properties of a private endpoint connection.",
+ "type": "object",
+ "properties": {
+ "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."
+ },
+ "provisioningState": {
+ "description": "The provisioning state of private endpoint connection resource.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateEndpoint": {
+ "description": "The Private Endpoint resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "This is private endpoint resource created with Microsoft.Network resource provider.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The state of a private link service connection.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The private link service connection status.",
+ "enum": [
+ "Approved",
+ "Pending",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "description": "The description for connection status. For example if connection is rejected it can indicate reason for rejection.",
+ "type": "string"
+ },
+ "actionsRequired": {
+ "description": "A message indicating if changes on the service provider require any updates on the consumer.",
+ "enum": [
+ "None",
+ "Recreate"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ActionsRequired",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnectionListResult": {
+ "description": "The result of a request to list private endpoint connections for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of private endpoint connections. Since this list may be incomplete, the nextLink field should be used to request the next list of private endpoint connections.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of private endpoint connections.",
+ "type": "string"
+ }
+ }
+ },
+ "Registry": {
+ "description": "An object that represents a container registry.",
+ "required": [
+ "sku"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the container registry."
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityProperties",
+ "description": "The identity of the container registry."
+ },
+ "properties": {
+ "$ref": "#/definitions/RegistryProperties",
+ "description": "The properties of the container registry.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "Sku": {
+ "description": "The SKU of a container registry.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The SKU name of the container registry. Required for registry creation.",
+ "enum": [
+ "Classic",
+ "Basic",
+ "Standard",
+ "Premium"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The SKU tier based on the SKU name.",
+ "enum": [
+ "Classic",
+ "Basic",
+ "Standard",
+ "Premium"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RegistryProperties": {
+ "description": "The properties of a container registry.",
+ "type": "object",
+ "properties": {
+ "loginServer": {
+ "description": "The URL that can be used to log into the container registry.",
+ "type": "string",
+ "readOnly": true
+ },
+ "creationDate": {
+ "format": "date-time",
+ "description": "The creation date of the container registry in ISO8601 format.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the container registry at the time the operation was called.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "$ref": "#/definitions/Status",
+ "description": "The status of the container registry at the time the operation was called.",
+ "readOnly": true
+ },
+ "adminUserEnabled": {
+ "description": "The value that indicates whether the admin user is enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "networkRuleSet": {
+ "$ref": "#/definitions/NetworkRuleSet",
+ "description": "The network rule set for a container registry."
+ },
+ "policies": {
+ "$ref": "#/definitions/Policies",
+ "description": "The policies for a container registry."
+ },
+ "encryption": {
+ "$ref": "#/definitions/EncryptionProperty",
+ "description": "The encryption settings of container registry."
+ },
+ "dataEndpointEnabled": {
+ "description": "Enable a single data endpoint per region for serving data.",
+ "type": "boolean"
+ },
+ "dataEndpointHostNames": {
+ "description": "List of host names that will serve data when dataEndpointEnabled is true.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "privateEndpointConnections": {
+ "description": "List of private endpoint connections for a container registry.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "readOnly": true
+ },
+ "publicNetworkAccess": {
+ "description": "Whether or not public network access is allowed for the container registry.",
+ "default": "Enabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ }
+ },
+ "networkRuleBypassOptions": {
+ "description": "Whether to allow trusted Azure services to access a network restricted registry.",
+ "default": "AzureServices",
+ "enum": [
+ "AzureServices",
+ "None"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NetworkRuleBypassOptions",
+ "modelAsString": true
+ }
+ },
+ "zoneRedundancy": {
+ "description": "Whether or not zone redundancy is enabled for this container registry",
+ "default": "Disabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ZoneRedundancy",
+ "modelAsString": true
+ }
+ },
+ "anonymousPullEnabled": {
+ "description": "Enables registry-wide pull from unauthenticated clients.",
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ },
+ "Status": {
+ "description": "The status of an Azure resource at the time the operation was called.",
+ "type": "object",
+ "properties": {
+ "displayStatus": {
+ "description": "The short label for the status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The detailed message for the status, including alerts and error messages.",
+ "type": "string",
+ "readOnly": true
+ },
+ "timestamp": {
+ "format": "date-time",
+ "description": "The timestamp when the status was changed to the current value.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "NetworkRuleSet": {
+ "description": "The network rule set for a container registry.",
+ "required": [
+ "defaultAction"
+ ],
+ "type": "object",
+ "properties": {
+ "defaultAction": {
+ "description": "The default action of allow or deny when no other rules match.",
+ "default": "Allow",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DefaultAction",
+ "modelAsString": true
+ }
+ },
+ "virtualNetworkRules": {
+ "description": "The virtual network rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkRule"
+ }
+ },
+ "ipRules": {
+ "description": "The IP ACL rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPRule"
+ }
+ }
+ }
+ },
+ "Policies": {
+ "description": "The policies for a container registry.",
+ "type": "object",
+ "properties": {
+ "quarantinePolicy": {
+ "$ref": "#/definitions/QuarantinePolicy",
+ "description": "The quarantine policy for a container registry."
+ },
+ "trustPolicy": {
+ "$ref": "#/definitions/TrustPolicy",
+ "description": "The content trust policy for a container registry."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "The retention policy for a container registry."
+ },
+ "exportPolicy": {
+ "$ref": "#/definitions/ExportPolicy",
+ "description": "The export policy for a container registry."
+ }
+ }
+ },
+ "EncryptionProperty": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Indicates whether or not the encryption is enabled for container registry.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EncryptionStatus",
+ "modelAsString": true
+ }
+ },
+ "keyVaultProperties": {
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "Key vault properties."
+ }
+ }
+ },
+ "VirtualNetworkRule": {
+ "description": "Virtual network rule.",
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "action": {
+ "description": "The action of virtual network rule.",
+ "default": "Allow",
+ "enum": [
+ "Allow"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Action",
+ "modelAsString": true
+ }
+ },
+ "id": {
+ "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}.",
+ "type": "string",
+ "x-ms-client-name": "VirtualNetworkResourceId"
+ }
+ }
+ },
+ "IPRule": {
+ "description": "IP rule with specific IP or IP range in CIDR format.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "action": {
+ "description": "The action of IP ACL rule.",
+ "default": "Allow",
+ "enum": [
+ "Allow"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Action",
+ "modelAsString": true
+ }
+ },
+ "value": {
+ "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.",
+ "type": "string",
+ "x-ms-client-name": "IPAddressOrRange"
+ }
+ }
+ },
+ "QuarantinePolicy": {
+ "description": "The quarantine policy for a container registry.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The value that indicates whether the policy is enabled or not.",
+ "default": "disabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "TrustPolicy": {
+ "description": "The content trust policy for a container registry.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of trust policy.",
+ "default": "Notary",
+ "enum": [
+ "Notary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TrustPolicyType",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "The value that indicates whether the policy is enabled or not.",
+ "default": "disabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RetentionPolicy": {
+ "description": "The retention policy for a container registry.",
+ "type": "object",
+ "properties": {
+ "days": {
+ "format": "int32",
+ "description": "The number of days to retain an untagged manifest after which it gets purged.",
+ "default": 7,
+ "type": "integer"
+ },
+ "lastUpdatedTime": {
+ "format": "date-time",
+ "description": "The timestamp when the policy was last updated.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The value that indicates whether the policy is enabled or not.",
+ "default": "disabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ExportPolicy": {
+ "description": "The export policy for a container registry.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The value that indicates whether the policy is enabled or not.",
+ "default": "enabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ExportPolicyStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "KeyVaultProperties": {
+ "type": "object",
+ "properties": {
+ "keyIdentifier": {
+ "description": "Key vault uri to access the encryption key.",
+ "type": "string"
+ },
+ "versionedKeyIdentifier": {
+ "description": "The fully qualified key identifier that includes the version of the key that is actually used for encryption.",
+ "type": "string",
+ "readOnly": true
+ },
+ "identity": {
+ "description": "The client id of the identity which will be used to access key vault.",
+ "type": "string"
+ },
+ "keyRotationEnabled": {
+ "description": "Auto key rotation status for a CMK enabled registry.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "lastKeyRotationTimestamp": {
+ "format": "date-time",
+ "description": "Timestamp of the last successful key rotation.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "RegistryUpdateParameters": {
+ "description": "The parameters for updating a container registry.",
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/IdentityProperties",
+ "description": "The identity of the container registry."
+ },
+ "tags": {
+ "description": "The tags for the container registry.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the container registry."
+ },
+ "properties": {
+ "$ref": "#/definitions/RegistryPropertiesUpdateParameters",
+ "description": "The properties that the container registry will be updated with.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "RegistryPropertiesUpdateParameters": {
+ "description": "The parameters for updating the properties of a container registry.",
+ "type": "object",
+ "properties": {
+ "adminUserEnabled": {
+ "description": "The value that indicates whether the admin user is enabled.",
+ "type": "boolean"
+ },
+ "networkRuleSet": {
+ "$ref": "#/definitions/NetworkRuleSet",
+ "description": "The network rule set for a container registry."
+ },
+ "policies": {
+ "$ref": "#/definitions/Policies",
+ "description": "The policies for a container registry."
+ },
+ "encryption": {
+ "$ref": "#/definitions/EncryptionProperty",
+ "description": "The encryption settings of container registry."
+ },
+ "dataEndpointEnabled": {
+ "description": "Enable a single data endpoint per region for serving data.",
+ "type": "boolean"
+ },
+ "publicNetworkAccess": {
+ "description": "Whether or not public network access is allowed for the container registry.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ }
+ },
+ "networkRuleBypassOptions": {
+ "description": "Whether to allow trusted Azure services to access a network restricted registry.",
+ "default": "AzureServices",
+ "enum": [
+ "AzureServices",
+ "None"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NetworkRuleBypassOptions",
+ "modelAsString": true
+ }
+ },
+ "anonymousPullEnabled": {
+ "description": "Enables registry-wide pull from unauthenticated clients.",
+ "type": "boolean"
+ }
+ }
+ },
+ "RegistryListResult": {
+ "description": "The result of a request to list container registries.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of container registries. Since this list may be incomplete, the nextLink field should be used to request the next list of container registries.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Registry"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of container registries.",
+ "type": "string"
+ }
+ }
+ },
+ "RegistryListCredentialsResult": {
+ "description": "The response from the ListCredentials operation.",
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "The username for a container registry.",
+ "type": "string"
+ },
+ "passwords": {
+ "description": "The list of passwords for a container registry.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegistryPassword"
+ }
+ }
+ }
+ },
+ "RegistryPassword": {
+ "description": "The login password for the container registry.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The password name.",
+ "enum": [
+ "password",
+ "password2"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PasswordName",
+ "modelAsString": false
+ }
+ },
+ "value": {
+ "description": "The password value.",
+ "type": "string"
+ }
+ }
+ },
+ "RegenerateCredentialParameters": {
+ "description": "The parameters used to regenerate the login credential.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Specifies name of the password which should be regenerated -- password or password2.",
+ "enum": [
+ "password",
+ "password2"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PasswordName",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "RegistryUsageListResult": {
+ "description": "The result of a request to get container registry quota usages.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of container registry quota usages.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegistryUsage"
+ }
+ }
+ }
+ },
+ "RegistryUsage": {
+ "description": "The quota usage for a container registry.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the usage.",
+ "type": "string"
+ },
+ "limit": {
+ "format": "int64",
+ "description": "The limit of the usage.",
+ "type": "integer"
+ },
+ "currentValue": {
+ "format": "int64",
+ "description": "The current value of the usage.",
+ "type": "integer"
+ },
+ "unit": {
+ "description": "The unit of measurement.",
+ "enum": [
+ "Count",
+ "Bytes"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RegistryUsageUnit",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateLinkResourceListResult": {
+ "description": "The result of a request to list private link resources for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of private link resources. Since this list may be incomplete, the nextLink field should be used to request the next list of private link resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of private link resources.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A resource that supports private link capabilities.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The resource type is private link resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "The resource ID.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "A resource that supports private link capabilities.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PrivateLinkResourceProperties": {
+ "description": "The properties of a private link resource.",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string"
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "requiredZoneNames": {
+ "description": "The private link resource Private link DNS zone name.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Replication": {
+ "description": "An object that represents a replication for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ReplicationProperties",
+ "description": "The properties of the replication.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ReplicationProperties": {
+ "description": "The properties of a replication.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "The provisioning state of the replication at the time the operation was called.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "$ref": "#/definitions/Status",
+ "description": "The status of the replication at the time the operation was called.",
+ "readOnly": true
+ },
+ "regionEndpointEnabled": {
+ "description": "Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications.",
+ "default": true,
+ "type": "boolean"
+ },
+ "zoneRedundancy": {
+ "description": "Whether or not zone redundancy is enabled for this container registry replication",
+ "default": "Disabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ZoneRedundancy",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ReplicationUpdateParameters": {
+ "description": "The parameters for updating a replication.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags for the replication.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/ReplicationUpdateParametersProperties",
+ "description": "The parameters for updating a replication's properties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ReplicationUpdateParametersProperties": {
+ "type": "object",
+ "properties": {
+ "regionEndpointEnabled": {
+ "description": "Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications.",
+ "type": "boolean"
+ }
+ }
+ },
+ "ReplicationListResult": {
+ "description": "The result of a request to list replications for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of replications. Since this list may be incomplete, the nextLink field should be used to request the next list of replications.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Replication"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of replications.",
+ "type": "string"
+ }
+ }
+ },
+ "ScopeMap": {
+ "description": "An object that represents a scope map for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ScopeMapProperties",
+ "description": "The properties of the scope map.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ScopeMapProperties": {
+ "description": "The properties of a scope map.",
+ "required": [
+ "actions"
+ ],
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The user friendly description of the scope map.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of the scope map. E.g. BuildIn scope map.",
+ "type": "string",
+ "readOnly": true
+ },
+ "creationDate": {
+ "format": "date-time",
+ "description": "The creation date of scope map.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the resource.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "actions": {
+ "description": "The list of scoped permissions for registry artifacts.\r\nE.g. repositories/repository-name/content/read,\r\nrepositories/repository-name/metadata/write",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ScopeMapUpdateParameters": {
+ "description": "The properties for updating the scope map.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ScopeMapPropertiesUpdateParameters",
+ "description": "The update parameters for scope map properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ScopeMapPropertiesUpdateParameters": {
+ "description": "The update parameters for scope map properties.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The user friendly description of the scope map.",
+ "type": "string"
+ },
+ "actions": {
+ "description": "The list of scope permissions for registry artifacts.\r\nE.g. repositories/repository-name/pull, \r\nrepositories/repository-name/delete",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ScopeMapListResult": {
+ "description": "The result of a request to list scope maps for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of scope maps. Since this list may be incomplete, the nextLink field should be used to request the next list of scope maps.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScopeMap"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of scope maps.",
+ "type": "string"
+ }
+ }
+ },
+ "Token": {
+ "description": "An object that represents a token for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TokenProperties",
+ "description": "The properties of the token.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "TokenProperties": {
+ "description": "The properties of a token.",
+ "type": "object",
+ "properties": {
+ "creationDate": {
+ "format": "date-time",
+ "description": "The creation date of scope map.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the resource.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "scopeMapId": {
+ "description": "The resource ID of the scope map to which the token will be associated with.",
+ "type": "string"
+ },
+ "credentials": {
+ "$ref": "#/definitions/TokenCredentialsProperties",
+ "description": "The credentials that can be used for authenticating the token."
+ },
+ "status": {
+ "description": "The status of the token example enabled or disabled.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TokenStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "TokenCredentialsProperties": {
+ "description": "The properties of the credentials that can be used for authenticating the token.",
+ "type": "object",
+ "properties": {
+ "certificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TokenCertificate"
+ }
+ },
+ "passwords": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TokenPassword"
+ }
+ }
+ }
+ },
+ "ActiveDirectoryObject": {
+ "description": "The Active Directory Object that will be used for authenticating the token of a container registry.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "description": "The user/group/application object ID for Active Directory Object that will be used for authenticating the token of a container registry.",
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "The tenant ID of user/group/application object Active Directory Object that will be used for authenticating the token of a container registry.",
+ "type": "string"
+ }
+ }
+ },
+ "TokenCertificate": {
+ "description": "The properties of a certificate used for authenticating a token.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "enum": [
+ "certificate1",
+ "certificate2"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TokenCertificateName",
+ "modelAsString": true
+ }
+ },
+ "expiry": {
+ "format": "date-time",
+ "description": "The expiry datetime of the certificate.",
+ "type": "string"
+ },
+ "thumbprint": {
+ "description": "The thumbprint of the certificate.",
+ "type": "string"
+ },
+ "encodedPemCertificate": {
+ "description": "Base 64 encoded string of the public certificate1 in PEM format that will be used for authenticating the token.",
+ "type": "string"
+ }
+ }
+ },
+ "TokenPassword": {
+ "description": "The password that will be used for authenticating the token of a container registry.",
+ "type": "object",
+ "properties": {
+ "creationTime": {
+ "format": "date-time",
+ "description": "The creation datetime of the password.",
+ "type": "string"
+ },
+ "expiry": {
+ "format": "date-time",
+ "description": "The expiry datetime of the password.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The password name \"password1\" or \"password2\"",
+ "enum": [
+ "password1",
+ "password2"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TokenPasswordName",
+ "modelAsString": true
+ }
+ },
+ "value": {
+ "description": "The password value.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TokenUpdateParameters": {
+ "description": "The parameters for updating a token.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TokenUpdateProperties",
+ "description": "The properties of the token update parameters.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "TokenUpdateProperties": {
+ "description": "The parameters for updating token properties.",
+ "type": "object",
+ "properties": {
+ "scopeMapId": {
+ "description": "The resource ID of the scope map to which the token will be associated with.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status of the token example enabled or disabled.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TokenStatus",
+ "modelAsString": true
+ }
+ },
+ "credentials": {
+ "$ref": "#/definitions/TokenCredentialsProperties",
+ "description": "The credentials that can be used for authenticating the token."
+ }
+ }
+ },
+ "TokenListResult": {
+ "description": "The result of a request to list tokens for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of tokens. Since this list may be incomplete, the nextLink field should be used to request the next list of tokens.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Token"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of tokens.",
+ "type": "string"
+ }
+ }
+ },
+ "GenerateCredentialsParameters": {
+ "description": "The parameters used to generate credentials for a specified token or user of a container registry.",
+ "type": "object",
+ "properties": {
+ "tokenId": {
+ "description": "The resource ID of the token for which credentials have to be generated.",
+ "type": "string"
+ },
+ "expiry": {
+ "format": "date-time",
+ "description": "The expiry date of the generated credentials after which the credentials become invalid.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Specifies name of the password which should be regenerated if any -- password1 or password2.",
+ "enum": [
+ "password1",
+ "password2"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TokenPasswordName",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "GenerateCredentialsResult": {
+ "description": "The response from the GenerateCredentials operation.",
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "The username for a container registry.",
+ "type": "string"
+ },
+ "passwords": {
+ "description": "The list of passwords for a container registry.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TokenPassword"
+ }
+ }
+ }
+ },
+ "Webhook": {
+ "description": "An object that represents a webhook for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WebhookProperties",
+ "description": "The properties of the webhook.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "WebhookProperties": {
+ "description": "The properties of a webhook.",
+ "required": [
+ "actions"
+ ],
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The status of the webhook at the time the operation was called.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookStatus",
+ "modelAsString": true
+ }
+ },
+ "scope": {
+ "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.",
+ "type": "string"
+ },
+ "actions": {
+ "description": "The list of actions that trigger the webhook to post notifications.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "push",
+ "delete",
+ "quarantine",
+ "chart_push",
+ "chart_delete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookAction",
+ "modelAsString": true
+ }
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the webhook at the time the operation was called.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "WebhookCreateParameters": {
+ "description": "The parameters for creating a webhook.",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags for the webhook.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "location": {
+ "description": "The location of the webhook. This cannot be changed after the resource is created.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/WebhookPropertiesCreateParameters",
+ "description": "The properties that the webhook will be created with.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "WebhookPropertiesCreateParameters": {
+ "description": "The parameters for creating the properties of a webhook.",
+ "required": [
+ "serviceUri",
+ "actions"
+ ],
+ "type": "object",
+ "properties": {
+ "serviceUri": {
+ "description": "The service URI for the webhook to post notifications.",
+ "type": "string",
+ "x-ms-secret": true
+ },
+ "customHeaders": {
+ "description": "Custom headers that will be added to the webhook notifications.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-secret": true
+ },
+ "status": {
+ "description": "The status of the webhook at the time the operation was called.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookStatus",
+ "modelAsString": true
+ }
+ },
+ "scope": {
+ "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.",
+ "type": "string"
+ },
+ "actions": {
+ "description": "The list of actions that trigger the webhook to post notifications.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "push",
+ "delete",
+ "quarantine",
+ "chart_push",
+ "chart_delete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookAction",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "WebhookUpdateParameters": {
+ "description": "The parameters for updating a webhook.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags for the webhook.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/WebhookPropertiesUpdateParameters",
+ "description": "The properties that the webhook will be updated with.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "WebhookPropertiesUpdateParameters": {
+ "description": "The parameters for updating the properties of a webhook.",
+ "type": "object",
+ "properties": {
+ "serviceUri": {
+ "description": "The service URI for the webhook to post notifications.",
+ "type": "string",
+ "x-ms-secret": true
+ },
+ "customHeaders": {
+ "description": "Custom headers that will be added to the webhook notifications.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-secret": true
+ },
+ "status": {
+ "description": "The status of the webhook at the time the operation was called.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookStatus",
+ "modelAsString": true
+ }
+ },
+ "scope": {
+ "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.",
+ "type": "string"
+ },
+ "actions": {
+ "description": "The list of actions that trigger the webhook to post notifications.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "push",
+ "delete",
+ "quarantine",
+ "chart_push",
+ "chart_delete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookAction",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "WebhookListResult": {
+ "description": "The result of a request to list webhooks for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of webhooks. Since this list may be incomplete, the nextLink field should be used to request the next list of webhooks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of webhooks.",
+ "type": "string"
+ }
+ }
+ },
+ "EventInfo": {
+ "description": "The basic information of an event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The event ID.",
+ "type": "string"
+ }
+ }
+ },
+ "CallbackConfig": {
+ "description": "The configuration of service URI and custom headers for the webhook.",
+ "required": [
+ "serviceUri"
+ ],
+ "type": "object",
+ "properties": {
+ "serviceUri": {
+ "description": "The service URI for the webhook to post notifications.",
+ "type": "string"
+ },
+ "customHeaders": {
+ "description": "Custom headers that will be added to the webhook notifications.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "EventListResult": {
+ "description": "The result of a request to list events for a webhook.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of events. Since this list may be incomplete, the nextLink field should be used to request the next list of events.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Event"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of events.",
+ "type": "string"
+ }
+ }
+ },
+ "Event": {
+ "description": "The event for a webhook.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventInfo"
+ }
+ ],
+ "properties": {
+ "eventRequestMessage": {
+ "$ref": "#/definitions/EventRequestMessage",
+ "description": "The event request message sent to the service URI."
+ },
+ "eventResponseMessage": {
+ "$ref": "#/definitions/EventResponseMessage",
+ "description": "The event response message received from the service URI."
+ }
+ }
+ },
+ "EventRequestMessage": {
+ "description": "The event request message sent to the service URI.",
+ "type": "object",
+ "properties": {
+ "content": {
+ "$ref": "#/definitions/EventContent",
+ "description": "The content of the event request message."
+ },
+ "headers": {
+ "description": "The headers of the event request message.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "method": {
+ "description": "The HTTP method used to send the event request message.",
+ "type": "string"
+ },
+ "requestUri": {
+ "description": "The URI used to send the event request message.",
+ "type": "string"
+ },
+ "version": {
+ "description": "The HTTP message version.",
+ "type": "string"
+ }
+ }
+ },
+ "EventResponseMessage": {
+ "description": "The event response message received from the service URI.",
+ "type": "object",
+ "properties": {
+ "content": {
+ "description": "The content of the event response message.",
+ "type": "string"
+ },
+ "headers": {
+ "description": "The headers of the event response message.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "reasonPhrase": {
+ "description": "The reason phrase of the event response message.",
+ "type": "string"
+ },
+ "statusCode": {
+ "description": "The status code of the event response message.",
+ "type": "string"
+ },
+ "version": {
+ "description": "The HTTP message version.",
+ "type": "string"
+ }
+ }
+ },
+ "EventContent": {
+ "description": "The content of the event request message.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The event ID.",
+ "type": "string"
+ },
+ "timestamp": {
+ "format": "date-time",
+ "description": "The time at which the event occurred.",
+ "type": "string"
+ },
+ "action": {
+ "description": "The action that encompasses the provided event.",
+ "type": "string"
+ },
+ "target": {
+ "$ref": "#/definitions/Target",
+ "description": "The target of the event."
+ },
+ "request": {
+ "$ref": "#/definitions/Request",
+ "description": "The request that generated the event."
+ },
+ "actor": {
+ "$ref": "#/definitions/Actor",
+ "description": "The agent that initiated the event. For most situations, this could be from the authorization context of the request."
+ },
+ "source": {
+ "$ref": "#/definitions/Source",
+ "description": "The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it."
+ }
+ }
+ },
+ "Target": {
+ "description": "The target of the event.",
+ "type": "object",
+ "properties": {
+ "mediaType": {
+ "description": "The MIME type of the referenced object.",
+ "type": "string"
+ },
+ "size": {
+ "format": "int64",
+ "description": "The number of bytes of the content. Same as Length field.",
+ "type": "integer"
+ },
+ "digest": {
+ "description": "The digest of the content, as defined by the Registry V2 HTTP API Specification.",
+ "type": "string"
+ },
+ "length": {
+ "format": "int64",
+ "description": "The number of bytes of the content. Same as Size field.",
+ "type": "integer"
+ },
+ "repository": {
+ "description": "The repository name.",
+ "type": "string"
+ },
+ "url": {
+ "description": "The direct URL to the content.",
+ "type": "string"
+ },
+ "tag": {
+ "description": "The tag name.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the artifact.",
+ "type": "string"
+ },
+ "version": {
+ "description": "The version of the artifact.",
+ "type": "string"
+ }
+ }
+ },
+ "Request": {
+ "description": "The request that generated the event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ID of the request that initiated the event.",
+ "type": "string"
+ },
+ "addr": {
+ "description": "The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request.",
+ "type": "string"
+ },
+ "host": {
+ "description": "The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests.",
+ "type": "string"
+ },
+ "method": {
+ "description": "The request method that generated the event.",
+ "type": "string"
+ },
+ "useragent": {
+ "description": "The user agent header of the request.",
+ "type": "string"
+ }
+ }
+ },
+ "Actor": {
+ "description": "The agent that initiated the event. For most situations, this could be from the authorization context of the request.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The subject or username associated with the request context that generated the event.",
+ "type": "string"
+ }
+ }
+ },
+ "Source": {
+ "description": "The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it.",
+ "type": "object",
+ "properties": {
+ "addr": {
+ "description": "The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port.",
+ "type": "string"
+ },
+ "instanceID": {
+ "description": "The running instance of an application. Changes after each restart.",
+ "type": "string"
+ }
+ }
+ },
+ "Resource": {
+ "description": "An Azure resource.",
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "The location of the resource. This cannot be changed after the resource is created.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The tags of the resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "SystemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "properties": {
+ "createdBy": {
+ "description": "The identity that created the resource.",
+ "type": "string"
+ },
+ "createdByType": {
+ "description": "The type of identity that created the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "createdAt": {
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC).",
+ "type": "string"
+ },
+ "lastModifiedBy": {
+ "description": "The identity that last modified the resource.",
+ "type": "string"
+ },
+ "lastModifiedByType": {
+ "description": "The type of identity that last modified the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "lastModifiedByType",
+ "modelAsString": true
+ }
+ },
+ "lastModifiedAt": {
+ "format": "date-time",
+ "description": "The timestamp of resource modification (UTC).",
+ "type": "string"
+ }
+ },
+ "readOnly": true
+ },
+ "ErrorResponse": {
+ "description": "An error response from the Azure Container Registry service.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorResponseBody",
+ "description": "Azure container registry build API error body."
+ }
+ }
+ },
+ "ErrorResponseBody": {
+ "description": "An error response from the Azure Container Registry service.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "description": "error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "target of the particular error.",
+ "type": "string"
+ },
+ "details": {
+ "$ref": "#/definitions/InnerErrorDescription",
+ "description": "an array of additional nested error response info objects, as described by this contract.",
+ "type": "array"
+ }
+ }
+ },
+ "InnerErrorDescription": {
+ "description": "inner error.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "description": "error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "target of the particular error.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Microsoft Azure subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The client API version.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group to which the container registry belongs.",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "RegistryNameParameter": {
+ "name": "registryName",
+ "in": "path",
+ "description": "The name of the container registry.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "WebhookNameParameter": {
+ "name": "webhookName",
+ "in": "path",
+ "description": "The name of the webhook.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "ReplicationNameParameter": {
+ "name": "replicationName",
+ "in": "path",
+ "description": "The name of the replication.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "ScopeMapNameParameter": {
+ "name": "scopeMapName",
+ "in": "path",
+ "description": "The name of the scope map.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9-_]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "TokenNameParameter": {
+ "name": "tokenName",
+ "in": "path",
+ "description": "The name of the token.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9-]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "PrivateEndpointConnectionNameParameter": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ExportPipelineNameParameter": {
+ "name": "exportPipelineName",
+ "in": "path",
+ "description": "The name of the export pipeline.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "ImportPipelineNameParameter": {
+ "name": "importPipelineName",
+ "in": "path",
+ "description": "The name of the import pipeline.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "PipelineRunNameParameter": {
+ "name": "pipelineRunName",
+ "in": "path",
+ "description": "The name of the pipeline run.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "ConnectedRegistryNameParameter": {
+ "name": "connectedRegistryName",
+ "in": "path",
+ "description": "The name of the connected registry.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "ConnectedRegistryFilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "description": "An OData filter expression that describes a subset of connectedRegistries to return. The parameters that can be filtered are parent.id (the resource id of the connectedRegistry parent), mode, and connectionState. The supported operator is eq.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryCreate.json
new file mode 100644
index 000000000000..35f12b9253cb
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryCreate.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "connectedRegistryName": "myConnectedRegistry",
+ "connectedRegistryCreateParameters": {
+ "properties": {
+ "mode": "Registry",
+ "parent": {
+ "syncProperties": {
+ "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken",
+ "schedule": "0 9 * * *",
+ "messageTtl": "P2D",
+ "syncWindow": "PT3H"
+ }
+ },
+ "clientTokenIds": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry",
+ "name": "myConnectedRegistry",
+ "type": "Microsoft.ContainerRegistry/registries/connectedRegistries",
+ "properties": {
+ "mode": "Registry",
+ "activation": {
+ "status": "Inactive"
+ },
+ "parent": {
+ "syncProperties": {
+ "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken",
+ "schedule": "0 9 * * *",
+ "messageTtl": "P2D",
+ "syncWindow": "PT3H"
+ }
+ },
+ "clientTokenIds": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token"
+ ],
+ "logging": {
+ "logLevel": "Information",
+ "auditLogStatus": "Disabled"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry",
+ "name": "myConnectedRegistry",
+ "type": "Microsoft.ContainerRegistry/registries/connectedRegistries",
+ "properties": {
+ "mode": "Registry",
+ "activation": {
+ "status": "Inactive"
+ },
+ "parent": {
+ "syncProperties": {
+ "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken",
+ "schedule": "0 9 * * *",
+ "messageTtl": "P2D",
+ "syncWindow": "PT3H"
+ }
+ },
+ "clientTokenIds": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token"
+ ],
+ "logging": {
+ "logLevel": "Information",
+ "auditLogStatus": "Disabled"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryDeactivate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryDeactivate.json
new file mode 100644
index 000000000000..bc39b891a22f
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryDeactivate.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "connectedRegistryName": "myConnectedRegistry"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryDelete.json
new file mode 100644
index 000000000000..454de640ab64
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "connectedRegistryName": "myConnectedRegistry"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryGet.json
new file mode 100644
index 000000000000..5341da2b2715
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "connectedRegistryName": "myConnectedRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry",
+ "name": "myConnectedRegistry",
+ "type": "Microsoft.ContainerRegistry/registries/connectedRegistries",
+ "properties": {
+ "mode": "Registry",
+ "activation": {
+ "status": "Inactive"
+ },
+ "parent": {
+ "syncProperties": {
+ "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken",
+ "schedule": "0 9 * * *",
+ "messageTtl": "P2D",
+ "syncWindow": "PT3H"
+ }
+ },
+ "clientTokenIds": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token"
+ ],
+ "logging": {
+ "logLevel": "Information",
+ "auditLogStatus": "Disabled"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryList.json
new file mode 100644
index 000000000000..65c7b81ba602
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryList.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry",
+ "name": "myConnectedRegistry",
+ "type": "Microsoft.ContainerRegistry/registries/connectedRegistries",
+ "properties": {
+ "mode": "Registry",
+ "activation": {
+ "status": "Inactive"
+ },
+ "parent": {
+ "syncProperties": {
+ "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken",
+ "schedule": "0 9 * * *",
+ "messageTtl": "P2D",
+ "syncWindow": "PT3H"
+ }
+ },
+ "clientTokenIds": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token"
+ ],
+ "logging": {
+ "logLevel": "Information",
+ "auditLogStatus": "Disabled"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryUpdate.json
new file mode 100644
index 000000000000..a76d1d9bee57
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ConnectedRegistryUpdate.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "connectedRegistryName": "myScopeMap",
+ "connectedRegistryUpdateParameters": {
+ "properties": {
+ "syncProperties": {
+ "schedule": "0 0 */10 * *",
+ "messageTtl": "P30D",
+ "syncWindow": "P2D"
+ },
+ "logging": {
+ "logLevel": "Debug",
+ "auditLogStatus": "Enabled"
+ },
+ "clientTokenIds": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client2Token"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry",
+ "name": "myConnectedRegistry",
+ "type": "Microsoft.ContainerRegistry/registries/connectedRegistries",
+ "properties": {
+ "mode": "Registry",
+ "parent": {
+ "syncProperties": {
+ "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken",
+ "schedule": "0 0 */10 * *",
+ "messageTtl": "P30D",
+ "syncWindow": "P2D"
+ }
+ },
+ "clientTokenIds": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client2Token"
+ ],
+ "logging": {
+ "logLevel": "Debug",
+ "auditLogStatus": "Enabled"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry",
+ "name": "myConnectedRegistry",
+ "type": "Microsoft.ContainerRegistry/registries/connectedRegistries",
+ "properties": {
+ "mode": "Registry",
+ "parent": {
+ "syncProperties": {
+ "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken",
+ "schedule": "0 0 */10 * *",
+ "messageTtl": "P30D",
+ "syncWindow": "P2D"
+ }
+ },
+ "clientTokenIds": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client2Token"
+ ],
+ "logging": {
+ "logLevel": "Debug",
+ "auditLogStatus": "Enabled"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ExportPipelineCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ExportPipelineCreate.json
new file mode 100644
index 000000000000..9e334879cb40
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ExportPipelineCreate.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "exportPipelineName": "myExportPipeline",
+ "exportPipelineCreateParameters": {
+ "location": "westus",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "target": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ },
+ "options": [
+ "OverwriteBlobs"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "name": "myExportPipeline",
+ "type": "Microsoft.ContainerRegistry/registries/exportPipelines",
+ "properties": {
+ "target": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ },
+ "options": [
+ "OverwriteBlobs"
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "identity": {
+ "principalId": "fa153151-b9fd-46f4-9088-5e6600f2689v",
+ "tenantId": "f686d426-8d16-42db-81b7-abu4gm510ccd",
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "name": "myExportPipeline",
+ "type": "Microsoft.ContainerRegistry/registries/exportPipelines",
+ "properties": {
+ "target": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ },
+ "options": [
+ "OverwriteBlobs"
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "identity": {
+ "principalId": "fa153151-b9fd-46f4-9088-5e6600f2689v",
+ "tenantId": "f686d426-8d16-42db-81b7-abu4gm510ccd",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ExportPipelineDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ExportPipelineDelete.json
new file mode 100644
index 000000000000..9fcb5100fce1
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ExportPipelineDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "exportPipelineName": "myExportPipeline"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ExportPipelineGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ExportPipelineGet.json
new file mode 100644
index 000000000000..668ef92be16f
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ExportPipelineGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "exportPipelineName": "myExportPipeline"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "name": "myExportPipeline",
+ "type": "Microsoft.ContainerRegistry/registries/exportPipelines",
+ "properties": {
+ "target": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ },
+ "options": [
+ "OverwriteBlobs"
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "identity": {
+ "principalId": "fa153151-b9fd-46f4-9088-5e6600f2689v",
+ "tenantId": "f686d426-8d16-42db-81b7-abu4gm510ccd",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ExportPipelineList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ExportPipelineList.json
new file mode 100644
index 000000000000..71a8f06df984
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ExportPipelineList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "name": "myExportPipeline",
+ "type": "Microsoft.ContainerRegistry/registries/exportPipelines",
+ "properties": {
+ "target": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ },
+ "options": [
+ "OverwriteBlobs"
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "identity": {
+ "principalId": "fa153151-b9fd-46f4-9088-5e6600f2689v",
+ "tenantId": "f686d426-8d16-42db-81b7-abu4gm510ccd",
+ "type": "SystemAssigned"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportImageByManifestDigest.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportImageByManifestDigest.json
new file mode 100644
index 000000000000..832cfe01ca8d
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportImageByManifestDigest.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "parameters": {
+ "source": {
+ "resourceId": "/subscriptions/10000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/sourceRegistry",
+ "sourceImage": "sourceRepository@sha256:0000000000000000000000000000000000000000000000000000000000000000"
+ },
+ "targetTags": [
+ "targetRepository:targetTag"
+ ],
+ "untaggedTargetRepositories": [
+ "targetRepository1"
+ ],
+ "mode": "Force"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportImageByTag.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportImageByTag.json
new file mode 100644
index 000000000000..605fa5021f3a
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportImageByTag.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "parameters": {
+ "source": {
+ "resourceId": "/subscriptions/10000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/sourceRegistry",
+ "sourceImage": "sourceRepository:sourceTag"
+ },
+ "targetTags": [
+ "targetRepository:targetTag"
+ ],
+ "untaggedTargetRepositories": [
+ "targetRepository1"
+ ],
+ "mode": "Force"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportImageFromPublicRegistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportImageFromPublicRegistry.json
new file mode 100644
index 000000000000..c10155eecc48
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportImageFromPublicRegistry.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "parameters": {
+ "source": {
+ "registryUri": "registry.hub.docker.com",
+ "sourceImage": "library/hello-world"
+ },
+ "targetTags": [
+ "targetRepository:targetTag"
+ ],
+ "untaggedTargetRepositories": [
+ "targetRepository1"
+ ],
+ "mode": "Force"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportPipelineCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportPipelineCreate.json
new file mode 100644
index 000000000000..e599a6ade62f
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportPipelineCreate.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "importPipelineName": "myImportPipeline",
+ "importPipelineCreateParameters": {
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {}
+ }
+ },
+ "properties": {
+ "source": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas"
+ },
+ "options": [
+ "OverwriteTags",
+ "DeleteSourceBlobOnSuccess",
+ "ContinueOnErrors"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline",
+ "name": "myImportPipeline",
+ "type": "Microsoft.ContainerRegistry/registries/importPipelines",
+ "properties": {
+ "source": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas"
+ },
+ "trigger": {
+ "sourceTrigger": {
+ "status": "Enabled"
+ }
+ },
+ "options": [
+ "OverwriteTags",
+ "DeleteSourceBlobOnSuccess",
+ "ContinueOnErrors"
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "d3ce1bc2-f7d7-4a5b-9979-950f4e57680e",
+ "principalId": "b6p9f58b-6fbf-4efd-a7e0-fvd46911a466"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline",
+ "name": "myImportPipeline",
+ "type": "Microsoft.ContainerRegistry/registries/importPipelines",
+ "properties": {
+ "source": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas"
+ },
+ "trigger": {
+ "sourceTrigger": {
+ "status": "Enabled"
+ }
+ },
+ "options": [
+ "OverwriteTags",
+ "DeleteSourceBlobOnSuccess",
+ "ContinueOnErrors"
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "d3ce1bc2-f7d7-4a5b-9979-950f4e57680e",
+ "principalId": "b6p9f58b-6fbf-4efd-a7e0-fvd46911a466"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportPipelineDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportPipelineDelete.json
new file mode 100644
index 000000000000..f1c9743fe1e8
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportPipelineDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "importPipelineName": "myImportPipeline"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportPipelineGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportPipelineGet.json
new file mode 100644
index 000000000000..38697966e8b5
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportPipelineGet.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "importPipelineName": "myImportPipeline"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline",
+ "name": "myImportPipeline",
+ "type": "Microsoft.ContainerRegistry/registries/importPipelines",
+ "properties": {
+ "source": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas"
+ },
+ "trigger": {
+ "sourceTrigger": {
+ "status": "Enabled"
+ }
+ },
+ "options": [
+ "OverwriteTags",
+ "DeleteSourceBlobOnSuccess",
+ "ContinueOnErrors"
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "d3ce1bc2-f7d7-4a5b-9979-950f4e57680e",
+ "principalId": "b6p9f58b-6fbf-4efd-a7e0-fvd46911a466"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportPipelineList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportPipelineList.json
new file mode 100644
index 000000000000..7a6c7c1046bf
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ImportPipelineList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline",
+ "name": "myImportPipeline",
+ "type": "Microsoft.ContainerRegistry/registries/importPipelines",
+ "properties": {
+ "source": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas"
+ },
+ "trigger": {
+ "sourceTrigger": {
+ "status": "Enabled"
+ }
+ },
+ "options": [
+ "OverwriteTags",
+ "DeleteSourceBlobOnSuccess",
+ "ContinueOnErrors"
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "d3ce1bc2-f7d7-4a5b-9979-950f4e57680e",
+ "principalId": "b6p9f58b-6fbf-4efd-a7e0-fvd46911a466"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/OperationList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/OperationList.json
new file mode 100644
index 000000000000..11d3dba8ecc7
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/OperationList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ContainerRegistry/locations/deleteVirtualNetworkOrSubnets/action",
+ "display": {
+ "provider": "Microsoft ContainerRegistry",
+ "resource": "",
+ "operation": "Delete virtual network or subnets notifications",
+ "description": "Notifies Microsoft.ContainerRegistry that virtual network or subnet is being deleted"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PipelineRunCreate_Export.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PipelineRunCreate_Export.json
new file mode 100644
index 000000000000..cebbc83d4d00
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PipelineRunCreate_Export.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "pipelineRunName": "myPipelineRun",
+ "pipelineRunCreateParameters": {
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "target": {
+ "type": "AzureStorageBlob",
+ "name": "myblob.tar.gz"
+ },
+ "artifacts": [
+ "sourceRepository/hello-world",
+ "sourceRepository2@sha256:00000000000000000000000000000000000"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun",
+ "name": "myPipelineRun",
+ "type": "Microsoft.ContainerRegistry/registries/pipelineRuns",
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "artifacts": [
+ "sourceRepository/hello-world",
+ "sourceRepository2@sha256:00000000000000000000000000000000000"
+ ]
+ },
+ "response": {
+ "status": "Running",
+ "catalogDigest": "sha256@",
+ "progress": {
+ "percentage": "20"
+ },
+ "startTime": "2020-03-04T17:23:21.9261521+00:00",
+ "target": {
+ "type": "AzureStorageBlob",
+ "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun",
+ "name": "myPipelineRun",
+ "type": "Microsoft.ContainerRegistry/registries/pipelineRuns",
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "artifacts": [
+ "sourceRepository/hello-world",
+ "sourceRepository2@sha256:00000000000000000000000000000000000"
+ ]
+ },
+ "response": {
+ "status": "Running",
+ "catalogDigest": "sha256@",
+ "progress": {
+ "percentage": "20"
+ },
+ "startTime": "2020-03-04T17:23:21.9261521+00:00",
+ "target": {
+ "type": "AzureStorageBlob",
+ "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PipelineRunCreate_Import.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PipelineRunCreate_Import.json
new file mode 100644
index 000000000000..0c53d646f713
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PipelineRunCreate_Import.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "pipelineRunName": "myPipelineRun",
+ "pipelineRunCreateParameters": {
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline",
+ "source": {
+ "type": "AzureStorageBlob",
+ "name": "myblob.tar.gz"
+ },
+ "catalogDigest": "sha256@"
+ },
+ "forceUpdateTag": "2020-03-04T17:23:21.9261521+00:00"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun",
+ "name": "myPipelineRun",
+ "type": "Microsoft.ContainerRegistry/registries/pipelineRuns",
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline"
+ },
+ "response": {
+ "status": "Succeeded",
+ "progress": {
+ "percentage": "100"
+ },
+ "startTime": "2020-03-04T17:23:21.9261521+00:00",
+ "importedArtifacts": [
+ "sourceRepository/hello-world",
+ "sourceRepository2@sha256:00000000000000000000000000000000000"
+ ],
+ "source": {
+ "type": "AzureStorageBlob",
+ "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas"
+ },
+ "catalogDigest": "sha256@"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun",
+ "name": "myPipelineRun",
+ "type": "Microsoft.ContainerRegistry/registries/pipelineRuns",
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline"
+ },
+ "response": {
+ "status": "Succeeded",
+ "progress": {
+ "percentage": "100"
+ },
+ "startTime": "2020-03-04T17:23:21.9261521+00:00",
+ "finishTime": "2020-03-04T17:25:21.9261521+00:00",
+ "importedArtifacts": [
+ "sourceRepository/hello-world",
+ "sourceRepository2@sha256:00000000000000000000000000000000000"
+ ],
+ "source": {
+ "type": "AzureStorageBlob",
+ "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas"
+ },
+ "catalogDigest": "sha256@"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PipelineRunDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PipelineRunDelete.json
new file mode 100644
index 000000000000..1ca716bbfa93
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PipelineRunDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "pipelineRunName": "myPipelineRun"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PipelineRunGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PipelineRunGet.json
new file mode 100644
index 000000000000..524c74e2c8ad
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PipelineRunGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "pipelineRunName": "myPipelineRun"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun",
+ "name": "myPipelineRun",
+ "type": "Microsoft.ContainerRegistry/registries/pipelineRuns",
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "artifacts": [
+ "sourceRepository/hello-world",
+ "sourceRepository2@sha256:00000000000000000000000000000000000"
+ ]
+ },
+ "response": {
+ "status": "Running",
+ "catalogDigest": "sha256@",
+ "progress": {
+ "percentage": "20"
+ },
+ "startTime": "2020-03-04T17:23:21.9261521+00:00",
+ "target": {
+ "type": "AzureStorageBlob",
+ "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PipelineRunList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PipelineRunList.json
new file mode 100644
index 000000000000..d80e6d94d79f
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PipelineRunList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun",
+ "name": "myPipelineRun",
+ "type": "Microsoft.ContainerRegistry/registries/pipelineRuns",
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "artifacts": [
+ "sourceRepository/hello-world",
+ "sourceRepository2@sha256:00000000000000000000000000000000000"
+ ]
+ },
+ "response": {
+ "status": "Running",
+ "catalogDigest": "sha256@",
+ "progress": {
+ "percentage": "20"
+ },
+ "startTime": "2020-03-04T17:23:21.9261521+00:00",
+ "target": {
+ "type": "AzureStorageBlob",
+ "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun",
+ "name": "myPipelineRun",
+ "type": "Microsoft.ContainerRegistry/registries/pipelineRuns",
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline"
+ },
+ "response": {
+ "status": "Succeeded",
+ "progress": {
+ "percentage": "100"
+ },
+ "startTime": "2020-03-03T17:23:21.9261521+00:00",
+ "importedArtifacts": [
+ "sourceRepository/hello-world",
+ "sourceRepository2@sha256:00000000000000000000000000000000000"
+ ],
+ "source": {
+ "type": "AzureStorageBlob",
+ "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas"
+ },
+ "catalogDigest": "sha256@"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PrivateEndpointConnectionCreateOrUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PrivateEndpointConnectionCreateOrUpdate.json
new file mode 100644
index 000000000000..b3c20c4f50be
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PrivateEndpointConnectionCreateOrUpdate.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "privateEndpointConnectionName": "myConnection",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PrivateEndpointConnectionDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PrivateEndpointConnectionDelete.json
new file mode 100644
index 000000000000..5d8236906e68
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PrivateEndpointConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "privateEndpointConnectionName": "myConnection"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PrivateEndpointConnectionGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PrivateEndpointConnectionGet.json
new file mode 100644
index 000000000000..48046a33586a
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PrivateEndpointConnectionGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "privateEndpointConnectionName": "myConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PrivateEndpointConnectionList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PrivateEndpointConnectionList.json
new file mode 100644
index 000000000000..4c0c2d1f547b
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/PrivateEndpointConnectionList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryCheckNameAvailable.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryCheckNameAvailable.json
new file mode 100644
index 000000000000..bc0c0499f824
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryCheckNameAvailable.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "registryNameCheckRequest": {
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryCheckNameNotAvailable.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryCheckNameNotAvailable.json
new file mode 100644
index 000000000000..a8737b5ec556
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryCheckNameNotAvailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "registryNameCheckRequest": {
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "The registry myRegistry is already in use."
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryCreate.json
new file mode 100644
index 000000000000..3ccaa4e942d3
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryCreate.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "registry": {
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "adminUserEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": true,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Creating",
+ "adminUserEnabled": true,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryCreateZoneRedundant.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryCreateZoneRedundant.json
new file mode 100644
index 000000000000..1cdef6492e3b
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryCreateZoneRedundant.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "registry": {
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "zoneRedundancy": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": false,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Enabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Creating",
+ "adminUserEnabled": false,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Enabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryDelete.json
new file mode 100644
index 000000000000..b393b2af36c9
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryGenerateCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryGenerateCredentials.json
new file mode 100644
index 000000000000..eed1d51965ab
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryGenerateCredentials.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "generateCredentialsParameters": {
+ "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+ "expiry": "2020-12-31T15:59:59.0707808Z"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "username": "myToken",
+ "passwords": [
+ {
+ "expiry": "2020-12-31T15:59:59.0707808Z",
+ "name": "password1",
+ "value": "00000000000000000000000000000000"
+ },
+ {
+ "expiry": "2020-12-31T15:59:59.0707808Z",
+ "name": "password2",
+ "value": "00000000000000000000000000000000"
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryGet.json
new file mode 100644
index 000000000000..30203f5e170b
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryGet.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": false,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryList.json
new file mode 100644
index 000000000000..e41ecfd31a7e
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryList.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": false,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryListByResourceGroup.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryListByResourceGroup.json
new file mode 100644
index 000000000000..5fdf7ce6514e
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryListByResourceGroup.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": false,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryListCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryListCredentials.json
new file mode 100644
index 000000000000..877f006de865
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryListCredentials.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "username": "myRegistry",
+ "passwords": [
+ {
+ "name": "password",
+ "value": "00000000000000000000000000000000"
+ },
+ {
+ "name": "password2",
+ "value": "00000000000000000000000000000000"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryListPrivateLinkResources.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryListPrivateLinkResources.json
new file mode 100644
index 000000000000..ac92b0afd81e
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryListPrivateLinkResources.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateLinkResources/registry",
+ "name": "registry",
+ "type": "Microsoft.ContainerRegistry/registries/privateLinkResources",
+ "properties": {
+ "groupId": "registry",
+ "requiredMembers": [
+ "registry",
+ "registry_data_myregion"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azurecr.io"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryListUsages.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryListUsages.json
new file mode 100644
index 000000000000..ff7ddaec297b
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryListUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Size",
+ "limit": 107374182400,
+ "currentValue": 12345678,
+ "unit": "Bytes"
+ },
+ {
+ "name": "Webhooks",
+ "limit": 10,
+ "currentValue": 2,
+ "unit": "Count"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryRegenerateCredential.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryRegenerateCredential.json
new file mode 100644
index 000000000000..f9d059f6aff3
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryRegenerateCredential.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "regenerateCredentialParameters": {
+ "name": "password"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "username": "myRegistry",
+ "passwords": [
+ {
+ "name": "password",
+ "value": "00000000000000000000000000000000"
+ },
+ {
+ "name": "password2",
+ "value": "00000000000000000000000000000000"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryUpdate.json
new file mode 100644
index 000000000000..144512b97f19
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/RegistryUpdate.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "registryUpdateParameters": {
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "adminUserEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": true,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Updating",
+ "adminUserEnabled": true,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationCreate.json
new file mode 100644
index 000000000000..f31b4cd3d7cd
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationCreate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication",
+ "replication": {
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "status": {
+ "displayStatus": "Provisioning",
+ "message": "The replication is provisioning.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationCreateZoneRedundant.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationCreateZoneRedundant.json
new file mode 100644
index 000000000000..a59bbff8f669
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationCreateZoneRedundant.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication",
+ "replication": {
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Enabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "status": {
+ "displayStatus": "Provisioning",
+ "message": "The replication is provisioning.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationDelete.json
new file mode 100644
index 000000000000..edf305fe9f9f
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationGet.json
new file mode 100644
index 000000000000..afee7df00e38
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationList.json
new file mode 100644
index 000000000000..ad9ba1b7d8e8
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationUpdate.json
new file mode 100644
index 000000000000..9038ad2d753b
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ReplicationUpdate.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication",
+ "replicationUpdateParameters": {
+ "tags": {
+ "key": "value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Updating",
+ "status": {
+ "displayStatus": "Provisioning",
+ "message": "The replication is provisioning.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ScopeMapCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ScopeMapCreate.json
new file mode 100644
index 000000000000..42f30cf7c3d2
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ScopeMapCreate.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "scopeMapName": "myScopeMap",
+ "scopeMapCreateParameters": {
+ "properties": {
+ "description": "Developer Scopes",
+ "actions": [
+ "repositories/myrepository/contentWrite",
+ "repositories/myrepository/delete"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "name": "myScopeMap",
+ "type": "Microsoft.ContainerRegistry/registries/scopeMaps",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "type": "IsUserDefined",
+ "actions": [
+ "repositories/myrepository/contentWrite",
+ "repositories/myrepository/delete"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "name": "myScopeMap",
+ "type": "Microsoft.ContainerRegistry/registries/scopeMaps",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "type": "IsUserDefined",
+ "actions": [
+ "repositories/myrepository/contentWrite",
+ "repositories/myrepository/delete"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ScopeMapDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ScopeMapDelete.json
new file mode 100644
index 000000000000..cc7b2e0789c4
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ScopeMapDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "scopeMapName": "myScopeMap"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ScopeMapGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ScopeMapGet.json
new file mode 100644
index 000000000000..bb81f97ded98
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ScopeMapGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "scopeMapName": "myScopeMap"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "name": "myScopeMap",
+ "type": "Microsoft.ContainerRegistry/registries/scopeMaps",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "type": "IsUserDefined",
+ "actions": [
+ "repositories/myrepository/contentWrite",
+ "repositories/myrepository/delete"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ScopeMapList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ScopeMapList.json
new file mode 100644
index 000000000000..01bd88789218
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ScopeMapList.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "name": "myScopeMap",
+ "type": "Microsoft.ContainerRegistry/registries/scopeMaps",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "type": "IsUserDefined",
+ "actions": [
+ "repositories/myrepository/contentWrite",
+ "repositories/myrepository/delete"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ScopeMapUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ScopeMapUpdate.json
new file mode 100644
index 000000000000..f9b0ef8b4035
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/ScopeMapUpdate.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "scopeMapName": "myScopeMap",
+ "scopeMapUpdateParameters": {
+ "properties": {
+ "description": "Developer Scopes",
+ "actions": [
+ "repositories/myrepository/contentWrite",
+ "repositories/myrepository/contentRead"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "name": "myScopeMap",
+ "type": "Microsoft.ContainerRegistry/registries/scopeMaps",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "type": "IsUserDefined",
+ "actions": [
+ "repositories/myrepository/contentWrite",
+ "repositories/myrepository/contentRead"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "name": "myScopeMap",
+ "type": "Microsoft.ContainerRegistry/registries/scopeMaps",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "type": "IsUserDefined",
+ "actions": [
+ "repositories/myrepository/contentWrite",
+ "repositories/myrepository/contentRead"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/TokenCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/TokenCreate.json
new file mode 100644
index 000000000000..80bb4872fc57
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/TokenCreate.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "tokenName": "myToken",
+ "tokenCreateParameters": {
+ "properties": {
+ "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "status": "disabled",
+ "credentials": {
+ "certificates": [
+ {
+ "name": "certificate1",
+ "encodedPemCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+ "name": "myToken",
+ "type": "Microsoft.ContainerRegistry/registries/tokens",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "provisioningState": "Succeeded",
+ "status": "disabled",
+ "credentials": {
+ "certificates": [
+ {
+ "name": "certificate1",
+ "thumbprint": "feeb79a888bf1415f8e17c4965a2a5bb5c8a2ff7",
+ "expiry": "2020-12-04T15:32:48.0707808Z"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+ "name": "myToken",
+ "type": "Microsoft.ContainerRegistry/registries/tokens",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "provisioningState": "Succeeded",
+ "status": "disabled",
+ "credentials": {
+ "certificates": [
+ {
+ "name": "certificate1",
+ "thumbprint": "feeb79a888bf1415f8e17c4965a2a5bb5c8a2ff7",
+ "expiry": "2020-12-04T15:32:48.0707808Z"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/TokenDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/TokenDelete.json
new file mode 100644
index 000000000000..d3a2ee6aaecb
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/TokenDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "tokenName": "myToken"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/TokenGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/TokenGet.json
new file mode 100644
index 000000000000..c1b104e24817
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/TokenGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "tokenName": "myToken"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+ "name": "myToken",
+ "type": "Microsoft.ContainerRegistry/registries/tokens",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "provisioningState": "Succeeded",
+ "status": "enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/TokenList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/TokenList.json
new file mode 100644
index 000000000000..9255b7c70045
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/TokenList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+ "name": "myToken",
+ "type": "Microsoft.ContainerRegistry/registries/tokens",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "provisioningState": "Succeeded",
+ "status": "enabled"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/TokenUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/TokenUpdate.json
new file mode 100644
index 000000000000..781fad8871a7
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/TokenUpdate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "tokenName": "myToken",
+ "tokenUpdateParameters": {
+ "properties": {
+ "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myNewScopeMap",
+ "credentials": {
+ "certificates": [
+ {
+ "name": "certificate1",
+ "encodedPemCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+ "name": "myToken",
+ "type": "Microsoft.ContainerRegistry/registries/tokens",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myNewScopeMap",
+ "provisioningState": "Succeeded",
+ "status": "enabled",
+ "credentials": {
+ "certificates": [
+ {
+ "name": "certificate1",
+ "encodedPemCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
+ }
+ ]
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+ "name": "myToken",
+ "type": "Microsoft.ContainerRegistry/registries/tokens",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myNewScopeMap",
+ "provisioningState": "Succeeded",
+ "status": "enabled",
+ "credentials": {
+ "certificates": [
+ {
+ "name": "certificate1",
+ "encodedPemCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookCreate.json
new file mode 100644
index 000000000000..6d40076c8e58
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook",
+ "webhookCreateParameters": {
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "serviceUri": "http://myservice.com",
+ "customHeaders": {
+ "Authorization": "Basic 000000000000000000000000000000000000000000000000000"
+ },
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookDelete.json
new file mode 100644
index 000000000000..e053b9286634
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookGet.json
new file mode 100644
index 000000000000..a5f04b466091
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookGetCallbackConfig.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookGetCallbackConfig.json
new file mode 100644
index 000000000000..6a3c7c517bba
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookGetCallbackConfig.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "serviceUri": "http://myservice.com",
+ "customHeaders": {
+ "Authorization": "Basic 000000000000000000000000000000000000000000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookList.json
new file mode 100644
index 000000000000..a07a037ad645
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookListEvents.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookListEvents.json
new file mode 100644
index 000000000000..0949cd114b9d
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookListEvents.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "eventRequestMessage": {
+ "content": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "timestamp": "2017-03-01T23:14:37.0707808Z",
+ "action": "push",
+ "target": {
+ "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
+ "size": 708,
+ "digest": "sha256:fea8895f450959fa676bcc1df0611ea93823a735a01205fd8622846041d0c7cf",
+ "length": 708,
+ "repository": "hello-world",
+ "url": "http://192.168.100.227:5000/v2/hello-world/manifests/sha256:fea8895f450959fa676bcc1df0611ea93823a735a01205fd8622846041d0c7cf",
+ "tag": "latest"
+ },
+ "request": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "addr": "192.168.64.11:42961",
+ "host": "192.168.100.227:5000",
+ "method": "GET",
+ "useragent": "curl/7.38.0"
+ },
+ "actor": {},
+ "source": {
+ "addr": "xtal.local:5000",
+ "instanceID": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ "headers": {
+ "Content-Type": "application/json",
+ "Content-Length": "719",
+ "Authorization": "******"
+ },
+ "method": "POST",
+ "requestUri": "http://myservice.com",
+ "version": "1.1"
+ },
+ "eventResponseMessage": {
+ "headers": {
+ "Content-Length": "0"
+ },
+ "statusCode": "200",
+ "version": "1.1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookPing.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookPing.json
new file mode 100644
index 000000000000..cc0b33f804f5
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookPing.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookUpdate.json
new file mode 100644
index 000000000000..52446b9bd449
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/examples/WebhookUpdate.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook",
+ "webhookUpdateParameters": {
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "serviceUri": "http://myservice.com",
+ "customHeaders": {
+ "Authorization": "Basic 000000000000000000000000000000000000000000000000000"
+ },
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/readme.go.md b/specification/containerregistry/resource-manager/readme.go.md
index cbac89f4b333..91738b70e38a 100644
--- a/specification/containerregistry/resource-manager/readme.go.md
+++ b/specification/containerregistry/resource-manager/readme.go.md
@@ -2,7 +2,15 @@
These settings apply only when `--go` is specified on the command line.
-``` yaml $(go)
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/containerregistry/armcontainerregistry
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
+azure-arm: true
+```
+
+``` yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
namespace: containerregistry
@@ -13,6 +21,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-06-preview
- tag: package-2020-11-preview
- tag: package-2019-12-preview
- tag: package-2019-06-preview
@@ -26,6 +35,15 @@ batch:
- tag: package-2016-06-preview
```
+### Tag: package-2021-06-preview and go
+
+These settings apply only when `--tag=package-2021-06-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-06-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-06-01-preview/$(namespace)
+```
+
### Tag: package-2020-11-preview and go
These settings apply only when `--tag=package-2020-11-preview --go` is specified on the command line.
@@ -123,4 +141,4 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-06-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerregistry.v2021_06_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerregistry/mgmt-v2021_06_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2020-11-preview and java
These settings apply only when `--tag=package-2020-11-preview --java` is specified on the command line.
diff --git a/specification/containerregistry/resource-manager/readme.md b/specification/containerregistry/resource-manager/readme.md
index 81784d6809f4..85d1d178aa71 100644
--- a/specification/containerregistry/resource-manager/readme.md
+++ b/specification/containerregistry/resource-manager/readme.md
@@ -26,8 +26,28 @@ These are the global settings for the ContainerRegistry API.
``` yaml
openapi-type: arm
-tag: package-2020-11-preview
+tag: package-2021-06-preview
```
+
+### Tag: package-2021-06-preview-only
+
+These settings apply only when `--tag=package-2021-06-preview-only` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-06-preview-only'
+input-file:
+ - Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json
+```
+
+### Tag: package-2021-06-preview
+
+These settings apply only when `--tag=package-2021-06-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-06-preview'
+input-file:
+ - Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json
+ - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
+```
+
### Tag: package-2020-11-preview-only
These settings apply only when `--tag=package-2020-11-preview-only` is specified on the command line.
@@ -230,12 +250,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
- autorest_options:
- use: "@microsoft.azure/autorest.python@4.0.70"
- after_scripts:
- - python ./scripts/multiapi_init_gen.py azure-mgmt-containerregistry
- - python ./scripts/trim_aio.py ./sdk/containerregistry/azure-mgmt-containerregistry
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
diff --git a/specification/containerregistry/resource-manager/readme.nodejs.md b/specification/containerregistry/resource-manager/readme.nodejs.md
index a8327ece72a2..709bcdecf903 100644
--- a/specification/containerregistry/resource-manager/readme.nodejs.md
+++ b/specification/containerregistry/resource-manager/readme.nodejs.md
@@ -12,6 +12,6 @@ nodejs:
generate-package-json: true
generate-readme-md: true
input-file:
-- Microsoft.ContainerRegistry/preview/2020-11-01-preview/containerregistry.json
+- Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json
- Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
```
diff --git a/specification/containerregistry/resource-manager/readme.python.md b/specification/containerregistry/resource-manager/readme.python.md
index 6cab3774be2b..ba0c75f1f194 100644
--- a/specification/containerregistry/resource-manager/readme.python.md
+++ b/specification/containerregistry/resource-manager/readme.python.md
@@ -2,15 +2,6 @@
These settings apply only when `--python` is specified on the command line.
-```yaml $(python) && !$(track2)
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- package-name: azure-mgmt-containerregistry
- clear-output-folder: true
- no-namespace-folders: true
-```
```yaml $(python) && $(track2)
azure-arm: true
@@ -25,23 +16,10 @@ no-namespace-folders: true
Generate all API versions currently shipped for this package
-```yaml $(python) && $(multiapi) && !$(track2)
-batch:
- - tag: package-2020-11-preview
- - tag: package-2019-12-preview
- - tag: package-2019-06-preview
- - tag: package-2019-05
- - tag: package-2019-05-preview
- - tag: package-2019-04
- - tag: package-2018-09
- - tag: package-2018-02-preview
- - tag: package-2017-10
- - tag: package-2017-03
-```
-
```yaml $(python) && $(multiapi) && $(track2)
clear-output-folder: true
batch:
+ - tag: package-2021-06-preview-only
- tag: package-2020-11-preview-only
- tag: package-2019-12-preview-only
- tag: package-2019-06-preview-only
@@ -60,15 +38,33 @@ output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregis
clear-output-folder: false
perform-load: false
```
+
+### Tag: package-2021-06-preview-only and python
+
+These settings apply only when `--tag=package-2021-06-preview-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-06-preview-only' && $(python)
+namespace: azure.mgmt.containerregistry.v2021_06_01_preview
+output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2021_06_01_preview
+```
+
+### Tag: package-2021-06-preview and python
+
+These settings apply only when `--tag=package-2021-06-preview --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-06-preview' && $(python)
+namespace: azure.mgmt.containerregistry.v2021_06_01_preview
+output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2021_06_01_preview
+```
+
### Tag: package-2020-11-preview-only and python
These settings apply only when `--tag=package-2020-11-preview-only --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2020-11-preview-only' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2020_11_01_preview
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2020_11_01_preview
namespace: azure.mgmt.containerregistry.v2020_11_01_preview
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2020_11_01_preview
```
@@ -79,9 +75,6 @@ These settings apply only when `--tag=package-2020-11-preview --python` is speci
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2020-11-preview' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2020_11_01_preview
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2020_11_01_preview
namespace: azure.mgmt.containerregistry.v2020_11_01_preview
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2020_11_01_preview
```
@@ -92,9 +85,6 @@ These settings apply only when `--tag=package-2019-12-preview-only --python` is
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2019-12-preview-only' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2019_12_01_preview
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_12_01_preview
namespace: azure.mgmt.containerregistry.v2019_12_01_preview
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_12_01_preview
```
@@ -105,9 +95,6 @@ These settings apply only when `--tag=package-2019-12-preview --python` is speci
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2019-12-preview' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2019_12_01_preview
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_12_01_preview
namespace: azure.mgmt.containerregistry.v2019_12_01_preview
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_12_01_preview
```
@@ -118,9 +105,6 @@ These settings apply only when `--tag=package-2019-06-preview-only --python` is
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2019-06-preview-only' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2019_06_01_preview
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_06_01_preview
namespace: azure.mgmt.containerregistry.v2019_06_01_preview
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_06_01_preview
```
@@ -131,9 +115,6 @@ These settings apply only when `--tag=package-2019-06-preview --python` is speci
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2019-06-preview' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2019_06_01_preview
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_06_01_preview
namespace: azure.mgmt.containerregistry.v2019_06_01_preview
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_06_01_preview
```
@@ -144,9 +125,6 @@ These settings apply only when `--tag=package-2019-05-only --python` is specifie
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2019-05-only' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2019_05_01
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_05_01
namespace: azure.mgmt.containerregistry.v2019_05_01
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_05_01
```
@@ -157,9 +135,6 @@ These settings apply only when `--tag=package-2019-05 --python` is specified on
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2019-05' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2019_05_01
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_05_01
namespace: azure.mgmt.containerregistry.v2019_05_01
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_05_01
```
@@ -170,9 +145,6 @@ These settings apply only when `--tag=package-2019-05-preview-only --python` is
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2019-05-preview-only' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2019_05_01_preview
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_05_01_preview
namespace: azure.mgmt.containerregistry.v2019_05_01_preview
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_05_01_preview
```
@@ -183,9 +155,6 @@ These settings apply only when `--tag=package-2019-05-preview --python` is speci
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2019-05-preview' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2019_05_01_preview
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_05_01_preview
namespace: azure.mgmt.containerregistry.v2019_05_01_preview
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_05_01_preview
```
@@ -196,9 +165,6 @@ These settings apply only when `--tag=package-2019-04-only --python` is specifie
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2019-04-only' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2019_04_01
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_04_01
namespace: azure.mgmt.containerregistry.v2019_04_01
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_04_01
```
@@ -209,9 +175,6 @@ These settings apply only when `--tag=package-2019-04 --python` is specified on
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2019-04' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2019_04_01
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_04_01
namespace: azure.mgmt.containerregistry.v2019_04_01
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2019_04_01
```
@@ -222,9 +185,6 @@ These settings apply only when `--tag=package-2018-09-only --python` is specifie
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2018-09-only' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2018_09_01
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2018_09_01
namespace: azure.mgmt.containerregistry.v2018_09_01
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2018_09_01
```
@@ -235,9 +195,6 @@ These settings apply only when `--tag=package-2018-09 --python` is specified on
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2018-09' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2018_09_01
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2018_09_01
namespace: azure.mgmt.containerregistry.v2018_09_01
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2018_09_01
```
@@ -248,9 +205,6 @@ These settings apply only when `--tag=package-2018-02-preview-only --python` is
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2018-02-preview-only' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2018_02_01_preview
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2018_02_01_preview
namespace: azure.mgmt.containerregistry.v2018_02_01_preview
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2018_02_01_preview
```
@@ -261,9 +215,6 @@ These settings apply only when `--tag=package-2018-02-preview --python` is speci
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2018-02-preview' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2018_02_01_preview
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2018_02_01_preview
namespace: azure.mgmt.containerregistry.v2018_02_01_preview
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2018_02_01_preview
```
@@ -274,9 +225,6 @@ These settings apply only when `--tag=package-2017-10 --python` is specified on
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2017-10' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2017_10_01
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2017_10_01
namespace: azure.mgmt.containerregistry.v2017_10_01
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2017_10_01
```
@@ -287,9 +235,6 @@ These settings apply only when `--tag=package-2017-03 --python` is specified on
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2017-03' && $(python)
-python:
- namespace: azure.mgmt.containerregistry.v2017_03_01
- output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2017_03_01
namespace: azure.mgmt.containerregistry.v2017_03_01
output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2017_03_01
```
diff --git a/specification/containerregistry/resource-manager/readme.ruby.md b/specification/containerregistry/resource-manager/readme.ruby.md
index 0e5ebef4d309..200b1c1dbf9e 100644
--- a/specification/containerregistry/resource-manager/readme.ruby.md
+++ b/specification/containerregistry/resource-manager/readme.ruby.md
@@ -12,6 +12,7 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2021-06-preview
- tag: package-2020-11-preview
- tag: package-2019-12-preview
- tag: package-2017-10
@@ -20,6 +21,16 @@ batch:
- tag: package-2016-06-preview
```
+### Tag: package-2021-06-preview and ruby
+
+These settings apply only when `--tag=package-2021-06-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-06-preview' && $(ruby)
+namespace: "Azure::ContainerRegistry::Mgmt::V2021_06_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_container_registry/lib
+```
+
### Tag: package-2020-11-preview and ruby
These settings apply only when `--tag=package-2020-11-preview --ruby` is specified on the command line.
diff --git a/specification/containerregistry/resource-manager/readme.typescript.md b/specification/containerregistry/resource-manager/readme.typescript.md
index d78cfd959f51..5d15348ef436 100644
--- a/specification/containerregistry/resource-manager/readme.typescript.md
+++ b/specification/containerregistry/resource-manager/readme.typescript.md
@@ -5,7 +5,7 @@ Please also specify `--typescript-sdks-folder=
**Restriction:** Cannot end in \".\"
**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".
**Minimum-length:** 1 character
**Max-length:** 20 characters"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "Specifies the password of the administrator account.
**Minimum-length:** 8 characters
**Max-length:** 123 characters
**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])
**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\""
+ },
+ "licenseType": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Windows_Server"
+ ],
+ "x-ms-enum": {
+ "name": "licenseType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No additional licensing is applied."
+ },
+ {
+ "value": "Windows_Server",
+ "description": "Enables Azure Hybrid User Benefits for Windows VMs."
+ }
+ ]
+ },
+ "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details."
+ },
+ "enableCSIProxy": {
+ "type": "boolean",
+ "title": "Whether to enable CSI proxy.",
+ "description": "For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy)."
+ }
+ },
+ "required": [
+ "adminUsername"
+ ],
+ "description": "Profile for Windows VMs in the managed cluster."
+ },
+ "ContainerServiceLinuxProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Linux VMs.",
+ "pattern": "^[A-Za-z][-A-Za-z0-9_]*$"
+ },
+ "ssh": {
+ "$ref": "#/definitions/ContainerServiceSshConfiguration",
+ "description": "The SSH configuration for Linux-based VMs running on Azure."
+ }
+ },
+ "required": [
+ "adminUsername",
+ "ssh"
+ ],
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "ContainerServiceNetworkProfile": {
+ "properties": {
+ "networkPlugin": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "kubenet"
+ ],
+ "default": "kubenet",
+ "x-ms-enum": {
+ "name": "NetworkPlugin",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "azure",
+ "description": "Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information."
+ },
+ {
+ "value": "kubenet",
+ "description": "Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information."
+ }
+ ]
+ },
+ "description": "Network plugin used for building the Kubernetes network."
+ },
+ "networkPolicy": {
+ "type": "string",
+ "enum": [
+ "calico",
+ "azure"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPolicy",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "calico",
+ "description": "Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information."
+ },
+ {
+ "value": "azure",
+ "description": "Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information."
+ }
+ ]
+ },
+ "description": "Network policy used for building the Kubernetes network."
+ },
+ "networkMode": {
+ "type": "string",
+ "enum": [
+ "transparent",
+ "bridge"
+ ],
+ "x-ms-enum": {
+ "name": "networkMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "transparent",
+ "description": "No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information."
+ },
+ {
+ "value": "bridge",
+ "description": "This is no longer supported"
+ }
+ ]
+ },
+ "title": "The network mode Azure CNI is configured with.",
+ "description": "This cannot be specified if networkPlugin is anything other than 'azure'."
+ },
+ "podCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.244.0.0/16",
+ "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used."
+ },
+ "serviceCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.0.0.0/16",
+ "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges."
+ },
+ "dnsServiceIP": {
+ "type": "string",
+ "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
+ "default": "10.0.0.10",
+ "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr."
+ },
+ "dockerBridgeCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "172.17.0.1/16",
+ "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range."
+ },
+ "outboundType": {
+ "type": "string",
+ "enum": [
+ "loadBalancer",
+ "userDefinedRouting"
+ ],
+ "x-ms-enum": {
+ "name": "outboundType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "loadBalancer",
+ "description": "The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer)."
+ },
+ {
+ "value": "userDefinedRouting",
+ "description": "Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting)."
+ }
+ ]
+ },
+ "default": "loadBalancer",
+ "title": "The outbound (egress) routing method.",
+ "description": "This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype)."
+ },
+ "loadBalancerSku": {
+ "type": "string",
+ "enum": [
+ "standard",
+ "basic"
+ ],
+ "x-ms-enum": {
+ "name": "loadBalancerSku",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "standard",
+ "description": "Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article."
+ },
+ {
+ "value": "basic",
+ "description": "Use a basic Load Balancer with limited functionality."
+ }
+ ]
+ },
+ "title": "The load balancer sku for the managed cluster.",
+ "description": "The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs."
+ },
+ "loadBalancerProfile": {
+ "$ref": "#/definitions/ManagedClusterLoadBalancerProfile",
+ "description": "Profile of the cluster load balancer."
+ }
+ },
+ "description": "Profile of network configuration."
+ },
+ "MaintenanceConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ },
+ "description": "The list of maintenance configurations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of maintenance configuration results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List maintenance configurations operation."
+ },
+ "SystemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the resource."
+ },
+ "createdByType": {
+ "type": "string",
+ "description": "The type of identity that created the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The UTC timestamp of resource creation."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the resource."
+ },
+ "lastModifiedByType": {
+ "type": "string",
+ "description": "The type of identity that last modified the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The type of identity that last modified the resource."
+ }
+ }
+ },
+ "MaintenanceConfiguration": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "readOnly": true,
+ "description": "The system metadata relating to this resource."
+ },
+ "properties": {
+ "description": "Properties of a default maintenance configuration.",
+ "$ref": "#/definitions/MaintenanceConfigurationProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "title": "Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster.",
+ "description": "See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance."
+ },
+ "MaintenanceConfigurationProperties": {
+ "properties": {
+ "timeInWeek": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeInWeek"
+ },
+ "title": "Time slots during the week when planned maintenance is allowed to proceed.",
+ "description": "If two array entries specify the same day of the week, the applied configuration is the union of times in both entries."
+ },
+ "notAllowedTime": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSpan"
+ },
+ "description": "Time slots on which upgrade is not allowed."
+ }
+ },
+ "description": "Properties used to configure planned maintenance for a Managed Cluster."
+ },
+ "TimeInWeek": {
+ "properties": {
+ "day": {
+ "$ref": "#/definitions/WeekDay",
+ "description": "The day of the week."
+ },
+ "hourSlots": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HourInDay"
+ },
+ "title": "A list of hours in the day used to identify a time range.",
+ "description": "Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range."
+ }
+ },
+ "description": "Time in a week."
+ },
+ "WeekDay": {
+ "type": "string",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "x-ms-enum": {
+ "name": "WeekDay",
+ "modelAsString": true
+ },
+ "description": "The weekday enum."
+ },
+ "HourInDay": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 23,
+ "minimum": 0,
+ "description": "Hour in a day."
+ },
+ "TimeSpan": {
+ "properties": {
+ "start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start of a time span"
+ },
+ "end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end of a time span"
+ }
+ },
+ "title": "A time range.",
+ "description": "For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z."
+ },
+ "RunCommandRequest": {
+ "properties": {
+ "command": {
+ "type": "string",
+ "description": "The command to run."
+ },
+ "context": {
+ "type": "string",
+ "description": "A base64 encoded zip file containing the files required by the command."
+ },
+ "clusterToken": {
+ "type": "string",
+ "description": "AuthToken issued for AKS AAD Server App."
+ }
+ },
+ "description": "A run command request",
+ "required": [
+ "command"
+ ]
+ },
+ "RunCommandResult": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The command id.",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Properties of command result.",
+ "$ref": "#/definitions/CommandResultProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "description": "run command result."
+ },
+ "CommandResultProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "provisioning State"
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The exit code of the command"
+ },
+ "startedAt": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The time when the command started."
+ },
+ "finishedAt": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The time when the command finished."
+ },
+ "logs": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The command output."
+ },
+ "reason": {
+ "type": "string",
+ "readOnly": true,
+ "description": "An explanation of why provisioningState is set to failed (if so)."
+ }
+ },
+ "description": "The results of a run command"
+ },
+ "ManagedClusterLoadBalancerProfile": {
+ "properties": {
+ "managedOutboundIPs": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "The desired number of outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ }
+ },
+ "description": "Desired managed outbound IPs for the cluster load balancer."
+ },
+ "outboundIPPrefixes": {
+ "properties": {
+ "publicIPPrefixes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP prefix resources."
+ }
+ },
+ "description": "Desired outbound IP Prefix resources for the cluster load balancer."
+ },
+ "outboundIPs": {
+ "properties": {
+ "publicIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP resources."
+ }
+ },
+ "description": "Desired outbound IP resources for the cluster load balancer."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster load balancer."
+ },
+ "allocatedOutboundPorts": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 64000,
+ "minimum": 0,
+ "description": "The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
+ "default": 0
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
+ "default": 30
+ }
+ },
+ "description": "Profile of the managed cluster load balancer."
+ },
+ "ResourceReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified Azure resource id."
+ }
+ },
+ "description": "A reference to an Azure resource."
+ },
+ "ContainerServiceSshConfiguration": {
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerServiceSshPublicKey"
+ },
+ "description": "The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified."
+ }
+ },
+ "description": "SSH configuration for Linux-based VMs running on Azure.",
+ "required": [
+ "publicKeys"
+ ]
+ },
+ "ContainerServiceSshPublicKey": {
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers."
+ }
+ },
+ "required": [
+ "keyData"
+ ],
+ "description": "Contains information about SSH certificate public key data."
+ },
+ "ContainerServiceDiagnosticsProfile": {
+ "properties": {
+ "vmDiagnostics": {
+ "$ref": "#/definitions/ContainerServiceVMDiagnostics",
+ "description": "Profile for diagnostics on the container service VMs."
+ }
+ },
+ "description": "Profile for diagnostics on the container service cluster.",
+ "required": [
+ "vmDiagnostics"
+ ]
+ },
+ "ContainerServiceVMDiagnostics": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the VM diagnostic agent is provisioned on the VM."
+ },
+ "storageUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI of the storage account where diagnostics are stored."
+ }
+ },
+ "description": "Profile for diagnostics on the container service VMs.",
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The list of managed clusters."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Clusters operation."
+ },
+ "ManagedCluster": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ManagedClusterSKU",
+ "description": "The managed cluster SKU."
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extended location of the Virtual Machine."
+ }
+ },
+ "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 provisioning state."
+ },
+ "powerState": {
+ "$ref": "#/definitions/PowerState",
+ "description": "The Power State of the cluster.",
+ "readOnly": true
+ },
+ "maxAgentPools": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The max number of agent pools for the managed cluster."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "title": "The version of Kubernetes the Managed Cluster is running.",
+ "description": "When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details."
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "title": "The DNS prefix of the Managed Cluster.",
+ "description": "This cannot be updated once the Managed Cluster has been created."
+ },
+ "fqdnSubdomain": {
+ "type": "string",
+ "title": "The FQDN subdomain of the private cluster with custom private dns zone.",
+ "description": "This cannot be updated once the Managed Cluster has been created."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The FQDN of the master pool."
+ },
+ "privateFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The FQDN of private cluster."
+ },
+ "azurePortalFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "title": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients.",
+ "description": "The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfile"
+ },
+ "description": "The agent pool properties."
+ },
+ "linuxProfile": {
+ "$ref": "#/definitions/ContainerServiceLinuxProfile",
+ "description": "The profile for Linux VMs in the Managed Cluster."
+ },
+ "windowsProfile": {
+ "$ref": "#/definitions/ManagedClusterWindowsProfile",
+ "description": "The profile for Windows VMs in the Managed Cluster."
+ },
+ "servicePrincipalProfile": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile",
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs."
+ },
+ "addonProfiles": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ManagedClusterAddonProfile"
+ },
+ "description": "The profile of managed cluster add-on."
+ },
+ "podIdentityProfile": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProfile",
+ "title": "The pod identity profile of the Managed Cluster.",
+ "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration."
+ },
+ "nodeResourceGroup": {
+ "type": "string",
+ "description": "The name of the resource group containing agent pool nodes."
+ },
+ "enableRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Kubernetes Role-Based Access Control."
+ },
+ "enablePodSecurityPolicy": {
+ "type": "boolean",
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/ContainerServiceNetworkProfile",
+ "description": "The network configuration profile."
+ },
+ "aadProfile": {
+ "$ref": "#/definitions/ManagedClusterAADProfile",
+ "description": "The Azure Active Directory configuration."
+ },
+ "autoUpgradeProfile": {
+ "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile",
+ "description": "The auto upgrade configuration."
+ },
+ "autoScalerProfile": {
+ "type": "object",
+ "properties": {
+ "balance-similar-node-groups": {
+ "type": "string",
+ "title": "Detects similar node pools and balances the number of nodes between them.",
+ "description": "Valid values are 'true' and 'false'"
+ },
+ "expander": {
+ "type": "string",
+ "enum": [
+ "least-waste",
+ "most-pods",
+ "priority",
+ "random"
+ ],
+ "x-ms-enum": {
+ "name": "expander",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "least-waste",
+ "description": "Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources."
+ },
+ {
+ "value": "most-pods",
+ "description": "Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once."
+ },
+ {
+ "value": "priority",
+ "description": "Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md)."
+ },
+ {
+ "value": "random",
+ "description": "Used when you don't have a particular need for the node groups to scale differently."
+ }
+ ]
+ },
+ "title": "The expander to use when scaling up",
+ "description": "If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information."
+ },
+ "max-empty-bulk-delete": {
+ "type": "string",
+ "title": "The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer.",
+ "description": "The default is 10."
+ },
+ "max-graceful-termination-sec": {
+ "type": "string",
+ "title": "The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node.",
+ "description": "The default is 600."
+ },
+ "max-node-provision-time": {
+ "type": "string",
+ "title": "The maximum time the autoscaler waits for a node to be provisioned.",
+ "description": "The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "max-total-unready-percentage": {
+ "type": "string",
+ "title": "The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations.",
+ "description": "The default is 45. The maximum is 100 and the minimum is 0."
+ },
+ "new-pod-scale-up-delay": {
+ "type": "string",
+ "title": "Ignore unscheduled pods before they're a certain age.",
+ "description": "For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc)."
+ },
+ "ok-total-unready-count": {
+ "type": "string",
+ "title": "The number of allowed unready nodes, irrespective of max-total-unready-percentage.",
+ "description": "This must be an integer. The default is 3."
+ },
+ "scan-interval": {
+ "type": "string",
+ "title": "How often cluster is reevaluated for scale up or down.",
+ "description": "The default is '10'. Values must be an integer number of seconds."
+ },
+ "scale-down-delay-after-add": {
+ "type": "string",
+ "title": "How long after scale up that scale down evaluation resumes",
+ "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-delay-after-delete": {
+ "type": "string",
+ "title": "How long after node deletion that scale down evaluation resumes.",
+ "description": "The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-delay-after-failure": {
+ "type": "string",
+ "title": "How long after scale down failure that scale down evaluation resumes.",
+ "description": "The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-unneeded-time": {
+ "type": "string",
+ "title": "How long a node should be unneeded before it is eligible for scale down.",
+ "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-unready-time": {
+ "type": "string",
+ "title": "How long an unready node should be unneeded before it is eligible for scale down",
+ "description": "The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-utilization-threshold": {
+ "type": "string",
+ "title": "Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down.",
+ "description": "The default is '0.5'."
+ },
+ "skip-nodes-with-local-storage": {
+ "type": "string",
+ "title": "If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath.",
+ "description": "The default is true."
+ },
+ "skip-nodes-with-system-pods": {
+ "type": "string",
+ "title": "If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods)",
+ "description": "The default is true."
+ }
+ },
+ "description": "Parameters to be applied to the cluster-autoscaler when enabled"
+ },
+ "apiServerAccessProfile": {
+ "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile",
+ "description": "The access profile for managed cluster API server."
+ },
+ "diskEncryptionSetID": {
+ "type": "string",
+ "title": "The Resource ID of the disk encryption set to use for enabling encryption at rest.",
+ "description": "This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'"
+ },
+ "identityProfile": {
+ "additionalProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ },
+ "description": "Identities associated with the cluster."
+ },
+ "privateLinkResources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ },
+ "description": "Private link resources associated with the cluster."
+ },
+ "disableLocalAccounts": {
+ "type": "boolean",
+ "title": "If local accounts should be disabled on the Managed Cluster.",
+ "description": "If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview)."
+ },
+ "httpProxyConfig": {
+ "$ref": "#/definitions/ManagedClusterHTTPProxyConfig",
+ "description": "Configurations for provisioning the cluster with HTTP proxy servers."
+ }
+ },
+ "description": "Properties of the managed cluster."
+ },
+ "PowerState": {
+ "description": "Describes the Power State of the cluster",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Tells whether the cluster is Running or Stopped",
+ "enum": [
+ "Running",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "code",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Running",
+ "description": "The cluster is running."
+ },
+ {
+ "value": "Stopped",
+ "description": "The cluster is stopped."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "ManagedClusterAPIServerAccessProfile": {
+ "properties": {
+ "authorizedIPRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The IP ranges authorized to access the Kubernetes API server.",
+ "description": "IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges)."
+ },
+ "enablePrivateCluster": {
+ "type": "boolean",
+ "title": "Whether to create the cluster as a private cluster or not.",
+ "description": "For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters)."
+ },
+ "privateDNSZone": {
+ "type": "string",
+ "title": "The private DNS zone mode for the cluster.",
+ "description": "The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'."
+ },
+ "enablePrivateClusterPublicFQDN": {
+ "type": "boolean",
+ "description": "Whether to create additional public FQDN for private cluster or not."
+ }
+ },
+ "description": "Access profile for managed cluster API server."
+ },
+ "ManagedClusterIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity which is used by master components."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity which is used by master components."
+ },
+ "type": {
+ "type": "string",
+ "title": "The type of identity used for the managed cluster.",
+ "description": "For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "SystemAssigned",
+ "description": "Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources."
+ },
+ {
+ "value": "UserAssigned",
+ "description": "Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources."
+ },
+ {
+ "value": "None",
+ "description": "Do not use a managed identity for the Managed Cluster, service principal will be used instead."
+ }
+ ]
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "title": "The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed.",
+ "description": "The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the managed cluster."
+ },
+ "UserAssignedIdentity": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The resource ID of the user assigned identity."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "The client ID of the user assigned identity."
+ },
+ "objectId": {
+ "type": "string",
+ "description": "The object ID of the user assigned identity."
+ }
+ },
+ "description": "Details about a user assigned identity."
+ },
+ "ManagedClusterAccessProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "AccessProfile of a managed cluster.",
+ "$ref": "#/definitions/AccessProfile",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster Access Profile.",
+ "x-ms-azure-resource": false
+ },
+ "AccessProfile": {
+ "type": "object",
+ "properties": {
+ "kubeConfig": {
+ "type": "string",
+ "format": "byte",
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "Profile for enabling a user to access a managed cluster."
+ },
+ "ManagedClusterPoolUpgradeProfile": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "name": {
+ "type": "string",
+ "description": "The Agent Pool name."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType"
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether the Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "ManagedClusterUpgradeProfileProperties": {
+ "properties": {
+ "controlPlaneProfile": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile",
+ "description": "The list of available upgrade versions for the control plane."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile"
+ },
+ "description": "The list of available upgrade versions for agent pools."
+ }
+ },
+ "required": [
+ "controlPlaneProfile",
+ "agentPoolProfiles"
+ ],
+ "description": "Control plane and agent pool upgrade profiles."
+ },
+ "ManagedClusterAutoUpgradeProfile": {
+ "properties": {
+ "upgradeChannel": {
+ "type": "string",
+ "enum": [
+ "rapid",
+ "stable",
+ "patch",
+ "node-image",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "upgradeChannel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "rapid",
+ "description": "Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1."
+ },
+ {
+ "value": "stable",
+ "description": "Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6."
+ },
+ {
+ "value": "patch",
+ "description": "Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9."
+ },
+ {
+ "value": "node-image",
+ "description": "Automatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will automatically update your node images whenever a new version is available."
+ },
+ {
+ "value": "none",
+ "description": "Disables auto-upgrades and keeps the cluster at its current version of Kubernetes."
+ }
+ ]
+ },
+ "title": "The upgrade channel for auto upgrade. The default is 'none'.",
+ "description": "For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel)."
+ }
+ },
+ "description": "Auto upgrade profile for a managed cluster."
+ },
+ "ManagedClusterAADProfile": {
+ "properties": {
+ "managed": {
+ "type": "boolean",
+ "description": "Whether to enable managed AAD."
+ },
+ "enableAzureRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Azure RBAC for Kubernetes authorization."
+ },
+ "adminGroupObjectIDs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of AAD group object IDs that will have admin role of the cluster."
+ },
+ "clientAppID": {
+ "type": "string",
+ "description": "The client AAD application ID."
+ },
+ "serverAppID": {
+ "type": "string",
+ "description": "The server AAD application ID."
+ },
+ "serverAppSecret": {
+ "type": "string",
+ "description": "The server AAD application secret."
+ },
+ "tenantID": {
+ "type": "string",
+ "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription."
+ }
+ },
+ "title": "AADProfile specifies attributes for Azure Active Directory integration.",
+ "description": "For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad)."
+ },
+ "ManagedClusterAddonProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the add-on is enabled or not."
+ },
+ "config": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs for configuring an add-on."
+ },
+ "identity": {
+ "readOnly": true,
+ "description": "Information of user assigned identity used by this add-on.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "A Kubernetes add-on profile for a managed cluster."
+ },
+ "ManagedClusterPodIdentity": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the pod identity."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "The namespace of the pod identity."
+ },
+ "bindingSelector": {
+ "type": "string",
+ "description": "The binding selector to use for the AzureIdentityBinding resource."
+ },
+ "identity": {
+ "$ref": "#/definitions/UserAssignedIdentity",
+ "description": "The user assigned identity details."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state of the pod identity.",
+ "enum": [
+ "Assigned",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterPodIdentityProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "provisioningInfo": {
+ "readOnly": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError",
+ "description": "Pod identity assignment error (if any)."
+ }
+ }
+ }
+ },
+ "required": [
+ "name",
+ "namespace",
+ "identity"
+ ],
+ "description": "Details about the pod identity assigned to the Managed Cluster."
+ },
+ "ManagedClusterPodIdentityProvisioningError": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the pod identity provisioning."
+ },
+ "ManagedClusterPodIdentityProvisioningErrorBody": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the pod identity provisioning."
+ },
+ "ManagedClusterPodIdentityException": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the pod identity exception."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "The namespace of the pod identity exception."
+ },
+ "podLabels": {
+ "type": "object",
+ "description": "The pod labels to match.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "namespace",
+ "podLabels"
+ ],
+ "title": "A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server.",
+ "description": "See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details."
+ },
+ "ManagedClusterPodIdentityProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the pod identity addon is enabled."
+ },
+ "allowNetworkPluginKubenet": {
+ "type": "boolean",
+ "title": "Whether pod identity is allowed to run on clusters with Kubenet networking.",
+ "description": "Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information."
+ },
+ "userAssignedIdentities": {
+ "description": "The pod identities to use in the cluster.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentity"
+ }
+ },
+ "userAssignedIdentityExceptions": {
+ "description": "The pod identity exceptions to allow.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityException"
+ }
+ }
+ },
+ "title": "The pod identity profile of the Managed Cluster.",
+ "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration."
+ },
+ "ManagedClusterUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties",
+ "description": "The properties of the upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for compute pools."
+ },
+ "AgentPoolUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the agent pool upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the agent pool upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the agent pool upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfileProperties",
+ "description": "The properties of the agent pool upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for an agent pool."
+ },
+ "AgentPoolUpgradeProfileProperties": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType"
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether the Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ },
+ "latestNodeImageVersion": {
+ "type": "string",
+ "description": "The latest AKS supported node image version."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "AgentPoolAvailableVersions": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the agent pool version list."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the agent pool version list."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool version list."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolAvailableVersionsProperties",
+ "description": "Properties of agent pool available versions.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available versions for an agent pool."
+ },
+ "AgentPoolAvailableVersionsProperties": {
+ "properties": {
+ "agentPoolVersions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "description": "Whether this version is the default agent pool version."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of versions available for agent pool."
+ }
+ },
+ "description": "The list of available agent pool versions."
+ },
+ "OSType": {
+ "type": "string",
+ "default": "Linux",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "OSType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Linux",
+ "description": "Use Linux."
+ },
+ {
+ "value": "Windows",
+ "description": "Use Windows."
+ }
+ ]
+ },
+ "description": "The operating system type. The default is Linux."
+ },
+ "OSSKU": {
+ "type": "string",
+ "enum": [
+ "Ubuntu",
+ "CBLMariner"
+ ],
+ "x-ms-enum": {
+ "name": "OSSKU",
+ "modelAsString": true
+ },
+ "description": "Specifies an OS SKU. This value must not be specified if OSType is Windows."
+ },
+ "ScaleSetPriority": {
+ "type": "string",
+ "default": "Regular",
+ "enum": [
+ "Spot",
+ "Regular"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetPriority",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Spot",
+ "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information."
+ },
+ {
+ "value": "Regular",
+ "description": "Regular VMs will be used."
+ }
+ ]
+ },
+ "description": "The Virtual Machine Scale Set priority."
+ },
+ "ScaleSetEvictionPolicy": {
+ "type": "string",
+ "default": "Delete",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetEvictionPolicy",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Delete",
+ "description": "Nodes in the underlying Scale Set of the node pool are deleted when they're evicted."
+ },
+ {
+ "value": "Deallocate",
+ "description": "Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading."
+ }
+ ]
+ },
+ "title": "The Virtual Machine Scale Set eviction policy.",
+ "description": "The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms)"
+ },
+ "SpotMaxPrice": {
+ "type": "number",
+ "default": -1,
+ "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.",
+ "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)"
+ },
+ "ProximityPlacementGroupID": {
+ "type": "string",
+ "description": "The ID for Proximity Placement Group."
+ },
+ "CredentialResults": {
+ "properties": {
+ "kubeconfigs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CredentialResult"
+ },
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The list credential result response."
+ },
+ "CredentialResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the credential."
+ },
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "readOnly": true,
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The credential result response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "ManagedClusterSKU": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of a managed cluster SKU.",
+ "enum": [
+ "Basic"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "title": "The tier of a managed cluster SKU.",
+ "description": "If not specified, the default is 'Free'. See [uptime SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for more details.",
+ "enum": [
+ "Paid",
+ "Free"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUTier",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Paid",
+ "description": "Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones."
+ },
+ {
+ "value": "Free",
+ "description": "No guaranteed SLA, no additional charges. Free tier clusters have an SLO of 99.5%."
+ }
+ ]
+ }
+ }
+ },
+ "description": "The SKU of a Managed Cluster."
+ },
+ "PrivateEndpointConnectionListResult": {
+ "type": "object",
+ "description": "A list of private endpoint connections",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the private endpoint connection."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties of a private endpoint connection.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionProperties": {
+ "type": "object",
+ "description": "Properties of a private endpoint connection.",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private endpoint."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "type": "object",
+ "description": "Private endpoint which a connection belongs to.",
+ "properties": {
+ "id": {
+ "description": "The resource ID of the private endpoint",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The state of a private link service connection.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "description": "The private link service connection status.",
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The private link service connection description."
+ }
+ }
+ },
+ "PrivateLinkResourcesListResult": {
+ "type": "object",
+ "description": "A list of private link resources",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A private link resource",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the private link resource."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the private link resource.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "type": "string",
+ "description": "The resource type."
+ },
+ "groupId": {
+ "type": "string",
+ "description": "The group ID of the resource."
+ },
+ "requiredMembers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The RequiredMembers of the resource"
+ },
+ "privateLinkServiceID": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The private link service ID of the resource, this field is exposed only to NRP internally."
+ }
+ }
+ },
+ "OSDiskType": {
+ "type": "string",
+ "enum": [
+ "Managed",
+ "Ephemeral"
+ ],
+ "x-ms-enum": {
+ "name": "OSDiskType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Managed",
+ "description": "Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency."
+ },
+ {
+ "value": "Ephemeral",
+ "description": "Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades."
+ }
+ ]
+ },
+ "title": "The OS disk type to be used for machines in the agent pool.",
+ "description": "The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)."
+ },
+ "KubeletDiskType": {
+ "type": "string",
+ "enum": [
+ "OS",
+ "Temporary"
+ ],
+ "x-ms-enum": {
+ "name": "KubeletDiskType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "OS",
+ "description": "Kubelet will use the OS disk for its data."
+ },
+ {
+ "value": "Temporary",
+ "description": "Kubelet will use the temporary disk for its data."
+ }
+ ]
+ },
+ "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage."
+ },
+ "KubeletConfig": {
+ "title": "Kubelet configurations of agent nodes.",
+ "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.",
+ "type": "object",
+ "properties": {
+ "cpuManagerPolicy": {
+ "type": "string",
+ "title": "The CPU Manager policy to use.",
+ "description": "The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'."
+ },
+ "cpuCfsQuota": {
+ "type": "boolean",
+ "title": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits.",
+ "description": "The default is true."
+ },
+ "cpuCfsQuotaPeriod": {
+ "type": "string",
+ "title": "The CPU CFS quota period value.",
+ "description": "The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'."
+ },
+ "imageGcHighThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The percent of disk usage after which image garbage collection is always run.",
+ "description": "To disable image garbage collection, set to 100. The default is 85%"
+ },
+ "imageGcLowThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The percent of disk usage before which image garbage collection is never run.",
+ "description": "This cannot be set higher than imageGcHighThreshold. The default is 80%"
+ },
+ "topologyManagerPolicy": {
+ "type": "string",
+ "title": "The Topology Manager policy to use.",
+ "description": "For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'."
+ },
+ "allowedUnsafeSysctls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`)."
+ },
+ "failSwapOn": {
+ "type": "boolean",
+ "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node."
+ },
+ "containerLogMaxSizeMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated."
+ },
+ "containerLogMaxFiles": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.",
+ "minimum": 2
+ },
+ "podMaxPids": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of processes per pod."
+ }
+ }
+ },
+ "LinuxOSConfig": {
+ "title": "OS configurations of Linux agent nodes.",
+ "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.",
+ "type": "object",
+ "properties": {
+ "sysctls": {
+ "$ref": "#/definitions/SysctlConfig",
+ "description": "Sysctl settings for Linux agent nodes."
+ },
+ "transparentHugePageEnabled": {
+ "type": "string",
+ "title": "Whether transparent hugepages are enabled.",
+ "description": "Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)."
+ },
+ "transparentHugePageDefrag": {
+ "type": "string",
+ "title": "Whether the kernel should make aggressive use of memory compaction to make more hugepages available.",
+ "description": "Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)."
+ },
+ "swapFileSizeMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The size in MB of a swap file that will be created on each node."
+ }
+ }
+ },
+ "SysctlConfig": {
+ "description": "Sysctl settings for Linux agent nodes.",
+ "type": "object",
+ "properties": {
+ "netCoreSomaxconn": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.somaxconn."
+ },
+ "netCoreNetdevMaxBacklog": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.netdev_max_backlog."
+ },
+ "netCoreRmemDefault": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.rmem_default."
+ },
+ "netCoreRmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.rmem_max."
+ },
+ "netCoreWmemDefault": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.wmem_default."
+ },
+ "netCoreWmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.wmem_max."
+ },
+ "netCoreOptmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.optmem_max."
+ },
+ "netIpv4TcpMaxSynBacklog": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog."
+ },
+ "netIpv4TcpMaxTwBuckets": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets."
+ },
+ "netIpv4TcpFinTimeout": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_fin_timeout."
+ },
+ "netIpv4TcpKeepaliveTime": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_time."
+ },
+ "netIpv4TcpKeepaliveProbes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_probes."
+ },
+ "netIpv4TcpkeepaliveIntvl": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl."
+ },
+ "netIpv4TcpTwReuse": {
+ "type": "boolean",
+ "description": "Sysctl setting net.ipv4.tcp_tw_reuse."
+ },
+ "netIpv4IpLocalPortRange": {
+ "type": "string",
+ "description": "Sysctl setting net.ipv4.ip_local_port_range."
+ },
+ "netIpv4NeighDefaultGcThresh1": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1."
+ },
+ "netIpv4NeighDefaultGcThresh2": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2."
+ },
+ "netIpv4NeighDefaultGcThresh3": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3."
+ },
+ "netNetfilterNfConntrackMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.netfilter.nf_conntrack_max."
+ },
+ "netNetfilterNfConntrackBuckets": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.netfilter.nf_conntrack_buckets."
+ },
+ "fsInotifyMaxUserWatches": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.inotify.max_user_watches."
+ },
+ "fsFileMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.file-max."
+ },
+ "fsAioMaxNr": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.aio-max-nr."
+ },
+ "fsNrOpen": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.nr_open."
+ },
+ "kernelThreadsMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting kernel.threads-max."
+ },
+ "vmMaxMapCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.max_map_count."
+ },
+ "vmSwappiness": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.swappiness."
+ },
+ "vmVfsCachePressure": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.vfs_cache_pressure."
+ }
+ }
+ },
+ "ManagedClusterHTTPProxyConfig": {
+ "description": "Cluster HTTP proxy configuration.",
+ "type": "object",
+ "properties": {
+ "httpProxy": {
+ "type": "string",
+ "description": "The HTTP proxy server endpoint to use."
+ },
+ "httpsProxy": {
+ "type": "string",
+ "description": "The HTTPS proxy server endpoint to use."
+ },
+ "noProxy": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The endpoints that should not go through proxy."
+ },
+ "trustedCa": {
+ "type": "string",
+ "description": "Alternative CA cert to use for connecting to proxy servers."
+ }
+ }
+ },
+ "GPUInstanceProfile": {
+ "type": "string",
+ "enum": [
+ "MIG1g",
+ "MIG2g",
+ "MIG3g",
+ "MIG4g",
+ "MIG7g"
+ ],
+ "x-ms-enum": {
+ "name": "GPUInstanceProfile ",
+ "modelAsString": true
+ },
+ "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU."
+ },
+ "ExtendedLocationType": {
+ "type": "string",
+ "description": "The type of extendedLocation.",
+ "enum": [
+ "EdgeZone"
+ ],
+ "x-ms-enum": {
+ "name": "ExtendedLocationTypes",
+ "modelAsString": true
+ }
+ },
+ "ExtendedLocation": {
+ "description": "The complex type of the extended location.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extended location."
+ },
+ "type": {
+ "$ref": "#/definitions/ExtendedLocationType",
+ "description": "The type of the extended location."
+ }
+ }
+ },
+ "OSOptionProperty": {
+ "properties": {
+ "os-type": {
+ "type": "string",
+ "description": "The OS type."
+ },
+ "enable-fips-image": {
+ "type": "boolean",
+ "description": "Whether the image is FIPS-enabled."
+ }
+ },
+ "required": [
+ "os-type",
+ "enable-fips-image"
+ ],
+ "description": "OS option property."
+ },
+ "OSOptionPropertyList": {
+ "properties": {
+ "osOptionPropertyList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OSOptionProperty"
+ },
+ "description": "The list of OS options."
+ }
+ },
+ "required": [
+ "osOptionPropertyList"
+ ],
+ "description": "The list of OS option properties."
+ },
+ "OSOptionProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the OS option resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the OS option resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the OS option resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/OSOptionPropertyList",
+ "description": "The list of OS options.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The OS option profile."
+ },
+ "EndpointDependency": {
+ "description": "A domain name that AKS agent nodes are reaching at.",
+ "type": "object",
+ "properties": {
+ "domainName": {
+ "description": "The domain name of the dependency.",
+ "type": "string"
+ },
+ "endpointDetails": {
+ "description": "The Ports and Protocols used when connecting to domainName.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointDetail"
+ }
+ }
+ }
+ },
+ "EndpointDetail": {
+ "description": "connect information from the AKS agent nodes to a single endpoint.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "An IP Address that Domain Name currently resolves to.",
+ "type": "string"
+ },
+ "port": {
+ "format": "int32",
+ "description": "The port an endpoint is connected to.",
+ "type": "integer"
+ },
+ "protocol": {
+ "description": "The protocol used for connection",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the detail",
+ "type": "string"
+ }
+ }
+ },
+ "OutboundEnvironmentEndpoint": {
+ "description": "Egress endpoints which AKS agent nodes connect to for common purpose.",
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc.",
+ "type": "string"
+ },
+ "endpoints": {
+ "description": "The endpoints that AKS agent nodes connect to",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointDependency"
+ }
+ }
+ }
+ },
+ "OutboundEnvironmentEndpointCollection": {
+ "description": "Collection of OutboundEnvironmentEndpoint",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutboundEnvironmentEndpoint"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The name of the managed cluster resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "LocationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceTypeParameter": {
+ "name": "resource-type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The resource type for which the OS options needs to be returned",
+ "x-ms-parameter-location": "method"
+ },
+ "ServerFqdnParameter": {
+ "name": "server-fqdn",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "server fqdn type for credentials to be returned",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_CustomNodeConfig.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_CustomNodeConfig.json
new file mode 100644
index 000000000000..7a81e35c0ae8
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_CustomNodeConfig.json
@@ -0,0 +1,122 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false,
+ "podMaxPids": 100
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 65536,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json
new file mode 100644
index 000000000000..7bd011745f8a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "enableEncryptionAtHost": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.13",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableEncryptionAtHost": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.13",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableEncryptionAtHost": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_EnableFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_EnableFIPS.json
new file mode 100644
index 000000000000..36ad833bed75
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_EnableFIPS.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "enableFIPS": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.19.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableFIPS": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.19.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableFIPS": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_EnableUltraSSD.json
new file mode 100644
index 000000000000..420a94ccdfbe
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_EnableUltraSSD.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "enableUltraSSD": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.13",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableUltraSSD": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.13",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableUltraSSD": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_Ephemeral.json
new file mode 100644
index 000000000000..33e772e6e07d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_Ephemeral.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "osDiskType": "Ephemeral",
+ "osDiskSizeGB": 64
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osDiskType": "Ephemeral",
+ "osDiskSizeGB": 64
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osDiskType": "Ephemeral",
+ "kubeletDiskType": "OS",
+ "osDiskSizeGB": 64
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_GPUMIG.json
new file mode 100644
index 000000000000..b6d119023c27
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_GPUMIG.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_ND96asr_v4",
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG2g",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_ND96asr_v4",
+ "maxPods": 110,
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG2g",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_ND96asr_v4",
+ "maxPods": 110,
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG2g",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false,
+ "podMaxPids": 100
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 65536,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_OSSKU.json
new file mode 100644
index 000000000000..d0685bd412d8
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_OSSKU.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "osSKU": "CBLMariner",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osSKU": "CBLMariner",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osSKU": "CBLMariner",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false,
+ "podMaxPids": 100
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 65536,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_PPG.json
new file mode 100644
index 000000000000..c9126120e912
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_PPG.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_Spot.json
new file mode 100644
index 000000000000..0d716d389482
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_Spot.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_Update.json
new file mode 100644
index 000000000000..bfc73da7aa8c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsCreate_Update.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsDelete.json
new file mode 100644
index 000000000000..7abd28274a60
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsGet.json
new file mode 100644
index 000000000000..7115e7bf5908
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
new file mode 100644
index 000000000000..4b70589ba17c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsGetUpgradeProfile.json
new file mode 100644
index 000000000000..523ba5165458
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsGetUpgradeProfile.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsList.json
new file mode 100644
index 000000000000..f6d876b4d9e1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsUpgradeNodeImageVersion.json
new file mode 100644
index 000000000000..80111711caea
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPoolsUpgradeNodeImageVersion.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPools_Update.json
new file mode 100644
index 000000000000..e22a36fb6619
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/AgentPools_Update.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/ContainerServiceGetOSOptions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ContainerServiceGetOSOptions.json
new file mode 100644
index 000000000000..81567aad6a93
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ContainerServiceGetOSOptions.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "location": "location1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/locations/location1/osOptions/default",
+ "name": "default",
+ "type": "Microsoft.ContainerService/locations/osOptions",
+ "properties": {
+ "osOptionPropertyList": [
+ {
+ "os-type": "Linux",
+ "enable-fips-image": false
+ },
+ {
+ "os-type": "Windows",
+ "enable-fips-image": false
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/MaintenanceConfigurationsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/MaintenanceConfigurationsCreate_Update.json
new file mode 100644
index 000000000000..659e202045b2
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/MaintenanceConfigurationsCreate_Update.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "configName": "default",
+ "parameters": {
+ "properties": {
+ "timeInWeek": [
+ {
+ "day": "Monday",
+ "hourSlots": [
+ 1,
+ 2
+ ]
+ }
+ ],
+ "notAllowedTime": [
+ {
+ "start": "2020-11-26T03:00:00Z",
+ "end": "2020-11-30T12:00:00Z"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default",
+ "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations",
+ "name": "default",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "timeInWeek": [
+ {
+ "day": "Monday",
+ "hourSlots": [
+ 1,
+ 2
+ ]
+ }
+ ],
+ "notAllowedTime": [
+ {
+ "start": "2020-11-26T03:00:00Z",
+ "end": "2020-11-30T12:00:00Z"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/MaintenanceConfigurationsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/MaintenanceConfigurationsDelete.json
new file mode 100644
index 000000000000..252d9d9ec5a1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/MaintenanceConfigurationsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "configName": "default"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/MaintenanceConfigurationsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/MaintenanceConfigurationsGet.json
new file mode 100644
index 000000000000..359ad13790ed
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/MaintenanceConfigurationsGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "configName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default",
+ "name": "default",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "timeInWeek": [
+ {
+ "day": "Monday",
+ "hourSlots": [
+ 1,
+ 2
+ ]
+ }
+ ],
+ "notAllowedTime": [
+ {
+ "start": "2020-11-26T03:00:00Z",
+ "end": "2020-11-30T12:00:00Z"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/MaintenanceConfigurationsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/MaintenanceConfigurationsList.json
new file mode 100644
index 000000000000..10ef8a493b28
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/MaintenanceConfigurationsList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default",
+ "name": "default",
+ "properties": {
+ "timeInWeek": [
+ {
+ "day": "Monday",
+ "hourSlots": [
+ 1,
+ 2
+ ]
+ }
+ ],
+ "notAllowedTime": [
+ {
+ "start": "2020-11-26T03:00:00Z",
+ "end": "2020-11-30T12:00:00Z"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json
new file mode 100644
index 000000000000..9befa3db9ec0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2021-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",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "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/2021-07-01/examples/ManagedClustersCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_EnableUltraSSD.json
new file mode 100644
index 000000000000..c6e275c77fa5
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_EnableUltraSSD.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2021-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",
+ "enableUltraSSD": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableUltraSSD": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableUltraSSD": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "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/2021-07-01/examples/ManagedClustersCreate_EnabledFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_EnabledFIPS.json
new file mode 100644
index 000000000000..87045b6bd58e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_EnabledFIPS.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2021-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",
+ "enableFIPS": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableFIPS": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableFIPS": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "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/2021-07-01/examples/ManagedClustersCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_GPUMIG.json
new file mode 100644
index 000000000000..7d0e144c3631
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_GPUMIG.json
@@ -0,0 +1,263 @@
+{
+ "parameters": {
+ "api-version": "2021-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_ND96asr_v4",
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG3g",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_ND96asr_v4",
+ "maxPods": 110,
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG3g",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_ND96asr_v4",
+ "maxPods": 110,
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG3g",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_HTTPProxy.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_HTTPProxy.json
new file mode 100644
index 000000000000..9f44b5355fac
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_HTTPProxy.json
@@ -0,0 +1,260 @@
+{
+ "parameters": {
+ "api-version": "2021-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"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_ManagedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_ManagedNATGateway.json
new file mode 100644
index 000000000000..273c3967f0c5
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_ManagedNATGateway.json
@@ -0,0 +1,231 @@
+{
+ "parameters": {
+ "api-version": "2021-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": false,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "managedNATGateway",
+ "natGatewayProfile": {
+ "managedOutboundIPProfile": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": false,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "managedNATGateway",
+ "natGatewayProfile": {
+ "idleTimeoutInMinutes": 4,
+ "managedOutboundIPProfile": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": false,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "managedNATGateway",
+ "natGatewayProfile": {
+ "idleTimeoutInMinutes": 4,
+ "managedOutboundIPProfile": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json
new file mode 100644
index 000000000000..c6669505e40f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2021-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",
+ "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "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/2021-07-01/examples/ManagedClustersCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_OSSKU.json
new file mode 100644
index 000000000000..0442c3fcbcf4
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_OSSKU.json
@@ -0,0 +1,263 @@
+{
+ "parameters": {
+ "api-version": "2021-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",
+ "osSKU": "CBLMariner",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osSKU": "CBLMariner",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osSKU": "CBLMariner",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_PPG.json
new file mode 100644
index 000000000000..bb0a9cff6af5
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_PPG.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/ManagedClustersCreate_PodIdentity.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_PodIdentity.json
new file mode 100644
index 000000000000..84be13528663
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_PodIdentity.json
@@ -0,0 +1,245 @@
+{
+ "parameters": {
+ "api-version": "2021-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"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "podIdentityProfile": {
+ "enabled": true,
+ "allowNetworkPluginKubenet": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "podIdentityProfile": {
+ "enabled": true,
+ "allowNetworkPluginKubenet": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "podIdentityProfile": {
+ "enabled": true,
+ "allowNetworkPluginKubenet": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json
new file mode 100644
index 000000000000..a1476b36261f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json
@@ -0,0 +1,246 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "fqdnSubdomain": "domain1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "fqdnSubdomain": "domain1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "privateFQDN": "domain1.privatelink.location1.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "fqdnSubdomain": "domain1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "privateFQDN": "domain1.privatelink.location1.azmk8s.io",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "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/2021-07-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json
new file mode 100644
index 000000000000..abfdd1507653
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json
@@ -0,0 +1,250 @@
+{
+ "parameters": {
+ "api-version": "2021-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",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "enablePrivateClusterPublicFQDN": true
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "enablePrivateClusterPublicFQDN": true,
+ "privateDNSZone": "system"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io",
+ "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "enablePrivateClusterPublicFQDN": true,
+ "privateDNSZone": "system"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io",
+ "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "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/2021-07-01/examples/ManagedClustersCreate_SecurityProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_SecurityProfile.json
new file mode 100644
index 000000000000..246b9da63e52
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_SecurityProfile.json
@@ -0,0 +1,227 @@
+{
+ "parameters": {
+ "api-version": "2021-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"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "securityProfile": {
+ "azureDefender": {
+ "enabled": true,
+ "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "securityProfile": {
+ "azureDefender": {
+ "enabled": true,
+ "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "securityProfile": {
+ "azureDefender": {
+ "enabled": true,
+ "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_Update.json
new file mode 100644
index 000000000000..69c71a5ad646
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_Update.json
@@ -0,0 +1,285 @@
+{
+ "parameters": {
+ "api-version": "2021-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",
+ "scaleDownMode": "Deallocate",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "balance-similar-node-groups": "true",
+ "expander": "priority",
+ "max-node-provision-time": "15m",
+ "new-pod-scale-up-delay": "1m",
+ "scale-down-delay-after-add": "15m",
+ "scan-interval": "20s",
+ "skip-nodes-with-system-pods": "false"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "scaleDownMode": "Deallocate",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "balance-similar-node-groups": "true",
+ "expander": "priority",
+ "max-node-provision-time": "15m",
+ "new-pod-scale-up-delay": "1m",
+ "scale-down-delay-after-add": "15m",
+ "scan-interval": "20s",
+ "skip-nodes-with-system-pods": "false"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "scaleDownMode": "Deallocate",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "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/2021-07-01/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_UpdateWithAHUB.json
new file mode 100644
index 000000000000..27f72d5fee7e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_UpdateWithAHUB.json
@@ -0,0 +1,275 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
new file mode 100644
index 000000000000..aff62fd4fa0b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
@@ -0,0 +1,264 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json
new file mode 100644
index 000000000000..98c7777dcc27
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2021-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": false,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "userAssignedNATGateway"
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": false,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "userAssignedNATGateway"
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": false,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "userAssignedNATGateway"
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersDelete.json
new file mode 100644
index 000000000000..8619884896be
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersGet.json
new file mode 100644
index 000000000000..e16b90a8e161
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersGet.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "api-version": "2021-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",
+ "azurePortalFQDN": "dnsprefix1-abcd1234.portal.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "upgradeSettings": {
+ "maxSurge": "33%"
+ }
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "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/2021-07-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersGetAccessProfile.json
new file mode 100644
index 000000000000..a146c96ba0bc
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersGetAccessProfile.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersGetUpgradeProfile.json
new file mode 100644
index 000000000000..83e19917c07d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersGetUpgradeProfile.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersList.json
new file mode 100644
index 000000000000..114534764189
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersList.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersListByResourceGroup.json
new file mode 100644
index 000000000000..906c34655f43
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersListByResourceGroup.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersListClusterCredentialResult.json
new file mode 100644
index 000000000000..610bdce6972a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersListClusterCredentialResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersResetAADProfile.json
new file mode 100644
index 000000000000..d87d79f4ff29
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersResetAADProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersResetServicePrincipalProfile.json
new file mode 100644
index 000000000000..8e2c79eb820d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersResetServicePrincipalProfile.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersRotateClusterCertificates.json
new file mode 100644
index 000000000000..8619884896be
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersRotateClusterCertificates.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersStart.json
new file mode 100644
index 000000000000..8619884896be
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersStop.json
new file mode 100644
index 000000000000..8619884896be
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersUpdateTags.json
new file mode 100644
index 000000000000..43fb1d61bbe5
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ManagedClustersUpdateTags.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/OutboundNetworkDependenciesEndpointsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/OutboundNetworkDependenciesEndpointsList.json
new file mode 100644
index 000000000000..5ddcd803ef8f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/OutboundNetworkDependenciesEndpointsList.json
@@ -0,0 +1,242 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "category": "azure-resource-management",
+ "endpoints": [
+ {
+ "domainName": "management.azure.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "login.microsoftonline.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "images",
+ "endpoints": [
+ {
+ "domainName": "mcr.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "*.data.mcr.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https",
+ "description": "mcr cdn"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "artifacts",
+ "endpoints": [
+ {
+ "domainName": "packages.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "acs-mirror.azureedge.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "time-sync",
+ "endpoints": [
+ {
+ "domainName": "ntp.ubuntu.com",
+ "endpointDetails": [
+ {
+ "port": 123,
+ "protocol": "UDP"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "ubuntu-optional",
+ "endpoints": [
+ {
+ "domainName": "security.ubuntu.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ },
+ {
+ "domainName": "azure.archive.ubuntu.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ },
+ {
+ "domainName": "changelogs.ubuntu.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "gpu",
+ "endpoints": [
+ {
+ "domainName": "nvidia.github.io",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "us.download.nvidia.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "apt.dockerproject.org",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "windows",
+ "endpoints": [
+ {
+ "domainName": "onegetcdn.azureedge.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "go.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ },
+ {
+ "domainName": "*.mp.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ },
+ {
+ "domainName": "www.msftconnecttest.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ },
+ {
+ "domainName": "ctldl.windowsupdate.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "protocol": "Http"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "apiserver",
+ "endpoints": [
+ {
+ "domainName": "*.azmk8s.io",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "protocol": "Https"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "tunnel-classic",
+ "endpoints": [
+ {
+ "domainName": "*.azmk8s.io",
+ "endpointDetails": [
+ {
+ "port": 9000,
+ "protocol": "TCP"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/PrivateEndpointConnectionsDelete.json
new file mode 100644
index 000000000000..f3f0d1147be2
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/PrivateEndpointConnectionsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/PrivateEndpointConnectionsGet.json
new file mode 100644
index 000000000000..9e553822c7f3
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/PrivateEndpointConnectionsGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/PrivateEndpointConnectionsList.json
new file mode 100644
index 000000000000..c326b66057d2
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/PrivateEndpointConnectionsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/PrivateEndpointConnectionsUpdate.json
new file mode 100644
index 000000000000..2597e4561133
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/PrivateEndpointConnectionsUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-07-01/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/PrivateLinkResourcesList.json
new file mode 100644
index 000000000000..917d4b4f846f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/PrivateLinkResourcesList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-07-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/2021-07-01/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ResolvePrivateLinkServiceId.json
new file mode 100644
index 000000000000..6ba35d2a6bbf
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/ResolvePrivateLinkServiceId.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-07-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/2021-07-01/examples/RunCommandRequest.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/RunCommandRequest.json
new file mode 100644
index 000000000000..ca1e14b98238
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/RunCommandRequest.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "requestPayload": {
+ "command": "kubectl apply -f ns.yaml",
+ "context": "",
+ "clusterToken": ""
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2021-07-01"
+ }
+ },
+ "200": {
+ "description": "to mitigate RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE",
+ "body": {
+ "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9",
+ "properties": {
+ "provisioningState": "succeeded",
+ "exitCode": 0,
+ "startedAt": "2021-02-17T00:28:20Z",
+ "finishedAt": "2021-02-17T00:28:33Z",
+ "logs": "namespace dummy created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/RunCommandResultFailed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/RunCommandResultFailed.json
new file mode 100644
index 000000000000..39245dc8c6f9
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/RunCommandResultFailed.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2021-07-01"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9",
+ "properties": {
+ "provisioningState": "failed",
+ "reason": "ImagePullBackoff"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/RunCommandResultSucceed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/RunCommandResultSucceed.json
new file mode 100644
index 000000000000..a573f93953ed
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/examples/RunCommandResultSucceed.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2021-07-01"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9",
+ "properties": {
+ "provisioningState": "succeeded",
+ "exitCode": 0,
+ "startedAt": "2021-02-17T00:28:20Z",
+ "finishedAt": "2021-02-17T00:28:33Z",
+ "logs": "namespace dummy created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/managedClusters.json
new file mode 100644
index 000000000000..8ff720f12f79
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/managedClusters.json
@@ -0,0 +1,5109 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerServiceClient",
+ "description": "The Container Service Client.",
+ "version": "2021-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",
+ "summary": "Gets a list of operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default": {
+ "get": {
+ "tags": [
+ "managedClusters"
+ ],
+ "operationId": "ManagedClusters_GetOSOptions",
+ "summary": "Gets supported OS options in the specified subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceTypeParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OSOptionProfile"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Container Service OS Options": {
+ "$ref": "./examples/ContainerServiceGetOSOptions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_List",
+ "summary": "Gets a list of managed clusters in the specified subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Managed Clusters": {
+ "$ref": "./examples/ManagedClustersList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListByResourceGroup",
+ "summary": "Lists managed clusters in the specified subscription and resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Managed Clusters by Resource Group": {
+ "$ref": "./examples/ManagedClustersListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetUpgradeProfile",
+ "summary": "Gets the upgrade profile of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": {
+ "post": {
+ "deprecated": true,
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetAccessProfile",
+ "summary": "Gets an access profile of a managed cluster.",
+ "description": "**WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials) .",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role for managed cluster accessProfile resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAccessProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetAccessProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterAdminCredentials",
+ "summary": "Lists the admin credentials of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerFqdnParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterUserCredentials",
+ "summary": "Lists the user credentials of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerFqdnParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials",
+ "summary": "Lists the cluster monitoring user credentials of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerFqdnParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Get",
+ "summary": "Gets a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_CreateOrUpdate",
+ "summary": "Creates or updates a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The managed cluster to create or update."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Managed Cluster": {
+ "$ref": "./examples/ManagedClustersCreate_Update.json"
+ },
+ "Create/Update AAD Managed Cluster with EnableAzureRBAC": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json"
+ },
+ "Create Managed Cluster with PPG": {
+ "$ref": "./examples/ManagedClustersCreate_PPG.json"
+ },
+ "Create Managed Cluster with OSSKU": {
+ "$ref": "./examples/ManagedClustersCreate_OSSKU.json"
+ },
+ "Create Managed Cluster with GPUMIG": {
+ "$ref": "./examples/ManagedClustersCreate_GPUMIG.json"
+ },
+ "Create/Update Managed Cluster with EnableAHUB": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json"
+ },
+ "Create Managed Cluster with EncryptionAtHost enabled": {
+ "$ref": "./examples/ManagedClustersCreate_EnableEncryptionAtHost.json"
+ },
+ "Create Managed Cluster with UltraSSD enabled": {
+ "$ref": "./examples/ManagedClustersCreate_EnableUltraSSD.json"
+ },
+ "Create Managed Cluster with PodIdentity enabled": {
+ "$ref": "./examples/ManagedClustersCreate_PodIdentity.json"
+ },
+ "Create Managed Private Cluster with fqdn subdomain specified": {
+ "$ref": "./examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json"
+ },
+ "Create Managed Private Cluster with Public FQDN specified": {
+ "$ref": "./examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json"
+ },
+ "Create Managed Cluster with Node Public IP Prefix": {
+ "$ref": "./examples/ManagedClustersCreate_NodePublicIPPrefix.json"
+ },
+ "Create Managed Cluster with FIPS enabled OS": {
+ "$ref": "./examples/ManagedClustersCreate_EnabledFIPS.json"
+ },
+ "Create Managed Cluster with HTTP proxy configured": {
+ "$ref": "./examples/ManagedClustersCreate_HTTPProxy.json"
+ },
+ "Create Managed Cluster with Security Profile configured": {
+ "$ref": "./examples/ManagedClustersCreate_SecurityProfile.json"
+ },
+ "Create Managed Cluster with AKS-managed NAT gateway as outbound type": {
+ "$ref": "./examples/ManagedClustersCreate_ManagedNATGateway.json"
+ },
+ "Create Managed Cluster with user-assigned NAT gateway as outbound type": {
+ "$ref": "./examples/ManagedClustersCreate_UserAssignedNATGateway.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_UpdateTags",
+ "summary": "Updates tags on a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the Update Managed Cluster Tags operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update Managed Cluster Tags": {
+ "$ref": "./examples/ManagedClustersUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Delete",
+ "summary": "Deletes a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Managed Cluster": {
+ "$ref": "./examples/ManagedClustersDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations": {
+ "get": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_ListByManagedCluster",
+ "summary": "Gets a list of maintenance configurations in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfigurationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List maintenance configurations by Managed Cluster": {
+ "$ref": "./examples/MaintenanceConfigurationsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}": {
+ "get": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_Get",
+ "summary": "Gets the specified maintenance configuration of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "configName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the maintenance configuration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Maintenance Configuration": {
+ "$ref": "./examples/MaintenanceConfigurationsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_CreateOrUpdate",
+ "summary": "Creates or updates a maintenance configuration in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "configName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the maintenance configuration."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ },
+ "description": "The maintenance configuration to create or update."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "Create/Update Maintenance Configuration": {
+ "$ref": "./examples/MaintenanceConfigurationsCreate_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_Delete",
+ "summary": "Deletes a maintenance configuration.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "configName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the maintenance configuration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "Delete Maintenance Configuration": {
+ "$ref": "./examples/MaintenanceConfigurationsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_List",
+ "summary": "Gets a list of agent pools in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Agent Pools by Managed Cluster": {
+ "$ref": "./examples/AgentPoolsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Get",
+ "summary": "Gets the specified managed cluster agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Agent Pool": {
+ "$ref": "./examples/AgentPoolsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_CreateOrUpdate",
+ "summary": "Creates or updates an agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "The agent pool to create or update."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Update.json"
+ },
+ "Update Agent Pool": {
+ "$ref": "./examples/AgentPools_Update.json"
+ },
+ "Create Spot Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Spot.json"
+ },
+ "Create Agent Pool with PPG": {
+ "$ref": "./examples/AgentPoolsCreate_PPG.json"
+ },
+ "Create Agent Pool with OSSKU": {
+ "$ref": "./examples/AgentPoolsCreate_OSSKU.json"
+ },
+ "Create Agent Pool with GPUMIG": {
+ "$ref": "./examples/AgentPoolsCreate_GPUMIG.json"
+ },
+ "Create Agent Pool with Ephemeral OS Disk": {
+ "$ref": "./examples/AgentPoolsCreate_Ephemeral.json"
+ },
+ "Create Agent Pool with KubeletConfig and LinuxOSConfig": {
+ "$ref": "./examples/AgentPoolsCreate_CustomNodeConfig.json"
+ },
+ "Create Agent Pool with EncryptionAtHost enabled": {
+ "$ref": "./examples/AgentPoolsCreate_EnableEncryptionAtHost.json"
+ },
+ "Create Agent Pool with UltraSSD enabled": {
+ "$ref": "./examples/AgentPoolsCreate_EnableUltraSSD.json"
+ },
+ "Create Agent Pool with FIPS enabled OS": {
+ "$ref": "./examples/AgentPoolsCreate_EnableFIPS.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Delete",
+ "summary": "Deletes an agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Agent Pool": {
+ "$ref": "./examples/AgentPoolsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetUpgradeProfile",
+ "summary": "Gets the upgrade profile for an agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Agent Pool": {
+ "$ref": "./examples/AgentPoolsGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetAvailableAgentPoolVersions",
+ "summary": "Gets a list of supported Kubernetes versions for the specified agent pool.",
+ "description": "See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details about the version lifecycle.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolAvailableVersions"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available versions for agent pool": {
+ "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetServicePrincipalProfile",
+ "summary": "Reset the Service Principal Profile of a managed cluster.",
+ "description": "This action cannot be performed on a cluster that is not using a service principal",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile"
+ },
+ "description": "The service principal profile to set on the managed cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset Service Principal Profile": {
+ "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetAADProfile",
+ "summary": "Reset the AAD Profile of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAADProfile"
+ },
+ "description": "The AAD profile to set on the Managed Cluster"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset AAD Profile": {
+ "$ref": "./examples/ManagedClustersResetAADProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_RotateClusterCertificates",
+ "summary": "Rotates the certificates of a managed cluster.",
+ "description": "See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about rotating managed cluster certificates.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Rotate Cluster Certificates": {
+ "$ref": "./examples/ManagedClustersRotateClusterCertificates.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Stop",
+ "summary": "Stops a Managed Cluster",
+ "description": "This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about stopping a cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Stop Managed Cluster": {
+ "$ref": "./examples/ManagedClustersStop.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Start",
+ "summary": "Starts a previously stopped Managed Cluster",
+ "description": "See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting a cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Start Managed Cluster": {
+ "$ref": "./examples/ManagedClustersStart.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_List",
+ "summary": "Gets a list of private endpoint connections in the specified managed cluster.",
+ "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Private Endpoint Connections by Managed Cluster": {
+ "$ref": "./examples/PrivateEndpointConnectionsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Get",
+ "summary": "Gets the specified private endpoint connection.",
+ "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Private Endpoint Connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Update",
+ "summary": "Updates a private endpoint connection.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The updated private endpoint connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Private Endpoint Connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Delete",
+ "summary": "Deletes a private endpoint connection.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content -- The private endpoint connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Private Endpoint Connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": {
+ "post": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_UpgradeNodeImageVersion",
+ "summary": "Upgrades the node image version of an agent pool to the latest.",
+ "description": "Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS provides one new image per week with the latest updates. For more details on node image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Upgrade Agent Pool Node Image Version": {
+ "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "privateLinkResources"
+ ],
+ "operationId": "PrivateLinkResources_List",
+ "summary": "Gets a list of private link resources in the specified managed cluster.",
+ "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourcesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Private Link Resources by Managed Cluster": {
+ "$ref": "./examples/PrivateLinkResourcesList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId": {
+ "post": {
+ "tags": [
+ "resolvePrivateLinkServiceId"
+ ],
+ "operationId": "ResolvePrivateLinkServiceId_POST",
+ "summary": "Gets the private link service ID for the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ },
+ "description": "Parameters required in order to resolve a private link service ID."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Resolve the Private Link Service ID for Managed Cluster": {
+ "$ref": "./examples/ResolvePrivateLinkServiceId.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_RunCommand",
+ "summary": "Submits a command to run against the Managed Cluster.",
+ "description": "AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "requestPayload",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RunCommandRequest"
+ },
+ "description": "The run command request"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "200": {
+ "description": "command finished with async pattern, tracking by location header. !!! this is for autorest only, you never get 200 from this api !!!",
+ "schema": {
+ "$ref": "#/definitions/RunCommandResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "submitNewCommand": {
+ "$ref": "./examples/RunCommandRequest.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetCommandResult",
+ "summary": "Gets the results of a command which has been run on the Managed Cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "commandId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Id of the command."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "command running in progress"
+ },
+ "200": {
+ "description": "command finished",
+ "schema": {
+ "$ref": "#/definitions/RunCommandResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "commandSucceedResult": {
+ "$ref": "./examples/RunCommandResultSucceed.json"
+ },
+ "commandFailedResult": {
+ "$ref": "./examples/RunCommandResultFailed.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints",
+ "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster.",
+ "description": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. The operation returns properties of each egress endpoint.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OutboundEnvironmentEndpointCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List OutboundNetworkDependenciesEndpoints by Managed Cluster": {
+ "$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationValue"
+ },
+ "description": "The list of operations"
+ }
+ },
+ "description": "The List Operation response."
+ },
+ "OperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationValueDisplay",
+ "description": "Describes the properties of a Operation Value Display."
+ }
+ },
+ "description": "Describes the properties of a Operation value."
+ },
+ "OperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Operation Value Display."
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ }
+ },
+ "description": "Reference to another subresource.",
+ "x-ms-azure-resource": true
+ },
+ "TagsObject": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Tags object for patch operations."
+ },
+ "ContainerServiceOSDisk": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 2048,
+ "minimum": 0,
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "ContainerServiceStorageProfile": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceStorageProfileTypes",
+ "modelAsString": true
+ },
+ "enum": [
+ "StorageAccount",
+ "ManagedDisks"
+ ],
+ "description": "Specifies what kind of storage to use. If omitted, the default will be chosen on your behalf based on the choice of orchestrator."
+ },
+ "ContainerServiceVnetSubnetID": {
+ "type": "string",
+ "description": "specifies a subnet's resource id with subscription, resource group, vnet and subnet name"
+ },
+ "ContainerServiceVMSize": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceVMSizeTypes",
+ "modelAsString": true
+ },
+ "description": "Size of agent VMs. Note: This is no longer maintained.",
+ "enum": [
+ "Standard_A1",
+ "Standard_A10",
+ "Standard_A11",
+ "Standard_A1_v2",
+ "Standard_A2",
+ "Standard_A2_v2",
+ "Standard_A2m_v2",
+ "Standard_A3",
+ "Standard_A4",
+ "Standard_A4_v2",
+ "Standard_A4m_v2",
+ "Standard_A5",
+ "Standard_A6",
+ "Standard_A7",
+ "Standard_A8",
+ "Standard_A8_v2",
+ "Standard_A8m_v2",
+ "Standard_A9",
+ "Standard_B2ms",
+ "Standard_B2s",
+ "Standard_B4ms",
+ "Standard_B8ms",
+ "Standard_D1",
+ "Standard_D11",
+ "Standard_D11_v2",
+ "Standard_D11_v2_Promo",
+ "Standard_D12",
+ "Standard_D12_v2",
+ "Standard_D12_v2_Promo",
+ "Standard_D13",
+ "Standard_D13_v2",
+ "Standard_D13_v2_Promo",
+ "Standard_D14",
+ "Standard_D14_v2",
+ "Standard_D14_v2_Promo",
+ "Standard_D15_v2",
+ "Standard_D16_v3",
+ "Standard_D16s_v3",
+ "Standard_D1_v2",
+ "Standard_D2",
+ "Standard_D2_v2",
+ "Standard_D2_v2_Promo",
+ "Standard_D2_v3",
+ "Standard_D2s_v3",
+ "Standard_D3",
+ "Standard_D32_v3",
+ "Standard_D32s_v3",
+ "Standard_D3_v2",
+ "Standard_D3_v2_Promo",
+ "Standard_D4",
+ "Standard_D4_v2",
+ "Standard_D4_v2_Promo",
+ "Standard_D4_v3",
+ "Standard_D4s_v3",
+ "Standard_D5_v2",
+ "Standard_D5_v2_Promo",
+ "Standard_D64_v3",
+ "Standard_D64s_v3",
+ "Standard_D8_v3",
+ "Standard_D8s_v3",
+ "Standard_DS1",
+ "Standard_DS11",
+ "Standard_DS11_v2",
+ "Standard_DS11_v2_Promo",
+ "Standard_DS12",
+ "Standard_DS12_v2",
+ "Standard_DS12_v2_Promo",
+ "Standard_DS13",
+ "Standard_DS13-2_v2",
+ "Standard_DS13-4_v2",
+ "Standard_DS13_v2",
+ "Standard_DS13_v2_Promo",
+ "Standard_DS14",
+ "Standard_DS14-4_v2",
+ "Standard_DS14-8_v2",
+ "Standard_DS14_v2",
+ "Standard_DS14_v2_Promo",
+ "Standard_DS15_v2",
+ "Standard_DS1_v2",
+ "Standard_DS2",
+ "Standard_DS2_v2",
+ "Standard_DS2_v2_Promo",
+ "Standard_DS3",
+ "Standard_DS3_v2",
+ "Standard_DS3_v2_Promo",
+ "Standard_DS4",
+ "Standard_DS4_v2",
+ "Standard_DS4_v2_Promo",
+ "Standard_DS5_v2",
+ "Standard_DS5_v2_Promo",
+ "Standard_E16_v3",
+ "Standard_E16s_v3",
+ "Standard_E2_v3",
+ "Standard_E2s_v3",
+ "Standard_E32-16s_v3",
+ "Standard_E32-8s_v3",
+ "Standard_E32_v3",
+ "Standard_E32s_v3",
+ "Standard_E4_v3",
+ "Standard_E4s_v3",
+ "Standard_E64-16s_v3",
+ "Standard_E64-32s_v3",
+ "Standard_E64_v3",
+ "Standard_E64s_v3",
+ "Standard_E8_v3",
+ "Standard_E8s_v3",
+ "Standard_F1",
+ "Standard_F16",
+ "Standard_F16s",
+ "Standard_F16s_v2",
+ "Standard_F1s",
+ "Standard_F2",
+ "Standard_F2s",
+ "Standard_F2s_v2",
+ "Standard_F32s_v2",
+ "Standard_F4",
+ "Standard_F4s",
+ "Standard_F4s_v2",
+ "Standard_F64s_v2",
+ "Standard_F72s_v2",
+ "Standard_F8",
+ "Standard_F8s",
+ "Standard_F8s_v2",
+ "Standard_G1",
+ "Standard_G2",
+ "Standard_G3",
+ "Standard_G4",
+ "Standard_G5",
+ "Standard_GS1",
+ "Standard_GS2",
+ "Standard_GS3",
+ "Standard_GS4",
+ "Standard_GS4-4",
+ "Standard_GS4-8",
+ "Standard_GS5",
+ "Standard_GS5-16",
+ "Standard_GS5-8",
+ "Standard_H16",
+ "Standard_H16m",
+ "Standard_H16mr",
+ "Standard_H16r",
+ "Standard_H8",
+ "Standard_H8m",
+ "Standard_L16s",
+ "Standard_L32s",
+ "Standard_L4s",
+ "Standard_L8s",
+ "Standard_M128-32ms",
+ "Standard_M128-64ms",
+ "Standard_M128ms",
+ "Standard_M128s",
+ "Standard_M64-16ms",
+ "Standard_M64-32ms",
+ "Standard_M64ms",
+ "Standard_M64s",
+ "Standard_NC12",
+ "Standard_NC12s_v2",
+ "Standard_NC12s_v3",
+ "Standard_NC24",
+ "Standard_NC24r",
+ "Standard_NC24rs_v2",
+ "Standard_NC24rs_v3",
+ "Standard_NC24s_v2",
+ "Standard_NC24s_v3",
+ "Standard_NC6",
+ "Standard_NC6s_v2",
+ "Standard_NC6s_v3",
+ "Standard_ND12s",
+ "Standard_ND24rs",
+ "Standard_ND24s",
+ "Standard_ND6s",
+ "Standard_NV12",
+ "Standard_NV24",
+ "Standard_NV6"
+ ]
+ },
+ "ManagedClusterServicePrincipalProfile": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "The ID for the service principal."
+ },
+ "secret": {
+ "type": "string",
+ "description": "The secret password associated with the service principal in plain text."
+ }
+ },
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
+ "required": [
+ "clientId"
+ ]
+ },
+ "ContainerServiceMasterProfile": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "enum": [
+ 1,
+ 3,
+ 5
+ ],
+ "x-ms-enum": {
+ "name": "Count",
+ "modelAsString": false
+ },
+ "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.",
+ "default": 1
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix to be used to create the FQDN for the master pool."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "firstConsecutiveStaticIP": {
+ "type": "string",
+ "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.",
+ "default": "10.240.255.5"
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/ContainerServiceStorageProfile",
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ }
+ },
+ "required": [
+ "dnsPrefix",
+ "vmSize"
+ ],
+ "description": "Profile for the container service master."
+ },
+ "ManagedClusterAgentPoolProfileProperties": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1."
+ },
+ "vmSize": {
+ "type": "string",
+ "title": "The size of the agent pool VMs.",
+ "description": "VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions"
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk"
+ },
+ "osDiskType": {
+ "$ref": "#/definitions/OSDiskType"
+ },
+ "kubeletDiskType": {
+ "$ref": "#/definitions/KubeletDiskType"
+ },
+ "vnetSubnetID": {
+ "type": "string",
+ "title": "The ID of the subnet which agent pool nodes and optionally pods will join on startup.",
+ "description": "If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}"
+ },
+ "podSubnetID": {
+ "type": "string",
+ "title": "The ID of the subnet which pods will join when launched.",
+ "description": "If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}"
+ },
+ "maxPods": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of pods that can run on a node."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType"
+ },
+ "osSKU": {
+ "$ref": "#/definitions/OSSKU"
+ },
+ "maxCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of nodes for auto-scaling"
+ },
+ "minCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The minimum number of nodes for auto-scaling"
+ },
+ "enableAutoScaling": {
+ "type": "boolean",
+ "description": "Whether to enable auto-scaler"
+ },
+ "scaleDownMode": {
+ "$ref": "#/definitions/ScaleDownMode",
+ "title": "The scale down mode to use when scaling the Agent Pool.",
+ "description": "This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete."
+ },
+ "type": {
+ "$ref": "#/definitions/AgentPoolType"
+ },
+ "mode": {
+ "$ref": "#/definitions/AgentPoolMode"
+ },
+ "orchestratorVersion": {
+ "type": "string",
+ "title": "The version of Kubernetes running on the Agent Pool.",
+ "description": "As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool)."
+ },
+ "nodeImageVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The version of node image"
+ },
+ "upgradeSettings": {
+ "$ref": "#/definitions/AgentPoolUpgradeSettings",
+ "description": "Settings for upgrading the agentpool"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state."
+ },
+ "powerState": {
+ "readOnly": true,
+ "description": "Describes whether the Agent Pool is Running or Stopped",
+ "$ref": "#/definitions/PowerState"
+ },
+ "availabilityZones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'."
+ },
+ "enableNodePublicIP": {
+ "type": "boolean",
+ "title": "Whether each node is allocated its own public IP.",
+ "description": "Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false."
+ },
+ "nodePublicIPPrefixID": {
+ "type": "string",
+ "title": "The public IP prefix ID which VM nodes should use IPs from.",
+ "description": "This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}"
+ },
+ "scaleSetPriority": {
+ "$ref": "#/definitions/ScaleSetPriority",
+ "description": "The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'."
+ },
+ "scaleSetEvictionPolicy": {
+ "$ref": "#/definitions/ScaleSetEvictionPolicy",
+ "title": "The Virtual Machine Scale Set eviction policy to use.",
+ "description": "This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'."
+ },
+ "spotMaxPrice": {
+ "$ref": "#/definitions/SpotMaxPrice",
+ "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.",
+ "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The tags to be persisted on the agent pool virtual machine scale set."
+ },
+ "nodeLabels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The node labels to be persisted across all nodes in agent pool."
+ },
+ "nodeTaints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule."
+ },
+ "proximityPlacementGroupID": {
+ "$ref": "#/definitions/ProximityPlacementGroupID",
+ "description": "The ID for Proximity Placement Group."
+ },
+ "kubeletConfig": {
+ "$ref": "#/definitions/KubeletConfig",
+ "description": "The Kubelet configuration on the agent pool nodes."
+ },
+ "linuxOSConfig": {
+ "$ref": "#/definitions/LinuxOSConfig",
+ "description": "The OS configuration of Linux agent nodes."
+ },
+ "enableEncryptionAtHost": {
+ "type": "boolean",
+ "title": "Whether to enable host based OS and data drive encryption.",
+ "description": "This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption"
+ },
+ "enableUltraSSD": {
+ "type": "boolean",
+ "description": "Whether to enable UltraSSD"
+ },
+ "enableFIPS": {
+ "type": "boolean",
+ "title": "Whether to use a FIPS-enabled OS.",
+ "description": "See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details."
+ },
+ "gpuInstanceProfile": {
+ "$ref": "#/definitions/GPUInstanceProfile",
+ "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU."
+ }
+ },
+ "description": "Properties for the container service agent pool profile."
+ },
+ "ManagedClusterAgentPoolProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties"
+ },
+ {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "Unique name of the agent pool profile in the context of the subscription and resource group.",
+ "description": "Windows agent pool names must be 6 characters or less.",
+ "pattern": "^[a-z][a-z0-9]{0,11}$"
+ }
+ }
+ }
+ ],
+ "required": [
+ "name"
+ ],
+ "description": "Profile for the container service agent pool."
+ },
+ "AgentPoolType": {
+ "type": "string",
+ "enum": [
+ "VirtualMachineScaleSets",
+ "AvailabilitySet"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "VirtualMachineScaleSets",
+ "description": "Create an Agent Pool backed by a Virtual Machine Scale Set."
+ },
+ {
+ "value": "AvailabilitySet",
+ "description": "Use of this is strongly discouraged."
+ }
+ ]
+ },
+ "description": "The type of Agent Pool."
+ },
+ "AgentPoolMode": {
+ "type": "string",
+ "enum": [
+ "System",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "System",
+ "description": "System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory."
+ },
+ {
+ "value": "User",
+ "description": "User agent pools are primarily for hosting your application pods."
+ }
+ ]
+ },
+ "title": "The mode of an agent pool.",
+ "description": "A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools"
+ },
+ "AgentPoolListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "The list of agent pools."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of agent pool results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Agent Pools operation."
+ },
+ "AgentPoolUpgradeSettings": {
+ "properties": {
+ "maxSurge": {
+ "type": "string",
+ "title": "The maximum number or percentage of nodes that are surged during upgrade.",
+ "description": "This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade"
+ }
+ },
+ "description": "Settings for upgrading an agentpool"
+ },
+ "AgentPool": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of an agent pool.",
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Agent Pool."
+ },
+ "ManagedClusterWindowsProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "Specifies the name of the administrator account.
**Restriction:** Cannot end in \".\"
**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".
**Minimum-length:** 1 character
**Max-length:** 20 characters"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "Specifies the password of the administrator account.
**Minimum-length:** 8 characters
**Max-length:** 123 characters
**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])
**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\""
+ },
+ "licenseType": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Windows_Server"
+ ],
+ "x-ms-enum": {
+ "name": "licenseType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No additional licensing is applied."
+ },
+ {
+ "value": "Windows_Server",
+ "description": "Enables Azure Hybrid User Benefits for Windows VMs."
+ }
+ ]
+ },
+ "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details."
+ },
+ "enableCSIProxy": {
+ "type": "boolean",
+ "title": "Whether to enable CSI proxy.",
+ "description": "For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy)."
+ }
+ },
+ "required": [
+ "adminUsername"
+ ],
+ "description": "Profile for Windows VMs in the managed cluster."
+ },
+ "ContainerServiceLinuxProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Linux VMs.",
+ "pattern": "^[A-Za-z][-A-Za-z0-9_]*$"
+ },
+ "ssh": {
+ "$ref": "#/definitions/ContainerServiceSshConfiguration",
+ "description": "The SSH configuration for Linux-based VMs running on Azure."
+ }
+ },
+ "required": [
+ "adminUsername",
+ "ssh"
+ ],
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "ContainerServiceNetworkProfile": {
+ "properties": {
+ "networkPlugin": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "kubenet"
+ ],
+ "default": "kubenet",
+ "x-ms-enum": {
+ "name": "NetworkPlugin",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "azure",
+ "description": "Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information."
+ },
+ {
+ "value": "kubenet",
+ "description": "Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information."
+ }
+ ]
+ },
+ "description": "Network plugin used for building the Kubernetes network."
+ },
+ "networkPolicy": {
+ "type": "string",
+ "enum": [
+ "calico",
+ "azure"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPolicy",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "calico",
+ "description": "Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information."
+ },
+ {
+ "value": "azure",
+ "description": "Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information."
+ }
+ ]
+ },
+ "description": "Network policy used for building the Kubernetes network."
+ },
+ "networkMode": {
+ "type": "string",
+ "enum": [
+ "transparent",
+ "bridge"
+ ],
+ "x-ms-enum": {
+ "name": "networkMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "transparent",
+ "description": "No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information."
+ },
+ {
+ "value": "bridge",
+ "description": "This is no longer supported"
+ }
+ ]
+ },
+ "title": "The network mode Azure CNI is configured with.",
+ "description": "This cannot be specified if networkPlugin is anything other than 'azure'."
+ },
+ "podCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.244.0.0/16",
+ "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used."
+ },
+ "serviceCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.0.0.0/16",
+ "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges."
+ },
+ "dnsServiceIP": {
+ "type": "string",
+ "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
+ "default": "10.0.0.10",
+ "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr."
+ },
+ "dockerBridgeCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "172.17.0.1/16",
+ "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range."
+ },
+ "outboundType": {
+ "type": "string",
+ "enum": [
+ "loadBalancer",
+ "userDefinedRouting",
+ "managedNATGateway",
+ "userAssignedNATGateway"
+ ],
+ "x-ms-enum": {
+ "name": "outboundType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "loadBalancer",
+ "description": "The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer)."
+ },
+ {
+ "value": "userDefinedRouting",
+ "description": "Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting)."
+ },
+ {
+ "value": "managedNATGateway",
+ "description": "The AKS-managed NAT gateway is used for egress."
+ },
+ {
+ "value": "userAssignedNATGateway",
+ "description": "The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration."
+ }
+ ]
+ },
+ "default": "loadBalancer",
+ "title": "The outbound (egress) routing method.",
+ "description": "This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype)."
+ },
+ "loadBalancerSku": {
+ "type": "string",
+ "enum": [
+ "standard",
+ "basic"
+ ],
+ "x-ms-enum": {
+ "name": "loadBalancerSku",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "standard",
+ "description": "Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article."
+ },
+ {
+ "value": "basic",
+ "description": "Use a basic Load Balancer with limited functionality."
+ }
+ ]
+ },
+ "title": "The load balancer sku for the managed cluster.",
+ "description": "The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs."
+ },
+ "loadBalancerProfile": {
+ "$ref": "#/definitions/ManagedClusterLoadBalancerProfile",
+ "description": "Profile of the cluster load balancer."
+ },
+ "natGatewayProfile": {
+ "$ref": "#/definitions/ManagedClusterNATGatewayProfile",
+ "description": "Profile of the cluster NAT gateway."
+ }
+ },
+ "description": "Profile of network configuration."
+ },
+ "MaintenanceConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ },
+ "description": "The list of maintenance configurations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of maintenance configuration results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List maintenance configurations operation."
+ },
+ "SystemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the resource."
+ },
+ "createdByType": {
+ "type": "string",
+ "description": "The type of identity that created the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The UTC timestamp of resource creation."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the resource."
+ },
+ "lastModifiedByType": {
+ "type": "string",
+ "description": "The type of identity that last modified the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The type of identity that last modified the resource."
+ }
+ }
+ },
+ "MaintenanceConfiguration": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "readOnly": true,
+ "description": "The system metadata relating to this resource."
+ },
+ "properties": {
+ "description": "Properties of a default maintenance configuration.",
+ "$ref": "#/definitions/MaintenanceConfigurationProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "title": "Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster.",
+ "description": "See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance."
+ },
+ "MaintenanceConfigurationProperties": {
+ "properties": {
+ "timeInWeek": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeInWeek"
+ },
+ "title": "Time slots during the week when planned maintenance is allowed to proceed.",
+ "description": "If two array entries specify the same day of the week, the applied configuration is the union of times in both entries."
+ },
+ "notAllowedTime": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSpan"
+ },
+ "description": "Time slots on which upgrade is not allowed."
+ }
+ },
+ "description": "Properties used to configure planned maintenance for a Managed Cluster."
+ },
+ "TimeInWeek": {
+ "properties": {
+ "day": {
+ "$ref": "#/definitions/WeekDay",
+ "description": "The day of the week."
+ },
+ "hourSlots": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HourInDay"
+ },
+ "title": "A list of hours in the day used to identify a time range.",
+ "description": "Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range."
+ }
+ },
+ "description": "Time in a week."
+ },
+ "WeekDay": {
+ "type": "string",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "x-ms-enum": {
+ "name": "WeekDay",
+ "modelAsString": true
+ },
+ "description": "The weekday enum."
+ },
+ "HourInDay": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 23,
+ "minimum": 0,
+ "description": "Hour in a day."
+ },
+ "TimeSpan": {
+ "properties": {
+ "start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start of a time span"
+ },
+ "end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end of a time span"
+ }
+ },
+ "title": "A time range.",
+ "description": "For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z."
+ },
+ "RunCommandRequest": {
+ "properties": {
+ "command": {
+ "type": "string",
+ "description": "The command to run."
+ },
+ "context": {
+ "type": "string",
+ "description": "A base64 encoded zip file containing the files required by the command."
+ },
+ "clusterToken": {
+ "type": "string",
+ "description": "AuthToken issued for AKS AAD Server App."
+ }
+ },
+ "description": "A run command request",
+ "required": [
+ "command"
+ ]
+ },
+ "RunCommandResult": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The command id.",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Properties of command result.",
+ "$ref": "#/definitions/CommandResultProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "description": "run command result."
+ },
+ "CommandResultProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "provisioning State"
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The exit code of the command"
+ },
+ "startedAt": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The time when the command started."
+ },
+ "finishedAt": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The time when the command finished."
+ },
+ "logs": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The command output."
+ },
+ "reason": {
+ "type": "string",
+ "readOnly": true,
+ "description": "An explanation of why provisioningState is set to failed (if so)."
+ }
+ },
+ "description": "The results of a run command"
+ },
+ "ManagedClusterNATGatewayProfile": {
+ "type": "object",
+ "properties": {
+ "managedOutboundIPProfile": {
+ "$ref": "#/definitions/ManagedClusterManagedOutboundIPProfile",
+ "description": "Profile of the managed outbound IP resources of the cluster NAT gateway."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster NAT gateway."
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.",
+ "default": 4
+ }
+ },
+ "description": "Profile of the managed cluster NAT gateway."
+ },
+ "ManagedClusterManagedOutboundIPProfile": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 16,
+ "minimum": 1,
+ "description": "The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. ",
+ "default": 1
+ }
+ },
+ "description": "Profile of the managed outbound IP resources of the managed cluster."
+ },
+ "ManagedClusterLoadBalancerProfile": {
+ "properties": {
+ "managedOutboundIPs": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "The desired number of outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ }
+ },
+ "description": "Desired managed outbound IPs for the cluster load balancer."
+ },
+ "outboundIPPrefixes": {
+ "properties": {
+ "publicIPPrefixes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP prefix resources."
+ }
+ },
+ "description": "Desired outbound IP Prefix resources for the cluster load balancer."
+ },
+ "outboundIPs": {
+ "properties": {
+ "publicIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP resources."
+ }
+ },
+ "description": "Desired outbound IP resources for the cluster load balancer."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster load balancer."
+ },
+ "allocatedOutboundPorts": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 64000,
+ "minimum": 0,
+ "description": "The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
+ "default": 0
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
+ "default": 30
+ }
+ },
+ "description": "Profile of the managed cluster load balancer."
+ },
+ "ResourceReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified Azure resource id."
+ }
+ },
+ "description": "A reference to an Azure resource."
+ },
+ "ContainerServiceSshConfiguration": {
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerServiceSshPublicKey"
+ },
+ "description": "The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified."
+ }
+ },
+ "description": "SSH configuration for Linux-based VMs running on Azure.",
+ "required": [
+ "publicKeys"
+ ]
+ },
+ "ContainerServiceSshPublicKey": {
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers."
+ }
+ },
+ "required": [
+ "keyData"
+ ],
+ "description": "Contains information about SSH certificate public key data."
+ },
+ "ContainerServiceDiagnosticsProfile": {
+ "properties": {
+ "vmDiagnostics": {
+ "$ref": "#/definitions/ContainerServiceVMDiagnostics",
+ "description": "Profile for diagnostics on the container service VMs."
+ }
+ },
+ "description": "Profile for diagnostics on the container service cluster.",
+ "required": [
+ "vmDiagnostics"
+ ]
+ },
+ "ContainerServiceVMDiagnostics": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the VM diagnostic agent is provisioned on the VM."
+ },
+ "storageUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI of the storage account where diagnostics are stored."
+ }
+ },
+ "description": "Profile for diagnostics on the container service VMs.",
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The list of managed clusters."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Clusters operation."
+ },
+ "ManagedCluster": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ManagedClusterSKU",
+ "description": "The managed cluster SKU."
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extended location of the Virtual Machine."
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedClusterIdentity",
+ "description": "The identity of the managed cluster, if configured."
+ },
+ "properties": {
+ "description": "Properties of a managed cluster.",
+ "$ref": "#/definitions/ManagedClusterProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Managed cluster."
+ },
+ "ManagedClusterProperties": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current provisioning state."
+ },
+ "powerState": {
+ "$ref": "#/definitions/PowerState",
+ "description": "The Power State of the cluster.",
+ "readOnly": true
+ },
+ "maxAgentPools": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The max number of agent pools for the managed cluster."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "title": "The version of Kubernetes the Managed Cluster is running.",
+ "description": "When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details."
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "title": "The DNS prefix of the Managed Cluster.",
+ "description": "This cannot be updated once the Managed Cluster has been created."
+ },
+ "fqdnSubdomain": {
+ "type": "string",
+ "title": "The FQDN subdomain of the private cluster with custom private dns zone.",
+ "description": "This cannot be updated once the Managed Cluster has been created."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The FQDN of the master pool."
+ },
+ "privateFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The FQDN of private cluster."
+ },
+ "azurePortalFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "title": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients.",
+ "description": "The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfile"
+ },
+ "description": "The agent pool properties."
+ },
+ "linuxProfile": {
+ "$ref": "#/definitions/ContainerServiceLinuxProfile",
+ "description": "The profile for Linux VMs in the Managed Cluster."
+ },
+ "windowsProfile": {
+ "$ref": "#/definitions/ManagedClusterWindowsProfile",
+ "description": "The profile for Windows VMs in the Managed Cluster."
+ },
+ "servicePrincipalProfile": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile",
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs."
+ },
+ "addonProfiles": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ManagedClusterAddonProfile"
+ },
+ "description": "The profile of managed cluster add-on."
+ },
+ "podIdentityProfile": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProfile",
+ "title": "The pod identity profile of the Managed Cluster.",
+ "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration."
+ },
+ "nodeResourceGroup": {
+ "type": "string",
+ "description": "The name of the resource group containing agent pool nodes."
+ },
+ "enableRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Kubernetes Role-Based Access Control."
+ },
+ "enablePodSecurityPolicy": {
+ "type": "boolean",
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/ContainerServiceNetworkProfile",
+ "description": "The network configuration profile."
+ },
+ "aadProfile": {
+ "$ref": "#/definitions/ManagedClusterAADProfile",
+ "description": "The Azure Active Directory configuration."
+ },
+ "autoUpgradeProfile": {
+ "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile",
+ "description": "The auto upgrade configuration."
+ },
+ "autoScalerProfile": {
+ "type": "object",
+ "properties": {
+ "balance-similar-node-groups": {
+ "type": "string",
+ "title": "Detects similar node pools and balances the number of nodes between them.",
+ "description": "Valid values are 'true' and 'false'"
+ },
+ "expander": {
+ "type": "string",
+ "enum": [
+ "least-waste",
+ "most-pods",
+ "priority",
+ "random"
+ ],
+ "x-ms-enum": {
+ "name": "expander",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "least-waste",
+ "description": "Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources."
+ },
+ {
+ "value": "most-pods",
+ "description": "Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once."
+ },
+ {
+ "value": "priority",
+ "description": "Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md)."
+ },
+ {
+ "value": "random",
+ "description": "Used when you don't have a particular need for the node groups to scale differently."
+ }
+ ]
+ },
+ "title": "The expander to use when scaling up",
+ "description": "If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information."
+ },
+ "max-empty-bulk-delete": {
+ "type": "string",
+ "title": "The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer.",
+ "description": "The default is 10."
+ },
+ "max-graceful-termination-sec": {
+ "type": "string",
+ "title": "The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node.",
+ "description": "The default is 600."
+ },
+ "max-node-provision-time": {
+ "type": "string",
+ "title": "The maximum time the autoscaler waits for a node to be provisioned.",
+ "description": "The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "max-total-unready-percentage": {
+ "type": "string",
+ "title": "The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations.",
+ "description": "The default is 45. The maximum is 100 and the minimum is 0."
+ },
+ "new-pod-scale-up-delay": {
+ "type": "string",
+ "title": "Ignore unscheduled pods before they're a certain age.",
+ "description": "For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc)."
+ },
+ "ok-total-unready-count": {
+ "type": "string",
+ "title": "The number of allowed unready nodes, irrespective of max-total-unready-percentage.",
+ "description": "This must be an integer. The default is 3."
+ },
+ "scan-interval": {
+ "type": "string",
+ "title": "How often cluster is reevaluated for scale up or down.",
+ "description": "The default is '10'. Values must be an integer number of seconds."
+ },
+ "scale-down-delay-after-add": {
+ "type": "string",
+ "title": "How long after scale up that scale down evaluation resumes",
+ "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-delay-after-delete": {
+ "type": "string",
+ "title": "How long after node deletion that scale down evaluation resumes.",
+ "description": "The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-delay-after-failure": {
+ "type": "string",
+ "title": "How long after scale down failure that scale down evaluation resumes.",
+ "description": "The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-unneeded-time": {
+ "type": "string",
+ "title": "How long a node should be unneeded before it is eligible for scale down.",
+ "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-unready-time": {
+ "type": "string",
+ "title": "How long an unready node should be unneeded before it is eligible for scale down",
+ "description": "The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-utilization-threshold": {
+ "type": "string",
+ "title": "Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down.",
+ "description": "The default is '0.5'."
+ },
+ "skip-nodes-with-local-storage": {
+ "type": "string",
+ "title": "If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath.",
+ "description": "The default is true."
+ },
+ "skip-nodes-with-system-pods": {
+ "type": "string",
+ "title": "If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods)",
+ "description": "The default is true."
+ }
+ },
+ "description": "Parameters to be applied to the cluster-autoscaler when enabled"
+ },
+ "apiServerAccessProfile": {
+ "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile",
+ "description": "The access profile for managed cluster API server."
+ },
+ "diskEncryptionSetID": {
+ "type": "string",
+ "title": "The Resource ID of the disk encryption set to use for enabling encryption at rest.",
+ "description": "This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'"
+ },
+ "identityProfile": {
+ "additionalProperties": {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ },
+ "description": "Identities associated with the cluster."
+ },
+ "privateLinkResources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ },
+ "description": "Private link resources associated with the cluster."
+ },
+ "disableLocalAccounts": {
+ "type": "boolean",
+ "title": "If local accounts should be disabled on the Managed Cluster.",
+ "description": "If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview)."
+ },
+ "httpProxyConfig": {
+ "$ref": "#/definitions/ManagedClusterHTTPProxyConfig",
+ "description": "Configurations for provisioning the cluster with HTTP proxy servers."
+ },
+ "securityProfile": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfile",
+ "description": "Security profile for the managed cluster."
+ }
+ },
+ "description": "Properties of the managed cluster."
+ },
+ "PowerState": {
+ "description": "Describes the Power State of the cluster",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Tells whether the cluster is Running or Stopped",
+ "enum": [
+ "Running",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "code",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Running",
+ "description": "The cluster is running."
+ },
+ {
+ "value": "Stopped",
+ "description": "The cluster is stopped."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "ManagedClusterAPIServerAccessProfile": {
+ "properties": {
+ "authorizedIPRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The IP ranges authorized to access the Kubernetes API server.",
+ "description": "IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges)."
+ },
+ "enablePrivateCluster": {
+ "type": "boolean",
+ "title": "Whether to create the cluster as a private cluster or not.",
+ "description": "For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters)."
+ },
+ "privateDNSZone": {
+ "type": "string",
+ "title": "The private DNS zone mode for the cluster.",
+ "description": "The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'."
+ },
+ "enablePrivateClusterPublicFQDN": {
+ "type": "boolean",
+ "description": "Whether to create additional public FQDN for private cluster or not."
+ }
+ },
+ "description": "Access profile for managed cluster API server."
+ },
+ "ManagedClusterIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity which is used by master components."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity which is used by master components."
+ },
+ "type": {
+ "type": "string",
+ "title": "The type of identity used for the managed cluster.",
+ "description": "For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "SystemAssigned",
+ "description": "Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources."
+ },
+ {
+ "value": "UserAssigned",
+ "description": "Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources."
+ },
+ {
+ "value": "None",
+ "description": "Do not use a managed identity for the Managed Cluster, service principal will be used instead."
+ }
+ ]
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "x-ms-client-name": "ManagedServiceIdentityUserAssignedIdentitiesValue",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "title": "The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed.",
+ "description": "The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the managed cluster."
+ },
+ "UserAssignedIdentity": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The resource ID of the user assigned identity."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "The client ID of the user assigned identity."
+ },
+ "objectId": {
+ "type": "string",
+ "description": "The object ID of the user assigned identity."
+ }
+ },
+ "description": "Details about a user assigned identity."
+ },
+ "ManagedClusterAccessProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "AccessProfile of a managed cluster.",
+ "$ref": "#/definitions/AccessProfile",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster Access Profile.",
+ "x-ms-azure-resource": false
+ },
+ "AccessProfile": {
+ "type": "object",
+ "properties": {
+ "kubeConfig": {
+ "type": "string",
+ "format": "byte",
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "Profile for enabling a user to access a managed cluster."
+ },
+ "ManagedClusterPoolUpgradeProfile": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "name": {
+ "type": "string",
+ "description": "The Agent Pool name."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType"
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether the Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "ManagedClusterUpgradeProfileProperties": {
+ "properties": {
+ "controlPlaneProfile": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile",
+ "description": "The list of available upgrade versions for the control plane."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile"
+ },
+ "description": "The list of available upgrade versions for agent pools."
+ }
+ },
+ "required": [
+ "controlPlaneProfile",
+ "agentPoolProfiles"
+ ],
+ "description": "Control plane and agent pool upgrade profiles."
+ },
+ "ManagedClusterAutoUpgradeProfile": {
+ "properties": {
+ "upgradeChannel": {
+ "type": "string",
+ "enum": [
+ "rapid",
+ "stable",
+ "patch",
+ "node-image",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "upgradeChannel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "rapid",
+ "description": "Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1."
+ },
+ {
+ "value": "stable",
+ "description": "Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6."
+ },
+ {
+ "value": "patch",
+ "description": "Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9."
+ },
+ {
+ "value": "node-image",
+ "description": "Automatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will automatically update your node images whenever a new version is available."
+ },
+ {
+ "value": "none",
+ "description": "Disables auto-upgrades and keeps the cluster at its current version of Kubernetes."
+ }
+ ]
+ },
+ "title": "The upgrade channel for auto upgrade. The default is 'none'.",
+ "description": "For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel)."
+ }
+ },
+ "description": "Auto upgrade profile for a managed cluster."
+ },
+ "ManagedClusterAADProfile": {
+ "properties": {
+ "managed": {
+ "type": "boolean",
+ "description": "Whether to enable managed AAD."
+ },
+ "enableAzureRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Azure RBAC for Kubernetes authorization."
+ },
+ "adminGroupObjectIDs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of AAD group object IDs that will have admin role of the cluster."
+ },
+ "clientAppID": {
+ "type": "string",
+ "description": "The client AAD application ID."
+ },
+ "serverAppID": {
+ "type": "string",
+ "description": "The server AAD application ID."
+ },
+ "serverAppSecret": {
+ "type": "string",
+ "description": "The server AAD application secret."
+ },
+ "tenantID": {
+ "type": "string",
+ "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription."
+ }
+ },
+ "title": "AADProfile specifies attributes for Azure Active Directory integration.",
+ "description": "For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad)."
+ },
+ "ManagedClusterAddonProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the add-on is enabled or not."
+ },
+ "config": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs for configuring an add-on."
+ },
+ "identity": {
+ "readOnly": true,
+ "description": "Information of user assigned identity used by this add-on.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "A Kubernetes add-on profile for a managed cluster."
+ },
+ "ManagedClusterPodIdentity": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the pod identity."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "The namespace of the pod identity."
+ },
+ "bindingSelector": {
+ "type": "string",
+ "description": "The binding selector to use for the AzureIdentityBinding resource."
+ },
+ "identity": {
+ "$ref": "#/definitions/UserAssignedIdentity",
+ "description": "The user assigned identity details."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state of the pod identity.",
+ "enum": [
+ "Assigned",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterPodIdentityProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "provisioningInfo": {
+ "readOnly": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError",
+ "description": "Pod identity assignment error (if any)."
+ }
+ }
+ }
+ },
+ "required": [
+ "name",
+ "namespace",
+ "identity"
+ ],
+ "description": "Details about the pod identity assigned to the Managed Cluster."
+ },
+ "ManagedClusterPodIdentityProvisioningError": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the pod identity provisioning."
+ },
+ "ManagedClusterPodIdentityProvisioningErrorBody": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the pod identity provisioning."
+ },
+ "ManagedClusterPodIdentityException": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the pod identity exception."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "The namespace of the pod identity exception."
+ },
+ "podLabels": {
+ "type": "object",
+ "description": "The pod labels to match.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "namespace",
+ "podLabels"
+ ],
+ "title": "A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server.",
+ "description": "See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details."
+ },
+ "ManagedClusterPodIdentityProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the pod identity addon is enabled."
+ },
+ "allowNetworkPluginKubenet": {
+ "type": "boolean",
+ "title": "Whether pod identity is allowed to run on clusters with Kubenet networking.",
+ "description": "Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information."
+ },
+ "userAssignedIdentities": {
+ "description": "The pod identities to use in the cluster.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentity"
+ }
+ },
+ "userAssignedIdentityExceptions": {
+ "description": "The pod identity exceptions to allow.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityException"
+ }
+ }
+ },
+ "title": "The pod identity profile of the Managed Cluster.",
+ "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration."
+ },
+ "ManagedClusterUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties",
+ "description": "The properties of the upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for compute pools."
+ },
+ "AgentPoolUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the agent pool upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the agent pool upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the agent pool upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfileProperties",
+ "description": "The properties of the agent pool upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for an agent pool."
+ },
+ "AgentPoolUpgradeProfileProperties": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType"
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether the Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ },
+ "latestNodeImageVersion": {
+ "type": "string",
+ "description": "The latest AKS supported node image version."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "AgentPoolAvailableVersions": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the agent pool version list."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the agent pool version list."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool version list."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolAvailableVersionsProperties",
+ "description": "Properties of agent pool available versions.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available versions for an agent pool."
+ },
+ "AgentPoolAvailableVersionsProperties": {
+ "properties": {
+ "agentPoolVersions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "description": "Whether this version is the default agent pool version."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of versions available for agent pool."
+ }
+ },
+ "description": "The list of available agent pool versions."
+ },
+ "OSType": {
+ "type": "string",
+ "default": "Linux",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "OSType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Linux",
+ "description": "Use Linux."
+ },
+ {
+ "value": "Windows",
+ "description": "Use Windows."
+ }
+ ]
+ },
+ "description": "The operating system type. The default is Linux."
+ },
+ "OSSKU": {
+ "type": "string",
+ "enum": [
+ "Ubuntu",
+ "CBLMariner"
+ ],
+ "x-ms-enum": {
+ "name": "OSSKU",
+ "modelAsString": true
+ },
+ "description": "Specifies an OS SKU. This value must not be specified if OSType is Windows."
+ },
+ "ScaleSetPriority": {
+ "type": "string",
+ "default": "Regular",
+ "enum": [
+ "Spot",
+ "Regular"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetPriority",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Spot",
+ "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information."
+ },
+ {
+ "value": "Regular",
+ "description": "Regular VMs will be used."
+ }
+ ]
+ },
+ "description": "The Virtual Machine Scale Set priority."
+ },
+ "ScaleSetEvictionPolicy": {
+ "type": "string",
+ "default": "Delete",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetEvictionPolicy",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Delete",
+ "description": "Nodes in the underlying Scale Set of the node pool are deleted when they're evicted."
+ },
+ {
+ "value": "Deallocate",
+ "description": "Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading."
+ }
+ ]
+ },
+ "title": "The Virtual Machine Scale Set eviction policy.",
+ "description": "The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms)"
+ },
+ "SpotMaxPrice": {
+ "type": "number",
+ "default": -1,
+ "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.",
+ "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)"
+ },
+ "ScaleDownMode": {
+ "type": "string",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleDownMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Delete",
+ "description": "Create new instances during scale up and remove instances during scale down."
+ },
+ {
+ "value": "Deallocate",
+ "description": "Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down."
+ }
+ ]
+ },
+ "description": "Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing)."
+ },
+ "ProximityPlacementGroupID": {
+ "type": "string",
+ "description": "The ID for Proximity Placement Group."
+ },
+ "CredentialResults": {
+ "properties": {
+ "kubeconfigs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CredentialResult"
+ },
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The list credential result response."
+ },
+ "CredentialResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the credential."
+ },
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "readOnly": true,
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The credential result response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "ManagedClusterSKU": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of a managed cluster SKU.",
+ "enum": [
+ "Basic"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "title": "The tier of a managed cluster SKU.",
+ "description": "If not specified, the default is 'Free'. See [uptime SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for more details.",
+ "enum": [
+ "Paid",
+ "Free"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUTier",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Paid",
+ "description": "Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones."
+ },
+ {
+ "value": "Free",
+ "description": "No guaranteed SLA, no additional charges. Free tier clusters have an SLO of 99.5%."
+ }
+ ]
+ }
+ }
+ },
+ "description": "The SKU of a Managed Cluster."
+ },
+ "PrivateEndpointConnectionListResult": {
+ "type": "object",
+ "description": "A list of private endpoint connections",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the private endpoint connection."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties of a private endpoint connection.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionProperties": {
+ "type": "object",
+ "description": "Properties of a private endpoint connection.",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private endpoint."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "type": "object",
+ "description": "Private endpoint which a connection belongs to.",
+ "properties": {
+ "id": {
+ "description": "The resource ID of the private endpoint",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The state of a private link service connection.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "description": "The private link service connection status.",
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The private link service connection description."
+ }
+ }
+ },
+ "PrivateLinkResourcesListResult": {
+ "type": "object",
+ "description": "A list of private link resources",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A private link resource",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the private link resource."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the private link resource.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "type": "string",
+ "description": "The resource type."
+ },
+ "groupId": {
+ "type": "string",
+ "description": "The group ID of the resource."
+ },
+ "requiredMembers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The RequiredMembers of the resource"
+ },
+ "privateLinkServiceID": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The private link service ID of the resource, this field is exposed only to NRP internally."
+ }
+ }
+ },
+ "OSDiskType": {
+ "type": "string",
+ "enum": [
+ "Managed",
+ "Ephemeral"
+ ],
+ "x-ms-enum": {
+ "name": "OSDiskType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Managed",
+ "description": "Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency."
+ },
+ {
+ "value": "Ephemeral",
+ "description": "Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades."
+ }
+ ]
+ },
+ "title": "The OS disk type to be used for machines in the agent pool.",
+ "description": "The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)."
+ },
+ "KubeletDiskType": {
+ "type": "string",
+ "enum": [
+ "OS",
+ "Temporary"
+ ],
+ "x-ms-enum": {
+ "name": "KubeletDiskType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "OS",
+ "description": "Kubelet will use the OS disk for its data."
+ },
+ {
+ "value": "Temporary",
+ "description": "Kubelet will use the temporary disk for its data."
+ }
+ ]
+ },
+ "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage."
+ },
+ "KubeletConfig": {
+ "title": "Kubelet configurations of agent nodes.",
+ "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.",
+ "type": "object",
+ "properties": {
+ "cpuManagerPolicy": {
+ "type": "string",
+ "title": "The CPU Manager policy to use.",
+ "description": "The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'."
+ },
+ "cpuCfsQuota": {
+ "type": "boolean",
+ "title": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits.",
+ "description": "The default is true."
+ },
+ "cpuCfsQuotaPeriod": {
+ "type": "string",
+ "title": "The CPU CFS quota period value.",
+ "description": "The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'."
+ },
+ "imageGcHighThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The percent of disk usage after which image garbage collection is always run.",
+ "description": "To disable image garbage collection, set to 100. The default is 85%"
+ },
+ "imageGcLowThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The percent of disk usage before which image garbage collection is never run.",
+ "description": "This cannot be set higher than imageGcHighThreshold. The default is 80%"
+ },
+ "topologyManagerPolicy": {
+ "type": "string",
+ "title": "The Topology Manager policy to use.",
+ "description": "For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'."
+ },
+ "allowedUnsafeSysctls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`)."
+ },
+ "failSwapOn": {
+ "type": "boolean",
+ "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node."
+ },
+ "containerLogMaxSizeMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated."
+ },
+ "containerLogMaxFiles": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.",
+ "minimum": 2
+ },
+ "podMaxPids": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of processes per pod."
+ }
+ }
+ },
+ "LinuxOSConfig": {
+ "title": "OS configurations of Linux agent nodes.",
+ "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.",
+ "type": "object",
+ "properties": {
+ "sysctls": {
+ "$ref": "#/definitions/SysctlConfig",
+ "description": "Sysctl settings for Linux agent nodes."
+ },
+ "transparentHugePageEnabled": {
+ "type": "string",
+ "title": "Whether transparent hugepages are enabled.",
+ "description": "Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)."
+ },
+ "transparentHugePageDefrag": {
+ "type": "string",
+ "title": "Whether the kernel should make aggressive use of memory compaction to make more hugepages available.",
+ "description": "Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)."
+ },
+ "swapFileSizeMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The size in MB of a swap file that will be created on each node."
+ }
+ }
+ },
+ "SysctlConfig": {
+ "description": "Sysctl settings for Linux agent nodes.",
+ "type": "object",
+ "properties": {
+ "netCoreSomaxconn": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.somaxconn."
+ },
+ "netCoreNetdevMaxBacklog": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.netdev_max_backlog."
+ },
+ "netCoreRmemDefault": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.rmem_default."
+ },
+ "netCoreRmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.rmem_max."
+ },
+ "netCoreWmemDefault": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.wmem_default."
+ },
+ "netCoreWmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.wmem_max."
+ },
+ "netCoreOptmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.optmem_max."
+ },
+ "netIpv4TcpMaxSynBacklog": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog."
+ },
+ "netIpv4TcpMaxTwBuckets": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets."
+ },
+ "netIpv4TcpFinTimeout": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_fin_timeout."
+ },
+ "netIpv4TcpKeepaliveTime": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_time."
+ },
+ "netIpv4TcpKeepaliveProbes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_probes."
+ },
+ "netIpv4TcpkeepaliveIntvl": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl."
+ },
+ "netIpv4TcpTwReuse": {
+ "type": "boolean",
+ "description": "Sysctl setting net.ipv4.tcp_tw_reuse."
+ },
+ "netIpv4IpLocalPortRange": {
+ "type": "string",
+ "description": "Sysctl setting net.ipv4.ip_local_port_range."
+ },
+ "netIpv4NeighDefaultGcThresh1": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1."
+ },
+ "netIpv4NeighDefaultGcThresh2": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2."
+ },
+ "netIpv4NeighDefaultGcThresh3": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3."
+ },
+ "netNetfilterNfConntrackMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.netfilter.nf_conntrack_max."
+ },
+ "netNetfilterNfConntrackBuckets": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.netfilter.nf_conntrack_buckets."
+ },
+ "fsInotifyMaxUserWatches": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.inotify.max_user_watches."
+ },
+ "fsFileMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.file-max."
+ },
+ "fsAioMaxNr": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.aio-max-nr."
+ },
+ "fsNrOpen": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.nr_open."
+ },
+ "kernelThreadsMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting kernel.threads-max."
+ },
+ "vmMaxMapCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.max_map_count."
+ },
+ "vmSwappiness": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.swappiness."
+ },
+ "vmVfsCachePressure": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.vfs_cache_pressure."
+ }
+ }
+ },
+ "ManagedClusterHTTPProxyConfig": {
+ "description": "Cluster HTTP proxy configuration.",
+ "type": "object",
+ "properties": {
+ "httpProxy": {
+ "type": "string",
+ "description": "The HTTP proxy server endpoint to use."
+ },
+ "httpsProxy": {
+ "type": "string",
+ "description": "The HTTPS proxy server endpoint to use."
+ },
+ "noProxy": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The endpoints that should not go through proxy."
+ },
+ "trustedCa": {
+ "type": "string",
+ "description": "Alternative CA cert to use for connecting to proxy servers."
+ }
+ }
+ },
+ "GPUInstanceProfile": {
+ "type": "string",
+ "enum": [
+ "MIG1g",
+ "MIG2g",
+ "MIG3g",
+ "MIG4g",
+ "MIG7g"
+ ],
+ "x-ms-enum": {
+ "name": "GPUInstanceProfile ",
+ "modelAsString": true
+ },
+ "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU."
+ },
+ "ExtendedLocationType": {
+ "type": "string",
+ "description": "The type of extendedLocation.",
+ "enum": [
+ "EdgeZone"
+ ],
+ "x-ms-enum": {
+ "name": "ExtendedLocationTypes",
+ "modelAsString": true
+ }
+ },
+ "ExtendedLocation": {
+ "description": "The complex type of the extended location.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extended location."
+ },
+ "type": {
+ "$ref": "#/definitions/ExtendedLocationType",
+ "description": "The type of the extended location."
+ }
+ }
+ },
+ "OSOptionProperty": {
+ "properties": {
+ "os-type": {
+ "type": "string",
+ "description": "The OS type."
+ },
+ "enable-fips-image": {
+ "type": "boolean",
+ "description": "Whether the image is FIPS-enabled."
+ }
+ },
+ "required": [
+ "os-type",
+ "enable-fips-image"
+ ],
+ "description": "OS option property."
+ },
+ "OSOptionPropertyList": {
+ "properties": {
+ "osOptionPropertyList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OSOptionProperty"
+ },
+ "description": "The list of OS options."
+ }
+ },
+ "required": [
+ "osOptionPropertyList"
+ ],
+ "description": "The list of OS option properties."
+ },
+ "OSOptionProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the OS option resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the OS option resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the OS option resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/OSOptionPropertyList",
+ "description": "The list of OS options.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The OS option profile."
+ },
+ "EndpointDependency": {
+ "description": "A domain name that AKS agent nodes are reaching at.",
+ "type": "object",
+ "properties": {
+ "domainName": {
+ "description": "The domain name of the dependency.",
+ "type": "string"
+ },
+ "endpointDetails": {
+ "description": "The Ports and Protocols used when connecting to domainName.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointDetail"
+ }
+ }
+ }
+ },
+ "EndpointDetail": {
+ "description": "connect information from the AKS agent nodes to a single endpoint.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "An IP Address that Domain Name currently resolves to.",
+ "type": "string"
+ },
+ "port": {
+ "format": "int32",
+ "description": "The port an endpoint is connected to.",
+ "type": "integer"
+ },
+ "protocol": {
+ "description": "The protocol used for connection",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the detail",
+ "type": "string"
+ }
+ }
+ },
+ "OutboundEnvironmentEndpoint": {
+ "description": "Egress endpoints which AKS agent nodes connect to for common purpose.",
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc.",
+ "type": "string"
+ },
+ "endpoints": {
+ "description": "The endpoints that AKS agent nodes connect to",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointDependency"
+ }
+ }
+ }
+ },
+ "OutboundEnvironmentEndpointCollection": {
+ "description": "Collection of OutboundEnvironmentEndpoint",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutboundEnvironmentEndpoint"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagedClusterSecurityProfile": {
+ "type": "object",
+ "properties": {
+ "azureDefender": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfileAzureDefender",
+ "description": "Azure Defender settings for the security profile."
+ }
+ },
+ "description": "Security profile for the container service cluster."
+ },
+ "ManagedClusterSecurityProfileAzureDefender": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable Azure Defender"
+ },
+ "logAnalyticsWorkspaceResourceId": {
+ "type": "string",
+ "description": "Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure Defender is enabled, this field is required and must be a valid workspace resource ID. When Azure Defender is disabled, leave the field empty."
+ }
+ },
+ "description": "Azure Defender settings for the security profile."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The name of the managed cluster resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "LocationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceTypeParameter": {
+ "name": "resource-type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The resource type for which the OS options needs to be returned",
+ "x-ms-parameter-location": "method"
+ },
+ "ServerFqdnParameter": {
+ "name": "server-fqdn",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "server fqdn type for credentials to be returned",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/readme.go.md b/specification/containerservice/resource-manager/readme.go.md
index d545be48b756..1ecd72072b97 100644
--- a/specification/containerservice/resource-manager/readme.go.md
+++ b/specification/containerservice/resource-manager/readme.go.md
@@ -2,16 +2,26 @@
These settings apply only when `--go` is specified on the command line.
-``` yaml $(go)
+``` yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/containerservice/armcontainerservice
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
+azure-arm: true
+```
+
### Go multi-api
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-07
+ - tag: package-2021-05
- tag: package-2021-03
- tag: package-2021-02
- tag: package-2020-12
@@ -39,6 +49,24 @@ batch:
- tag: package-2017-07
```
+### Tag: package-2021-07 and go
+
+These settings apply only when `--package-2021-07 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2021-07' && $(go)
+namespace: containerservice
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-07-01/$(namespace)
+```
+### Tag: package-2021-05 and go
+
+These settings apply only when `--package-2021-05 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2021-05' && $(go)
+namespace: containerservice
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-05-01/$(namespace)
+```
### Tag: package-2021-03 and go
These settings apply only when `--package-2021-03 --go` is specified on the command line.
diff --git a/specification/containerservice/resource-manager/readme.java.md b/specification/containerservice/resource-manager/readme.java.md
index 22255152bc3b..8fd0b2b6bafc 100644
--- a/specification/containerservice/resource-manager/readme.java.md
+++ b/specification/containerservice/resource-manager/readme.java.md
@@ -10,6 +10,11 @@ payload-flattening-threshold: 1
output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-containerservice
title: ContainerServiceManagementClient
description: "Container Service Client"
+
+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
```
### Java multi-api
@@ -31,6 +36,34 @@ batch:
- tag: package-2020-12
- tag: package-2021-02
- tag: package-2021-03
+ - tag: package-2021-05
+ - tag: package-2021-07
+```
+
+### Tag: package-2021-07 and java
+
+These settings apply only when `--tag=package-2021-07` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2021-07' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerservice.v2021_07_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2021_07_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2021-05 and java
+
+These settings apply only when `--tag=package-2021-05` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2021-05' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerservice.v2021_05_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2021_05_01
+regenerate-manager: true
+generate-interface: true
```
### Tag: package-2021-03 and java
diff --git a/specification/containerservice/resource-manager/readme.md b/specification/containerservice/resource-manager/readme.md
index e616703da9e6..8bc3bff594d7 100644
--- a/specification/containerservice/resource-manager/readme.md
+++ b/specification/containerservice/resource-manager/readme.md
@@ -34,18 +34,37 @@ These are the global settings for the ContainerServices API.
``` yaml
openapi-type: arm
-tag: package-2021-03
+tag: package-2021-07
```
+### Tag: package-2021-07
+
+These settings apply only when `--tag=package-2021-07` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-07'
+input-file:
+ - Microsoft.ContainerService/stable/2021-07-01/managedClusters.json
+```
+
+### Tag: package-2021-05
+
+These settings apply only when `--tag=package-2021-05` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-05'
+input-file:
+ - Microsoft.ContainerService/stable/2021-05-01/managedClusters.json
+```
+
### Tag: package-2021-03
These settings apply only when `--tag=package-2021-03` is specified on the command line.
-```yaml $(tag) == 'package-2021-03'
+``` yaml $(tag) == 'package-2021-03'
input-file:
- Microsoft.ContainerService/stable/2021-03-01/managedClusters.json
```
+
### Tag: package-2021-02
These settings apply only when `--tag=package-2021-02` is specified on the command line.
@@ -319,6 +338,32 @@ input-file:
```
+### Tag: package-2021-07-01-only
+
+These settings apply only when `--tag=package-2021-07-01-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-07-01-only'
+input-file:
+- Microsoft.ContainerService/stable/2021-07-01/managedClusters.json
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile
+ reason: Cluster-autoscaler settings are not camel-cased
+```
+
+### Tag: package-2021-05-01-only
+
+These settings apply only when `--tag=package-2021-05-01-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-05-01-only'
+input-file:
+- Microsoft.ContainerService/stable/2021-05-01/managedClusters.json
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile
+ reason: Cluster-autoscaler settings are not camel-cased
+```
+
### Tag: package-2021-03-01-only
These settings apply only when `--tag=package-2021-03-01-only` is specified on the command line.
@@ -637,9 +682,6 @@ 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-containerservice
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
@@ -671,6 +713,10 @@ csharp:
See configuration in [readme.go.md](./readme.go.md)
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
## Java
See configuration in [readme.java.md](./readme.java.md)
@@ -686,5 +732,3 @@ directive:
from: containerService.json
reason: ACS service is deprecated so a PATCH endpoint won't be implemented
```
-
-
diff --git a/specification/containerservice/resource-manager/readme.python.md b/specification/containerservice/resource-manager/readme.python.md
index ddd4bfebd653..91d6d2079b3b 100644
--- a/specification/containerservice/resource-manager/readme.python.md
+++ b/specification/containerservice/resource-manager/readme.python.md
@@ -2,20 +2,11 @@
These settings apply only when `--python` is specified on the command line.
-```yaml $(python) && !$(track2)
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- package-name: azure-mgmt-containerservice
- clear-output-folder: true
- no-namespace-folders: true
-```
-
```yaml $(python) && $(track2)
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
package-name: azure-mgmt-containerservice
+package-verion: 1.0.0b1
clear-output-folder: true
no-namespace-folders: true
```
@@ -24,36 +15,10 @@ no-namespace-folders: true
Generate all API versions currently shipped for this package
-```yaml $(python) && $(multiapi) && !$(track2)
-batch:
- - tag: package-2021-03-01-only
- - tag: package-2021-02-01-only
- - tag: package-2020-12-01-only
- - tag: package-2020-11-01-only
- - tag: package-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
- - tag: package-2020-01-01-only
- - tag: package-2019-11-01-only
- - tag: package-2019-10-27-preview-only
- - tag: package-2019-10-01-only
- - tag: package-2019-08-01-only
- - tag: package-2019-06-01-only
- - tag: package-2019-04-30-only
- - tag: package-2019-04-01-only
- - tag: package-2019-02-only
- - tag: package-2018-09-preview-only
- - tag: package-2019-09-preview-only
- - tag: package-2018-08-preview-only
- - tag: package-2018-03-only
- - tag: package-2017-07-only-extended
-```
-
```yaml $(python) && $(multiapi) && $(track2)
batch:
+ - tag: package-2021-07-01-only
+ - tag: package-2021-05-01-only
- tag: package-2021-03-01-only
- tag: package-2021-02-01-only
- tag: package-2020-12-01-only
@@ -87,15 +52,32 @@ clear-output-folder: false
perform-load: false
```
+### Tag: package-2021-07-01-only and python
+
+These settings apply only when `--tag=package-2021-07-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-07-01-only' && $(python)
+namespace: azure.mgmt.containerservice.v2021_07_01
+output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_07_01
+```
+
+### Tag: package-2021-05-01-only and python
+
+These settings apply only when `--tag=package-2021-05-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-05-01-only' && $(python)
+namespace: azure.mgmt.containerservice.v2021_05_01
+output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_05_01
+```
+
### Tag: package-2021-03-01-only and python
These settings apply only when `--tag=package-2021-03-01-only --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2021-03-01-only' && $(python)
-python:
- namespace: azure.mgmt.containerservice.v2021_03_01
- output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_03_01
namespace: azure.mgmt.containerservice.v2021_03_01
output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_03_01
```
@@ -106,9 +88,6 @@ These settings apply only when `--tag=package-2021-02-01-only --python` is speci
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2021-02-01-only' && $(python)
-python:
- namespace: azure.mgmt.containerservice.v2021_02_01
- output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_02_01
namespace: azure.mgmt.containerservice.v2021_02_01
output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_02_01
```
@@ -119,9 +98,6 @@ These settings apply only when `--tag=package-2020-12-01-only --python` is speci
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2020-12-01-only' && $(python)
-python:
- namespace: azure.mgmt.containerservice.v2020_12_01
- output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_12_01
namespace: azure.mgmt.containerservice.v2020_12_01
output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_12_01
```
@@ -132,9 +108,6 @@ These settings apply only when `--tag=package-2020-11-01-only --python` is speci
Please also specify `--python-sdks-folder=`.
``` yaml $(tag) == 'package-2020-11-01-only' && $(python)
-python:
- namespace: azure.mgmt.containerservice.v2020_11_01
- output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_11_01
namespace: azure.mgmt.containerservice.v2020_11_01
output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_11_01
```
@@ -145,9 +118,6 @@ These settings apply only when `--tag=package-2020-09-01-only --python` is speci
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
namespace: azure.mgmt.containerservice.v2020_09_01
output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_09_01
```
@@ -158,9 +128,6 @@ These settings apply only when `--tag=package-2020-07-01-only --python` is speci
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
namespace: azure.mgmt.containerservice.v2020_07_01
output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_07_01
```
@@ -173,9 +140,6 @@ Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-06' && $(go)
+output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2021-06-15/$(namespace)
+```
+
+### Tag: package-2021-05 and go
+
+These settings apply only when `--tag=package-2021-05 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-05' && $(go)
+output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2021-05-15/$(namespace)
+```
+
### Tag: package-2021-04 and go
These settings apply only when `--tag=package-2021-04 --go` is specified on the command line.
diff --git a/specification/cosmos-db/resource-manager/readme.md b/specification/cosmos-db/resource-manager/readme.md
index 2df2aad52bcb..11a44469efb5 100644
--- a/specification/cosmos-db/resource-manager/readme.md
+++ b/specification/cosmos-db/resource-manager/readme.md
@@ -27,14 +27,30 @@ These are the global settings for the Cosmos-DB API.
``` yaml
title: CosmosDBManagementClient
openapi-type: arm
-tag: package-2021-05
+tag: package-2021-06
+```
+
+### Tag: package-2021-06
+
+These settings apply only when `--tag=package-2021-06` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-06'
+input-file:
+ - Microsoft.DocumentDB/stable/2021-06-15/cosmos-db.json
+ - Microsoft.DocumentDB/stable/2021-06-15/notebook.json
+ - Microsoft.DocumentDB/stable/2021-06-15/privateEndpointConnection.json
+ - Microsoft.DocumentDB/stable/2021-06-15/privateLinkResources.json
+ - Microsoft.DocumentDB/stable/2021-06-15/rbac.json
+ - Microsoft.DocumentDB/stable/2021-06-15/restorable.json
+modelerfour:
+ lenient-model-deduplication: true
```
### Tag: package-2021-05
These settings apply only when `--tag=package-2021-05` is specified on the command line.
-```yaml $(tag) == 'package-2021-05'
+``` yaml $(tag) == 'package-2021-05'
input-file:
- Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json
- Microsoft.DocumentDB/stable/2021-05-15/notebook.json
@@ -49,7 +65,7 @@ modelerfour:
These settings apply only when `--tag=package-2021-04` is specified on the command line.
-```yaml $(tag) == 'package-2021-04'
+``` yaml $(tag) == 'package-2021-04'
input-file:
- Microsoft.DocumentDB/stable/2021-04-15/cosmos-db.json
- Microsoft.DocumentDB/stable/2021-04-15/notebook.json
@@ -64,7 +80,7 @@ modelerfour:
These settings apply only when `--tag=package-2021-04` is specified on the command line.
-```yaml $(tag) == 'package-2021-04-preview'
+``` yaml $(tag) == 'package-2021-04-preview'
input-file:
- Microsoft.DocumentDB/preview/2021-04-01-preview/cosmos-db.json
- Microsoft.DocumentDB/preview/2021-04-01-preview/notebook.json
@@ -82,7 +98,7 @@ modelerfour:
These settings apply only when `--tag=package-2021-03` is specified on the command line.
-```yaml $(tag) == 'package-2021-03'
+``` yaml $(tag) == 'package-2021-03'
input-file:
- Microsoft.DocumentDB/stable/2021-03-15/cosmos-db.json
- Microsoft.DocumentDB/stable/2021-03-15/notebook.json
@@ -110,12 +126,11 @@ modelerfour:
tag: package-preview-2021-04
```
-
### Tag: package-preview-2021-04
These settings apply only when `--tag=package-preview-2021-04` is specified on the command line.
-```yaml $(tag) == 'package-preview-2021-04'
+``` yaml $(tag) == 'package-preview-2021-04'
input-file:
- Microsoft.DocumentDB/preview/2021-04-01-preview/cosmos-db.json
- Microsoft.DocumentDB/preview/2021-04-01-preview/managedCassandra.json
@@ -125,6 +140,7 @@ input-file:
- Microsoft.DocumentDB/preview/2021-04-01-preview/rbac.json
- Microsoft.DocumentDB/preview/2021-04-01-preview/restorable.json
```
+
### Tag: package-2021-01
These settings apply only when `--tag=package-2021-01` is specified on the command line.
@@ -416,8 +432,6 @@ 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
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/costmanagement.json
index 254541ce9660..9054208220de 100644
--- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/costmanagement.json
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/costmanagement.json
@@ -925,7 +925,7 @@
},
"filter": {
"type": "object",
- "description": "Has filter expression to use in the query.",
+ "description": "The filter expression to use in the query. Please reference our Query API REST documentation for how to properly format the filter.",
"$ref": "#/definitions/QueryFilter"
}
}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/costmanagement.json
index 3a52625d8593..ffb411372671 100644
--- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/costmanagement.json
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-09-01/costmanagement.json
@@ -947,7 +947,7 @@
},
"filter": {
"type": "object",
- "description": "Has filter expression to use in the query.",
+ "description": "The filter expression to use in the query. Please reference our Query API REST documentation for how to properly format the filter.",
"$ref": "#/definitions/QueryFilter"
}
}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/costmanagement.json
index 7b8ee24c3400..908df9c4aab4 100644
--- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/costmanagement.json
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-10-01/costmanagement.json
@@ -1025,7 +1025,7 @@
},
"filter": {
"type": "object",
- "description": "Has filter expression to use in the query.",
+ "description": "The filter expression to use in the query. Please reference our Query API REST documentation for how to properly format the filter.",
"$ref": "#/definitions/QueryFilter"
}
}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json
index 17692a659dae..e4fed3f863c3 100644
--- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json
@@ -560,7 +560,7 @@
},
"filter": {
"type": "object",
- "description": "Has filter expression to use in the query.",
+ "description": "The filter expression to use in the query. Please reference our Query API REST documentation for how to properly format the filter.",
"$ref": "#/definitions/QueryFilter"
}
}
@@ -588,6 +588,9 @@
"description": "The name of the aggregation function to use.",
"type": "string",
"enum": [
+ "Avg",
+ "Max",
+ "Min",
"Sum"
],
"x-ms-enum": {
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json
index b27fb39070f9..1f6d3933e194 100644
--- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json
@@ -1575,6 +1575,9 @@
"description": "The name of the aggregation function to use.",
"type": "string",
"enum": [
+ "Avg",
+ "Max",
+ "Min",
"Sum"
],
"x-ms-enum": {
@@ -2626,7 +2629,8 @@
},
"required": [
"type",
- "timeframe"
+ "timeframe",
+ "dataset"
]
},
"QueryDefinition": {
@@ -2672,7 +2676,8 @@
},
"required": [
"type",
- "timeframe"
+ "timeframe",
+ "dataset"
]
},
"QueryTimePeriod": {
@@ -2731,7 +2736,7 @@
},
"filter": {
"type": "object",
- "description": "Has filter expression to use in the query.",
+ "description": "The filter expression to use in the query. Please reference our Query API REST documentation for how to properly format the filter.",
"$ref": "#/definitions/QueryFilter"
}
}
@@ -2806,6 +2811,9 @@
"description": "The name of the aggregation function to use.",
"type": "string",
"enum": [
+ "Avg",
+ "Max",
+ "Min",
"Sum"
],
"x-ms-enum": {
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
index 92d41577545c..3f944e7603ef 100644
--- 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
@@ -2159,7 +2159,8 @@
},
"required": [
"type",
- "timeframe"
+ "timeframe",
+ "dataset"
]
},
"ForecastDataset": {
@@ -2239,7 +2240,8 @@
},
"required": [
"type",
- "timeframe"
+ "timeframe",
+ "dataset"
]
},
"QueryTimePeriod": {
@@ -2298,7 +2300,7 @@
},
"filter": {
"type": "object",
- "description": "Has filter expression to use in the query.",
+ "description": "The filter expression to use in the query. Please reference our Query API REST documentation for how to properly format the filter.",
"$ref": "#/definitions/QueryFilter"
}
}
diff --git a/specification/cost-management/resource-manager/readme.go.md b/specification/cost-management/resource-manager/readme.go.md
index 82aa00c6f6f8..4142d9fd465e 100644
--- a/specification/cost-management/resource-manager/readme.go.md
+++ b/specification/cost-management/resource-manager/readme.go.md
@@ -17,6 +17,7 @@ batch:
- tag: package-2019-01
- tag: package-preview-2019-03
- tag: package-2019-10
+ - tag: package-2019-11
- tag: package-2020-06
- tag: package-2021-01
```
diff --git a/specification/cost-management/resource-manager/readme.md b/specification/cost-management/resource-manager/readme.md
index 3ee8c75f9c3f..4cbe311bdc14 100644
--- a/specification/cost-management/resource-manager/readme.md
+++ b/specification/cost-management/resource-manager/readme.md
@@ -228,7 +228,6 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-go
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
@@ -256,6 +255,10 @@ csharp:
See configuration in [readme.go.md](./readme.go.md)
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
## Java
These settings apply only when `--java` is specified on the command line.
diff --git a/specification/cost-management/resource-manager/readme.python.md b/specification/cost-management/resource-manager/readme.python.md
index 0a2ccb6be4f0..450889764cbd 100644
--- a/specification/cost-management/resource-manager/readme.python.md
+++ b/specification/cost-management/resource-manager/readme.python.md
@@ -4,48 +4,26 @@ 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.costmanagement
- package-name: azure-mgmt-costmanagement
- package-version: 1.2.0
- clear-output-folder: true
-```
-
``` yaml $(python) && $(track2)
-python-mode: create
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
namespace: azure.mgmt.costmanagement
package-name: azure-mgmt-costmanagement
package-version: 1.0.0b1
clear-output-folder: true
-modelerfour:
- lenient-model-deduplication: true
```
-``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/costmanagement/azure-mgmt-costmanagement/azure/mgmt/costmanagement
-```
``` yaml $(python) && $(python-mode) == 'update' && $(track2)
no-namespace-folders: true
output-folder: $(python-sdks-folder)/costmanagement/azure-mgmt-costmanagement/azure/mgmt/costmanagement
```
-``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/costmanagement/azure-mgmt-costmanagement
-```
-
``` yaml $(python) && $(python-mode) == 'create' && $(track2)
basic-setup-py: true
output-folder: $(python-sdks-folder)/costmanagement/azure-mgmt-costmanagement
```
+``` yaml $(python) && $(track2)
+modelerfour:
+ lenient-model-deduplication: true
+```
diff --git a/specification/cost-management/resource-manager/readme.typescript.md b/specification/cost-management/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..191f220e76bf
--- /dev/null
+++ b/specification/cost-management/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-costmanagement"
+ output-folder: "$(typescript-sdks-folder)/sdk/cost-management/arm-costmanagement"
+ clear-output-folder: true
+ generate-metadata: true
+```
diff --git a/specification/cpim/resource-manager/readme.python.md b/specification/cpim/resource-manager/readme.python.md
index 2bcf09fec915..16ca755ad519 100644
--- a/specification/cpim/resource-manager/readme.python.md
+++ b/specification/cpim/resource-manager/readme.python.md
@@ -1,19 +1,5 @@
## Python
-These settings apply only when `--python` is specified on the command line.
-
-```yaml !$(track2)
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- package-name: azure-mgmt-azureadb2c
- clear-output-folder: true
- no-namespace-folders: true
- python-base-folder: azureadb2c/azure-mgmt-azureadb2c/azure/mgmt/azureadb2c
- python-base-namespace: azure.mgmt.azureadb2c
-```
-
These settings apply only when `--track2` is specified on the command line.
```yaml $(track2)
@@ -29,12 +15,6 @@ python-base-folder: azureadb2c/azure-mgmt-azureadb2c/azure/mgmt/azureadb2c
Generate all API versions currently shipped for this package
-```yaml $(multiapi) && !$(track2)
-batch:
- - tag: package-2020-05-01-preview
- - tag: package-2019-01-01-preview
-```
-
```yaml $(multiapi) && $(track2)
clear-output-folder: true
batch:
@@ -56,9 +36,6 @@ These settings apply only when `--tag=package-2020-05-01-preview --python` is sp
```yaml $(tag) =='package-2020-05-01-preview'
namespace: $(python-base-namespace).v2020_05_01_preview
output-folder: $(python-sdks-folder)/$(python-base-folder)/v2020_05_01_preview
-python:
- namespace: $(python-base-namespace).v2020_05_01_preview
- output-folder: $(python-sdks-folder)/$(python-base-folder)/v2020_05_01_preview
```
### Tag: package-2019-01-01-preview and python
@@ -68,7 +45,4 @@ These settings apply only when `--tag=package-2019-01-01-preview --python` is sp
```yaml $(tag) =='package-2019-01-01-preview'
namespace: $(python-base-namespace).v2019_01_01_preview
output-folder: $(python-sdks-folder)/$(python-base-folder)/v2019_01_01_preview
-python:
- namespace: $(python-base-namespace).v2019_01_01_preview
- output-folder: $(python-sdks-folder)/$(python-base-folder)/v2019_01_01_preview
```
diff --git a/specification/customproviders/resource-manager/readme.md b/specification/customproviders/resource-manager/readme.md
index 84b2982cf20a..d79a7ead5125 100644
--- a/specification/customproviders/resource-manager/readme.md
+++ b/specification/customproviders/resource-manager/readme.md
@@ -51,7 +51,6 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-powershell
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
diff --git a/specification/customproviders/resource-manager/readme.python.md b/specification/customproviders/resource-manager/readme.python.md
index ae8f7bd9c9d8..f30be160c48e 100644
--- a/specification/customproviders/resource-manager/readme.python.md
+++ b/specification/customproviders/resource-manager/readme.python.md
@@ -3,37 +3,15 @@
These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-```yaml $(python) && !$(track2)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.customproviders
- package-name: azure-mgmt-customproviders
- package-version: 2018-09-01-preview
- clear-output-folder: true
-```
```yaml $(python) && $(track2)
-python-mode: create
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
namespace: azure.mgmt.customproviders
package-name: azure-mgmt-customproviders
-package-version: 2018-09-01-preview
+package-version: 1.0.0b1
clear-output-folder: true
```
-```yaml $(python) && $(python-mode) == 'create' && !$(track2)
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/customproviders/azure-mgmt-customproviders
-```
-``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/customproviders/azure-mgmt-customproviders/azure/mgmt/customproviders
-```
```yaml $(python) && $(python-mode) == 'create' && $(track2)
basic-setup-py: true
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/databox.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/databox.json
new file mode 100644
index 000000000000..4d18086b9234
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/databox.json
@@ -0,0 +1,5022 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-05-01",
+ "title": "DataBoxManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.DataBox/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "This method gets all the operations.",
+ "operationId": "Operations_List",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The supported operations list.",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OperationsGet": {
+ "$ref": "./examples/OperationsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Lists all the jobs available under the subscription.",
+ "operationId": "Jobs_List",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of jobs available under the subscription.",
+ "schema": {
+ "$ref": "#/definitions/JobResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "JobsList": {
+ "$ref": "./examples/JobsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/mitigate": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Request to mitigate for a given job",
+ "operationId": "Mitigate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "mitigateJobRequest",
+ "in": "body",
+ "description": "Mitigation Request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MitigateJobRequest"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Mitigate": {
+ "$ref": "./examples/JobMitigate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/availableSkus": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This method provides the list of available skus for the given subscription, resource group and location.",
+ "operationId": "Service_ListAvailableSkusByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "availableSkuRequest",
+ "in": "body",
+ "description": "Filters for showing the available skus.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AvailableSkuRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of available skus under Resource group.",
+ "schema": {
+ "$ref": "#/definitions/AvailableSkusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "AvailableSkusPost": {
+ "$ref": "./examples/AvailableSkusPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "[DEPRECATED NOTICE: This operation will soon be removed]. This method validates the customer shipping address and provide alternate addresses if any.",
+ "operationId": "Service_ValidateAddress",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "validateAddress",
+ "in": "body",
+ "description": "Shipping address of the customer.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateAddress"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The valid and alternate addresses.",
+ "schema": {
+ "$ref": "#/definitions/AddressValidationOutput"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "deprecated": true,
+ "x-ms-examples": {
+ "ValidateAddressPost": {
+ "$ref": "./examples/ValidateAddressPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/validateInputs": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This method does all necessary pre-job creation validation under resource group.",
+ "operationId": "Service_ValidateInputsByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "validationRequest",
+ "in": "body",
+ "description": "Inputs of the customer.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The validation status and responses of each validating parameter.",
+ "schema": {
+ "$ref": "#/definitions/ValidationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ValidateInputsByResourceGroup": {
+ "$ref": "./examples/ValidateInputsByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateInputs": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This method does all necessary pre-job creation validation under subscription.",
+ "operationId": "Service_ValidateInputs",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "validationRequest",
+ "in": "body",
+ "description": "Inputs of the customer.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The validation status and responses of each validating parameter.",
+ "schema": {
+ "$ref": "#/definitions/ValidationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ValidateInputs": {
+ "$ref": "./examples/ValidateInputs.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Lists all the jobs available under the given resource group.",
+ "operationId": "Jobs_ListByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of jobs by resource group.",
+ "schema": {
+ "$ref": "#/definitions/JobResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "JobsListByResourceGroup": {
+ "$ref": "./examples/JobsListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Gets information about the specified job.",
+ "operationId": "Jobs_Get",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "$expand is supported on details parameter for job, which provides details on the job stages.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Job object.",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "JobsGet": {
+ "$ref": "./examples/JobsGet.json"
+ },
+ "JobsGetCmk": {
+ "$ref": "./examples/JobsGetCmk.json"
+ },
+ "JobsGetExport": {
+ "$ref": "./examples/JobsGetExport.json"
+ },
+ "JobsGetCopyStuck": {
+ "$ref": "./examples/JobsGetCopyStuck.json"
+ },
+ "JobsGetWaitingForAction": {
+ "$ref": "./examples/JobsGetWaitingForAction.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Creates a new job with the specified parameters. Existing job cannot be updated with this API and should instead be updated with the Update job API.",
+ "operationId": "Jobs_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "jobResource",
+ "in": "body",
+ "description": "Job details from request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Job object.",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "202": {
+ "description": "Accepted request for create Job."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "JobsCreate": {
+ "$ref": "./examples/JobsCreate.json"
+ },
+ "JobsCreateDevicePassword": {
+ "$ref": "./examples/JobsCreateDevicePassword.json"
+ },
+ "JobsCreateExport": {
+ "$ref": "./examples/JobsCreateExport.json"
+ },
+ "JobsCreateDoubleEncryption": {
+ "$ref": "./examples/JobsCreateDoubleEncryption.json"
+ },
+ "JobsCreateWithUserAssignedIdentity": {
+ "$ref": "./examples/JobsCreateWithUserAssignedIdentity.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Deletes a job.",
+ "operationId": "Jobs_Delete",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Just for swagger we are adding this status code."
+ },
+ "202": {
+ "description": "Accepted request for delete Job."
+ },
+ "204": {
+ "description": "Job deleted."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "JobsDelete": {
+ "$ref": "./examples/JobsDelete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Updates the properties of an existing job.",
+ "operationId": "Jobs_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "description": "Defines the If-Match condition. The patch will be performed only if the ETag of the job on the server matches this value.",
+ "type": "string"
+ },
+ {
+ "name": "jobResourceUpdateParameter",
+ "in": "body",
+ "description": "Job update parameters from request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobResourceUpdateParameter"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Job object.",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "202": {
+ "description": "Accepted request for job updated."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "JobsPatch": {
+ "$ref": "./examples/JobsPatch.json"
+ },
+ "JobsPatchCmk": {
+ "$ref": "./examples/JobsPatchCmk.json"
+ },
+ "JobsPatchSystemAssignedToUserAssigned": {
+ "$ref": "./examples/JobsPatchSystemAssignedToUserAssigned.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Book shipment pick up.",
+ "operationId": "Jobs_BookShipmentPickUp",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "shipmentPickUpRequest",
+ "in": "body",
+ "description": "Details of shipment pick up request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ShipmentPickUpRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Booked shipment pick up successfully.",
+ "schema": {
+ "$ref": "#/definitions/ShipmentPickUpResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "BookShipmentPickupPost": {
+ "$ref": "./examples/BookShipmentPickupPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "CancelJob.",
+ "operationId": "Jobs_Cancel",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "cancellationReason",
+ "in": "body",
+ "description": "Reason for cancellation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CancellationReason"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Job cancelled."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "JobsCancelPost": {
+ "$ref": "./examples/JobsCancelPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listCredentials": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "This method gets the unencrypted secrets related to the job.",
+ "operationId": "Jobs_ListCredentials",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of unencrypted credentials of the job.",
+ "schema": {
+ "$ref": "#/definitions/UnencryptedCredentialsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "JobsListCredentials": {
+ "$ref": "./examples/JobsListCredentials.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This API provides configuration details specific to given region/location at Subscription level.",
+ "operationId": "Service_RegionConfiguration",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "regionConfigurationRequest",
+ "in": "body",
+ "description": "Request body to get the configuration for the region.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegionConfigurationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Region configuration response.",
+ "schema": {
+ "$ref": "#/definitions/RegionConfigurationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegionConfiguration": {
+ "$ref": "./examples/RegionConfiguration.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This API provides configuration details specific to given region/location at Resource group level.",
+ "operationId": "Service_RegionConfigurationByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "regionConfigurationRequest",
+ "in": "body",
+ "description": "Request body to get the configuration for the region at resource group level.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegionConfigurationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Region configuration response.",
+ "schema": {
+ "$ref": "#/definitions/RegionConfigurationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegionConfigurationByResourceGroup": {
+ "$ref": "./examples/RegionConfigurationByResourceGroup.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AccountCredentialDetails": {
+ "description": "Credential details of the account.",
+ "type": "object",
+ "properties": {
+ "accountName": {
+ "description": "Name of the account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataAccountType": {
+ "description": "Type of the account.",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DataAccountType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ }
+ },
+ "accountConnectionString": {
+ "description": "Connection string of the account endpoint to use the account as a storage endpoint on the device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareCredentialDetails": {
+ "description": "Per share level unencrypted access credentials.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareCredentialDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "AdditionalErrorInfo": {
+ "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."
+ }
+ ]
+ },
+ "default": "StorageAccount"
+ },
+ "sharePassword": {
+ "description": "Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+",
+ "type": "string",
+ "x-ms-secret": true,
+ "x-ms-mutability": [
+ "create"
+ ]
+ }
+ },
+ "discriminator": "dataAccountType"
+ },
+ "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)."
+ }
+ ]
+ },
+ "default": "Error"
+ },
+ "accountDetails": {
+ "$ref": "#/definitions/DataAccountDetails",
+ "description": "Account details of the data to be transferred"
+ }
+ }
+ },
+ "DataImportDetails": {
+ "description": "Details of the data to be used for importing data to azure.",
+ "required": [
+ "accountDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "accountDetails": {
+ "$ref": "#/definitions/DataAccountDetails",
+ "description": "Account details of the data to be transferred"
+ }
+ }
+ },
+ "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
+ }
+ }
+ },
+ "EncryptionPreferences": {
+ "description": "Preferences related to the Encryption.",
+ "type": "object",
+ "properties": {
+ "doubleEncryption": {
+ "description": "Defines secondary layer of software-based encryption enablement.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DoubleEncryption",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "Software-based encryption is enabled."
+ },
+ {
+ "value": "Disabled",
+ "description": "Software-based encryption is disabled."
+ }
+ ]
+ },
+ "default": "Disabled"
+ }
+ }
+ },
+ "ErrorDetail": {
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Details"
+ }
+ },
+ "target": {
+ "type": "string"
+ }
+ }
+ },
+ "FilterFileDetails": {
+ "description": "Details of the filter files to be used for data transfer.",
+ "required": [
+ "filterFileType",
+ "filterFilePath"
+ ],
+ "type": "object",
+ "properties": {
+ "filterFileType": {
+ "description": "Type of the filter file.",
+ "enum": [
+ "AzureBlob",
+ "AzureFile"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FilterFileType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "AzureBlob",
+ "description": "Filter file is of the type AzureBlob."
+ },
+ {
+ "value": "AzureFile",
+ "description": "Filter file is of the type AzureFiles."
+ }
+ ]
+ }
+ },
+ "filterFilePath": {
+ "description": "Path of the file that contains the details of all items to transfer.",
+ "type": "string"
+ }
+ }
+ },
+ "HeavyScheduleAvailabilityRequest": {
+ "description": "Request body to get the availability for scheduling heavy orders.",
+ "required": [
+ "storageLocation",
+ "skuName"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScheduleAvailabilityRequest"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "DataBoxHeavy"
+ },
+ "IdentityProperties": {
+ "description": "Managed identity properties.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Managed service identity type.",
+ "type": "string"
+ },
+ "userAssigned": {
+ "$ref": "#/definitions/UserAssignedProperties",
+ "description": "User assigned identity properties."
+ }
+ }
+ },
+ "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."
+ },
+ "expectedDataSizeInTeraBytes": {
+ "format": "int32",
+ "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.",
+ "type": "integer"
+ },
+ "actions": {
+ "description": "Available actions on the job.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "None",
+ "MoveToCleanUpDevice",
+ "Resume"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomerResolutionCode",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No Resolution Yet"
+ },
+ {
+ "value": "MoveToCleanUpDevice",
+ "description": "Clean the device"
+ },
+ {
+ "value": "Resume",
+ "description": "Resume the job to same stage"
+ }
+ ]
+ }
+ },
+ "readOnly": true
+ },
+ "lastMitigationActionOnJob": {
+ "$ref": "#/definitions/LastMitigationActionOnJob",
+ "description": "Last mitigation action performed on the job.",
+ "readOnly": true
+ }
+ },
+ "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."
+ }
+ ]
+ },
+ "default": "NonScheduled"
+ },
+ "deliveryInfo": {
+ "$ref": "#/definitions/JobDeliveryInfo",
+ "description": "Delivery Info of Job."
+ },
+ "isCancellableWithoutFee": {
+ "description": "Flag to indicate cancellation of scheduled job.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResource": {
+ "description": "Job Resource.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/JobProperties",
+ "description": "Properties of a job.",
+ "x-ms-client-flatten": true
+ },
+ "name": {
+ "description": "Name of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Id of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Type of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemData": {
+ "$ref": "#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResourceList": {
+ "description": "Job Resource Collection",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of job resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link for the next set of job resources.",
+ "type": "string"
+ }
+ }
+ },
+ "JobResourceUpdateParameter": {
+ "description": "The JobResourceUpdateParameter.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateJobProperties",
+ "description": "Properties of a job to be updated.",
+ "x-ms-client-flatten": true
+ },
+ "tags": {
+ "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "Msi identity of the resource"
+ }
+ }
+ },
+ "JobSecrets": {
+ "description": "The base class for the secrets",
+ "required": [
+ "jobSecretsType"
+ ],
+ "type": "object",
+ "properties": {
+ "jobSecretsType": {
+ "description": "Used to indicate what type of job secrets object.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "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",
+ "WaitingForCustomerActionForKek",
+ "WaitingForCustomerActionForCleanUp",
+ "CustomerActionPerformedForCleanUp"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "StageStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No status available yet."
+ },
+ {
+ "value": "InProgress",
+ "description": "Stage is in progress."
+ },
+ {
+ "value": "Succeeded",
+ "description": "Stage has succeeded."
+ },
+ {
+ "value": "Failed",
+ "description": "Stage has failed."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Stage has been cancelled."
+ },
+ {
+ "value": "Cancelling",
+ "description": "Stage is cancelling."
+ },
+ {
+ "value": "SucceededWithErrors",
+ "description": "Stage has succeeded with errors."
+ },
+ {
+ "value": "WaitingForCustomerAction",
+ "description": "Stage is stuck until customer takes some action."
+ },
+ {
+ "value": "SucceededWithWarnings",
+ "description": "Stage has succeeded with warnings."
+ },
+ {
+ "value": "WaitingForCustomerActionForKek",
+ "description": "Stage is waiting for customer action for kek action items."
+ },
+ {
+ "value": "WaitingForCustomerActionForCleanUp",
+ "description": "Stage is waiting for customer action for clean up."
+ },
+ {
+ "value": "CustomerActionPerformedForCleanUp",
+ "description": "Stage has performed customer action for clean up."
+ }
+ ]
+ }
+ },
+ "stageTime": {
+ "format": "date-time",
+ "description": "Time for the job stage in UTC ISO 8601 format.",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobStageDetails": {
+ "description": "Job Stage Details",
+ "type": "object",
+ "readOnly": true
+ }
+ }
+ },
+ "KeyEncryptionKey": {
+ "description": "Encryption key containing details about key to encrypt different keys.",
+ "required": [
+ "kekType"
+ ],
+ "type": "object",
+ "properties": {
+ "kekType": {
+ "description": "Type of encryption key used for key encryption.",
+ "enum": [
+ "MicrosoftManaged",
+ "CustomerManaged"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KekType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "MicrosoftManaged",
+ "description": "Key encryption key is managed by Microsoft."
+ },
+ {
+ "value": "CustomerManaged",
+ "description": "Key encryption key is managed by the Customer."
+ }
+ ]
+ },
+ "default": "MicrosoftManaged"
+ },
+ "identityProperties": {
+ "$ref": "#/definitions/IdentityProperties",
+ "description": "Managed identity properties used for key encryption."
+ },
+ "kekUrl": {
+ "description": "Key encryption key. It is required in case of Customer managed KekType.",
+ "type": "string"
+ },
+ "kekVaultResourceID": {
+ "description": "Kek vault resource id. It is required in case of Customer managed KekType.",
+ "type": "string"
+ }
+ }
+ },
+ "ManagedDiskDetails": {
+ "description": "Details of the managed disks.",
+ "required": [
+ "resourceGroupId",
+ "stagingStorageAccountId",
+ "dataAccountType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataAccountDetails"
+ }
+ ],
+ "properties": {
+ "resourceGroupId": {
+ "description": "Resource Group Id of the compute disks.",
+ "type": "string"
+ },
+ "stagingStorageAccountId": {
+ "description": "Resource Id of the storage account that can be used to copy the vhd for staging.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ManagedDisk"
+ },
+ "LastMitigationActionOnJob": {
+ "description": "Last Mitigation Action Performed On Job",
+ "type": "object",
+ "properties": {
+ "actionDateTimeInUtc": {
+ "format": "date-time",
+ "description": "Action performed date time",
+ "type": "string"
+ },
+ "isPerformedByCustomer": {
+ "description": "Action performed by customer,\r\npossibility is that mitigation might happen by customer or service or by ops",
+ "type": "boolean"
+ },
+ "customerResolution": {
+ "description": "Resolution code provided by customer",
+ "enum": [
+ "None",
+ "MoveToCleanUpDevice",
+ "Resume"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomerResolutionCode",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No Resolution Yet"
+ },
+ {
+ "value": "MoveToCleanUpDevice",
+ "description": "Clean the device"
+ },
+ {
+ "value": "Resume",
+ "description": "Resume the job to same stage"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "MitigateJobRequest": {
+ "description": "The Mitigate Job captured from request body for Mitigate API",
+ "required": [
+ "customerResolutionCode"
+ ],
+ "type": "object",
+ "properties": {
+ "customerResolutionCode": {
+ "description": "Resolution code for the job",
+ "enum": [
+ "None",
+ "MoveToCleanUpDevice",
+ "Resume"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomerResolutionCode",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No Resolution Yet"
+ },
+ {
+ "value": "MoveToCleanUpDevice",
+ "description": "Clean the device"
+ },
+ {
+ "value": "Resume",
+ "description": "Resume the job to same stage"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "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",
+ "default": true
+ }
+ }
+ },
+ "Operation": {
+ "description": "Operation entity.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation. Format: {resourceProviderNamespace}/{resourceType}/{read|write|delete|action}",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Operation display values.",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Operation properties.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ },
+ "origin": {
+ "description": "Origin of the operation. Can be : user|system|user,system",
+ "type": "string",
+ "readOnly": true
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Provider name.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource name.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Localized name of the operation for display purpose.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Localized description of the operation for display purpose.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationList": {
+ "description": "Operation Collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link for the next set of operations.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Operation properties.",
+ "type": "object",
+ "properties": {}
+ },
+ "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."
+ },
+ "encryptionPreferences": {
+ "$ref": "#/definitions/EncryptionPreferences",
+ "description": "Preferences related to the Encryption."
+ }
+ }
+ },
+ "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",
+ "default": "None"
+ },
+ "principalId": {
+ "description": "Service Principal Id backing the Msi",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "Home Tenant Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "userAssignedIdentities": {
+ "description": "User Assigned Identities",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ }
+ }
+ },
+ "ScheduleAvailabilityRequest": {
+ "description": "Request body to get the availability for scheduling orders.",
+ "required": [
+ "storageLocation",
+ "skuName"
+ ],
+ "type": "object",
+ "properties": {
+ "storageLocation": {
+ "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01",
+ "type": "string"
+ },
+ "skuName": {
+ "description": "Sku Name for which the order is to be scheduled.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "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"
+ ],
+ "type": "object",
+ "properties": {
+ "streetAddress1": {
+ "description": "Street Address line 1.",
+ "type": "string"
+ },
+ "streetAddress2": {
+ "description": "Street Address line 2.",
+ "type": "string"
+ },
+ "streetAddress3": {
+ "description": "Street Address line 3.",
+ "type": "string"
+ },
+ "city": {
+ "description": "Name of the City.",
+ "type": "string"
+ },
+ "stateOrProvince": {
+ "description": "Name of the State or Province.",
+ "type": "string"
+ },
+ "country": {
+ "description": "Name of the Country.",
+ "type": "string"
+ },
+ "postalCode": {
+ "description": "Postal code.",
+ "type": "string"
+ },
+ "zipExtendedCode": {
+ "description": "Extended Zip Code.",
+ "type": "string"
+ },
+ "companyName": {
+ "description": "Name of the company.",
+ "type": "string"
+ },
+ "addressType": {
+ "description": "Type of address.",
+ "enum": [
+ "None",
+ "Residential",
+ "Commercial"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AddressType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "Address type not known."
+ },
+ {
+ "value": "Residential",
+ "description": "Residential Address."
+ },
+ {
+ "value": "Commercial",
+ "description": "Commercial Address."
+ }
+ ]
+ },
+ "default": "None"
+ }
+ }
+ },
+ "Sku": {
+ "description": "The Sku.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The sku name.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "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"
+ },
+ "systemData": {
+ "description": "Provides details about resource creation and update time",
+ "type": "object",
+ "properties": {
+ "createdBy": {
+ "description": "A string identifier for the identity that created the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdByType": {
+ "description": "The type of identity that created the resource: user, application, managedIdentity",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdAt": {
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModifiedBy": {
+ "description": "A string identifier for the identity that last modified the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModifiedByType": {
+ "description": "The type of identity that last modified the resource: user, application, managedIdentity",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModifiedAt": {
+ "format": "date-time",
+ "description": "The timestamp of resource last modification (UTC)",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TransferAllDetails": {
+ "description": "Details to transfer all data.",
+ "required": [
+ "dataAccountType"
+ ],
+ "type": "object",
+ "properties": {
+ "dataAccountType": {
+ "description": "Type of the account of data",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataAccountType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ },
+ "default": "StorageAccount"
+ },
+ "transferAllBlobs": {
+ "description": "To indicate if all Azure blobs have to be transferred",
+ "type": "boolean"
+ },
+ "transferAllFiles": {
+ "description": "To indicate if all Azure Files have to be transferred",
+ "type": "boolean"
+ }
+ }
+ },
+ "TransferConfiguration": {
+ "description": "Configuration for defining the transfer of data.",
+ "required": [
+ "transferConfigurationType"
+ ],
+ "type": "object",
+ "properties": {
+ "transferConfigurationType": {
+ "description": "Type of the configuration for transfer.",
+ "enum": [
+ "TransferAll",
+ "TransferUsingFilter"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransferConfigurationType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "TransferAll",
+ "description": "Transfer all the data."
+ },
+ {
+ "value": "TransferUsingFilter",
+ "description": "Transfer using filter."
+ }
+ ]
+ }
+ },
+ "transferFilterDetails": {
+ "description": "Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter.",
+ "type": "object",
+ "properties": {
+ "include": {
+ "description": "Details of the filtering the transfer of data.",
+ "$ref": "#/definitions/TransferFilterDetails"
+ }
+ }
+ },
+ "transferAllDetails": {
+ "description": "Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll",
+ "type": "object",
+ "properties": {
+ "include": {
+ "description": "Details to transfer all data.",
+ "$ref": "#/definitions/TransferAllDetails"
+ }
+ }
+ }
+ }
+ },
+ "TransferFilterDetails": {
+ "description": "Details of the filtering the transfer of data.",
+ "required": [
+ "dataAccountType"
+ ],
+ "type": "object",
+ "properties": {
+ "dataAccountType": {
+ "description": "Type of the account of data.",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataAccountType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ },
+ "default": "StorageAccount"
+ },
+ "blobFilterDetails": {
+ "$ref": "#/definitions/BlobFilterDetails",
+ "description": "Filter details to transfer blobs."
+ },
+ "azureFileFilterDetails": {
+ "$ref": "#/definitions/AzureFileFilterDetails",
+ "description": "Filter details to transfer Azure files."
+ },
+ "filterFileDetails": {
+ "description": "Details of the filter files to be used for data transfer.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FilterFileDetails"
+ }
+ }
+ }
+ },
+ "TransportAvailabilityDetails": {
+ "description": "Transport options availability details for given region.",
+ "type": "object",
+ "properties": {
+ "shipmentType": {
+ "description": "Transport Shipment Type supported for given region.",
+ "enum": [
+ "CustomerManaged",
+ "MicrosoftManaged"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "TransportShipmentTypes",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "CustomerManaged",
+ "description": "Shipment Logistics is handled by the customer."
+ },
+ {
+ "value": "MicrosoftManaged",
+ "description": "Shipment Logistics is handled by Microsoft."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "TransportAvailabilityRequest": {
+ "description": "Request body to get the transport availability for given sku.",
+ "type": "object",
+ "properties": {
+ "skuName": {
+ "description": "Type of the device.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "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."
+ }
+ }
+ },
+ "UserAssignedIdentity": {
+ "description": "Class defining User assigned identity details.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The principal id of user assigned identity.",
+ "type": "string",
+ "readOnly": true
+ },
+ "clientId": {
+ "description": "The client id of user assigned identity.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserAssignedProperties": {
+ "description": "User assigned identity properties.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "Arm resource id for user assigned identity to be used to fetch MSI token.",
+ "type": "string"
+ }
+ }
+ },
+ "ValidateAddress": {
+ "description": "The requirements to validate customer address where the device needs to be shipped.",
+ "required": [
+ "shippingAddress",
+ "deviceType",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "shippingAddress": {
+ "$ref": "#/definitions/ShippingAddress",
+ "description": "Shipping address of the customer."
+ },
+ "deviceType": {
+ "description": "Device type to be used for the job.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "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/2021-05-01/examples/AvailableSkusPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/AvailableSkusPost.json
new file mode 100644
index 000000000000..b152fbd9b733
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/AvailableSkusPost.json
@@ -0,0 +1,280 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "bvttoolrg6",
+ "location": "westus",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "ce815189-a9cc-4288-8166-d78f211bed5a"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "84"
+ ],
+ "availableSkuRequest": {
+ "transferType": "ImportToAzure",
+ "country": "US",
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "DataBox"
+ },
+ "enabled": true,
+ "properties": {
+ "dataLocationToServiceLocationMap": [
+ {
+ "dataLocation": "westus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "northcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "southcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centraluseuap",
+ "serviceLocation": "centraluseuap"
+ },
+ {
+ "dataLocation": "eastus2euap",
+ "serviceLocation": "eastus2euap"
+ }
+ ],
+ "capacity": {
+ "usable": "80",
+ "maximum": "100"
+ },
+ "costs": [
+ {
+ "meterId": "0cf23ffc-0b64-49e6-9bdd-1db885349042",
+ "meterType": "DataBoxServiceFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "a701f058-119b-4713-a923-bed7da4b7801",
+ "meterType": "DataBoxShippingFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "049fa331-0a48-4a81-9991-a6bef3c79fed",
+ "meterType": "DataBoxExtraDayFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "c3ea978d-6a0a-4632-b094-4fffcafcb057",
+ "meterType": "DataBoxLostOrDamagedDeviceFee",
+ "multiplier": 1
+ }
+ ],
+ "apiVersions": [
+ "2018-01-01"
+ ],
+ "disabledReason": "None"
+ }
+ },
+ {
+ "sku": {
+ "name": "DataBoxDisk"
+ },
+ "enabled": true,
+ "properties": {
+ "dataLocationToServiceLocationMap": [
+ {
+ "dataLocation": "westus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "northcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "southcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centraluseuap",
+ "serviceLocation": "centraluseuap"
+ },
+ {
+ "dataLocation": "eastus2euap",
+ "serviceLocation": "eastus2euap"
+ }
+ ],
+ "capacity": {
+ "usable": "35",
+ "maximum": "40"
+ },
+ "costs": [
+ {
+ "meterId": "d95cd8b5-b6f1-4cd9-ae86-a016d1945d6f",
+ "meterType": "DataBoxDiskServiceFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "4b8cf572-cb04-4ef3-9528-2cda4e9b544e",
+ "meterType": "DataBoxDiskShippingFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "b6ae9bbf-815d-49dd-bb2b-77c497b72ba4",
+ "meterType": "DataBoxDiskDailyUsageFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "08bc0ea1-6c82-421b-b953-2a7a65810d2e",
+ "meterType": "DataBoxDiskLostDeviceFee",
+ "multiplier": 1
+ }
+ ],
+ "apiVersions": [
+ "2018-01-01"
+ ],
+ "disabledReason": "None"
+ }
+ },
+ {
+ "sku": {
+ "name": "DataBoxHeavy"
+ },
+ "enabled": true,
+ "properties": {
+ "dataLocationToServiceLocationMap": [
+ {
+ "dataLocation": "westus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "northcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "southcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centraluseuap",
+ "serviceLocation": "centraluseuap"
+ },
+ {
+ "dataLocation": "eastus2euap",
+ "serviceLocation": "eastus2euap"
+ }
+ ],
+ "capacity": {
+ "usable": "800",
+ "maximum": "1000"
+ },
+ "costs": [
+ {
+ "meterId": "d0dccaaf-3de9-4c7a-ba97-f83551b90126",
+ "meterType": "DataBoxHeavyServiceFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "7b49d11f-d4f7-4029-a197-04998fd282f9",
+ "meterType": "DataBoxHeavyShippingFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "c2c66d53-11b4-4f11-9642-43c7c336f0b7",
+ "meterType": "DataBoxHeavyExtraDayFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "188dcd7e-fbd7-4a41-aa42-162b81b0510f",
+ "meterType": "DataBoxHeavyLostOrDamagedDeviceFee",
+ "multiplier": 1
+ }
+ ],
+ "apiVersions": [
+ "2018-01-01"
+ ],
+ "disabledReason": "None",
+ "requiredFeature": "HeavyCreateAccess"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/BookShipmentPickupPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/BookShipmentPickupPost.json
new file mode 100644
index 000000000000..bec928ad7c87
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-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/2021-05-01/examples/JobMitigate.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobMitigate.json
new file mode 100644
index 000000000000..eb46de6c1f65
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobMitigate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg9836",
+ "jobName": "SdkJob8367",
+ "api-version": "2021-03-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "71d282dc-56a0-402b-a322-3b50c89711b5"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26614.01",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "60"
+ ],
+ "mitigateJobRequest": {
+ "customerResolutionCode": "MoveToCleanUpDevice"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCancelPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCancelPost.json
new file mode 100644
index 000000000000..9203b2b65bf0
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCancelPost.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-11-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "95fc15f7-4976-46bb-8370-74ed4cb676be"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "30"
+ ],
+ "cancellationReason": {
+ "reason": "CancelTest"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCreate.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCreate.json
new file mode 100644
index 000000000000..00263e181498
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCreate.json
@@ -0,0 +1,184 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "04f2835f-a2a2-4f25-96df-568460e5be24"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1064"
+ ],
+ "jobResource": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "details": {
+ "jobDetailsType": "DataBox",
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"
+ }
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "sku": {
+ "name": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob952",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCreateDevicePassword.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCreateDevicePassword.json
new file mode 100644
index 000000000000..93da7704427d
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCreateDevicePassword.json
@@ -0,0 +1,186 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg7478",
+ "jobName": "SdkJob9640",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "c4c8f926-ebbe-4c07-ae1a-b716911058df"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1168"
+ ],
+ "jobResource": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "details": {
+ "jobDetailsType": "DataBox",
+ "devicePassword": "",
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2",
+ "sharePassword": ""
+ }
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "sku": {
+ "name": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob9640",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7478/providers/Microsoft.DataBox/jobs/SdkJob9640",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCreateDoubleEncryption.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCreateDoubleEncryption.json
new file mode 100644
index 000000000000..3710dbc740bf
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCreateDoubleEncryption.json
@@ -0,0 +1,189 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg608",
+ "jobName": "SdkJob6599",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "c9c24c55-fd51-4374-839e-60ee5f0d8832"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29220.03",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.19041.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1186"
+ ],
+ "jobResource": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "details": {
+ "jobDetailsType": "DataBox",
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"
+ }
+ }
+ ],
+ "preferences": {
+ "encryptionPreferences": {
+ "doubleEncryption": "Enabled"
+ }
+ }
+ }
+ },
+ "location": "westus",
+ "sku": {
+ "name": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob6599",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg608/providers/Microsoft.DataBox/jobs/SdkJob6599",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCreateExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCreateExport.json
new file mode 100644
index 000000000000..4356fc39fd85
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCreateExport.json
@@ -0,0 +1,194 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg8091",
+ "jobName": "SdkJob6429",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "80eaafc7-e8b7-4c5a-ad81-b1ecb9573cd4"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1395"
+ ],
+ "jobResource": {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "details": {
+ "jobDetailsType": "DataBox",
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "dataExportDetails": [
+ {
+ "transferConfiguration": {
+ "transferConfigurationType": "TransferAll",
+ "transferAllDetails": {
+ "include": {
+ "dataAccountType": "StorageAccount",
+ "transferAllBlobs": true,
+ "transferAllFiles": true
+ }
+ }
+ },
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2"
+ }
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "sku": {
+ "name": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob6429",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg8091/providers/Microsoft.DataBox/jobs/SdkJob6429",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCreateWithUserAssignedIdentity.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCreateWithUserAssignedIdentity.json
new file mode 100644
index 000000000000..ccc4f82aff22
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsCreateWithUserAssignedIdentity.json
@@ -0,0 +1,190 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg7552",
+ "jobName": "SdkJob5337",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "618b064d-967c-4156-a8dd-a9867cc22af9"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29220.03",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.19041.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1318"
+ ],
+ "jobResource": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "details": {
+ "jobDetailsType": "DataBox",
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2"
+ }
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sdkIdentity": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob5337",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7552/providers/Microsoft.DataBox/jobs/SdkJob5337",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsDelete.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsDelete.json
new file mode 100644
index 000000000000..c408ddf7352f
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsDelete.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-11-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "f5c227e2-13d8-4ce9-9ef2-f3c63f6935b9"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsGet.json
new file mode 100644
index 000000000000..c8dc2863f7df
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsGet.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-11-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "e76214b0-6013-499e-8f91-3a287f421f2e"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": true,
+ "status": "DeviceOrdered",
+ "startTime": "2020-08-07T10:50:36.3341513+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2020-08-07T10:50:40.1872217+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deliveryPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "returnPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "dataAccountType": "StorageAccount"
+ }
+ }
+ ],
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": [],
+ "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=urwfAELvNV69IGHdcXlRCn6o3O3dWZQKaRipmoAdrI0%3D&st=2020-08-07T05%3A10%3A58Z&se=2020-08-08T05%3A20%3A58Z&sp=r",
+ "keyEncryptionKey": {
+ "kekType": "MicrosoftManaged"
+ }
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "SdkJob952",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsGetCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsGetCmk.json
new file mode 100644
index 000000000000..73882b877d1f
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsGetCmk.json
@@ -0,0 +1,170 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg7937",
+ "jobName": "SdkJob1735",
+ "api-version": "2020-11-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "c8cf9d3e-55f1-488f-bcee-53f4939f44e8"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": true,
+ "status": "DeviceOrdered",
+ "startTime": "2020-08-07T10:47:42.0009935+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2020-08-07T10:47:44.8736499+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deliveryPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "returnPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2",
+ "dataAccountType": "StorageAccount"
+ }
+ }
+ ],
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": [],
+ "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=JSZSeKrFrrwWbZ4zd7PNdGdNYKExKpxa98vRDDH6ZIk%3D&st=2020-08-07T05%3A08%3A51Z&se=2020-08-08T05%3A18%3A51Z&sp=r",
+ "keyEncryptionKey": {
+ "kekType": "CustomerManaged",
+ "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/",
+ "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault"
+ }
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "9a68a7c4-0a18-4d06-a5fb-7058e9e98458",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "name": "SdkJob1735",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7937/providers/Microsoft.DataBox/jobs/SdkJob1735",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsGetCopyStuck.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsGetCopyStuck.json
new file mode 100644
index 000000000000..646c6d4d3a9c
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsGetCopyStuck.json
@@ -0,0 +1,202 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "dmstestresource",
+ "jobName": "TJx-637505258985313014",
+ "api-version": "2020-03-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "bdcc8e76-b662-42a4-93fd-5554809712d7"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26614.01",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": true,
+ "status": "CompletedWithWarnings",
+ "startTime": "2021-03-05T12:56:12.6384315+05:30",
+ "details": {
+ "copyProgress": [
+ {
+ "storageAccountName": "databoxbvttestaccount",
+ "transferType": "ImportToAzure",
+ "dataAccountType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "bytesProcessed": 2000,
+ "totalBytesToProcess": 2000,
+ "filesProcessed": 100,
+ "totalFilesToProcess": 110,
+ "invalidFilesProcessed": 10,
+ "invalidFileBytesUploaded": 10,
+ "renamedContainerCount": 60,
+ "filesErroredOut": 0,
+ "directoriesErroredOut": 0,
+ "invalidDirectoriesProcessed": 0,
+ "isEnumerationInProgress": false
+ }
+ ],
+ "expectedDataSizeInTeraBytes": 0,
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-05T12:56:25.3911023+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-05T13:07:49.676421+05:30"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-05T02:21:06+05:30"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-05T02:21:13+05:30"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-05T02:23:10+05:30"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-05T02:23:17+05:30"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-05T13:34:20.1497635+05:30"
+ },
+ {
+ "stageName": "CompletedWithWarnings",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-05T14:08:38.250614+05:30"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Andrew Tribone",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "164 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "deliveryPackage": {
+ "trackingUrl": "https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=5fb6965e-0b80-4f38-b21a-32673fed2d84",
+ "carrierName": "Ups",
+ "trackingId": "5fb6965e-0b80-4f38-b21a-32673fed2d84"
+ },
+ "returnPackage": {
+ "trackingUrl": "https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=b3875a34-aad6-4dbe-83a9-3f39cb21b0e8",
+ "carrierName": "Ups",
+ "trackingId": "b3875a34-aad6-4dbe-83a9-3f39cb21b0e8"
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "dataAccountType": "StorageAccount"
+ }
+ }
+ ],
+ "jobDetailsType": "DataBox",
+ "preferences": {},
+ "copyLogDetails": [
+ {
+ "accountName": "databoxbvttestaccount",
+ "copyLogLink": "databoxcopylog/strtrinidad01_ZTS18520041_CopyLog_8425fb8f9c2b447288caa4dd6f5d34bb.xml",
+ "copyLogDetailsType": "DataBox"
+ }
+ ],
+ "reverseShipmentLabelSasKey": "http://wusbeta.blob.core.windows.net/devstoreaccount1/f6be6ea8-77da-419b-9f6b-3043c28b04e4/ReverseShipment/b3875a34-aad6-4dbe-83a9-3f39cb21b0e8.PDF?sv=2018-03-28&sr=b&sig=%2BJmOyIkG0ALrKQp%2F7NCOBYccQ80DRLvN%2FHtb6Z97heg%3D&st=2021-03-05T09%3A45%3A05Z&se=2021-03-05T10%3A15%3A05Z&sp=r",
+ "keyEncryptionKey": {
+ "kekType": "MicrosoftManaged"
+ },
+ "actions": [],
+ "lastMitigationActionOnJob": {
+ "actionDateTimeInUtc": "2021-03-05T08:28:18.8107951Z",
+ "isPerformedByCustomer": true,
+ "customerResolution": "MoveToCleanUpDevice"
+ }
+ },
+ "deliveryType": "NonScheduled",
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {
+ "defaultTagsKey": "defaultTagsValue"
+ },
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "TJx-637505258985313014",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/dmstestresource/providers/Microsoft.DataBox/jobs/TJx-637505258985313014",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsGetExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsGetExport.json
new file mode 100644
index 000000000000..f5a346dce6e3
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsGetExport.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg8091",
+ "jobName": "SdkJob6429",
+ "api-version": "2020-11-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "b3739c7c-02b6-46c2-a04c-da6f8bca279c"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": true,
+ "status": "Cancelled",
+ "startTime": "2020-08-07T10:49:08.7195419+05:30",
+ "details": {
+ "copyProgress": [
+ {
+ "storageAccountName": "aaaaaa2",
+ "transferType": "ExportFromAzure",
+ "dataAccountType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2",
+ "bytesProcessed": 0,
+ "totalBytesToProcess": 0,
+ "isEnumerationInProgress": false
+ }
+ ],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2020-08-07T10:49:12.7675644+05:30"
+ },
+ {
+ "stageName": "Cancelled",
+ "displayName": "Canceled",
+ "stageStatus": "Succeeded",
+ "stageTime": "2020-08-07T10:49:57.2572438+05:30"
+ }
+ ],
+ "contactDetails": {
+ "contactName": " ",
+ "emailList": [],
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "notificationPreference": []
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deliveryPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "returnPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "dataImportDetails": [],
+ "dataExportDetails": [
+ {
+ "transferConfiguration": {
+ "transferConfigurationType": "TransferAll",
+ "transferFilterDetails": {},
+ "transferAllDetails": {
+ "include": {
+ "dataAccountType": "StorageAccount",
+ "transferAllBlobs": true,
+ "transferAllFiles": true
+ }
+ }
+ },
+ "logCollectionLevel": "Error",
+ "accountDetails": {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2",
+ "dataAccountType": "StorageAccount"
+ }
+ }
+ ],
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": [],
+ "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=04aL%2FTe7998qQJlhmGI3C0Q%2FxsCVo1t0B4uQUIx7TmQ%3D&st=2020-08-07T05%3A10%3A05Z&se=2020-08-08T05%3A20%3A05Z&sp=r",
+ "chainOfCustodySasKey": "https://wusbeta.blob.core.windows.net/chainofcustody/9a6ee052-bcff-4b5e-a478-7dcbfb86e9fb.txt?sv=2018-03-28&sr=b&sig=JbBBXZKharvfg35ZfmrhowO1DuOpzcZCNUdeFzklvWs%3D&st=2020-08-07T05%3A10%3A05Z&se=2020-08-07T05%3A40%3A05Z&sp=r",
+ "keyEncryptionKey": {
+ "kekType": "MicrosoftManaged"
+ }
+ },
+ "cancellationReason": "CancelTest",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "SdkJob6429",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg8091/providers/Microsoft.DataBox/jobs/SdkJob6429",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsGetWaitingForAction.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsGetWaitingForAction.json
new file mode 100644
index 000000000000..3cbfdcbdacfd
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsGetWaitingForAction.json
@@ -0,0 +1,251 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "dmstestresource",
+ "jobName": "TJx-637505258985313014",
+ "api-version": "2021-05-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "bdcc8e76-b662-42a4-93fd-5554809712d7"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26614.01",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": false,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": true,
+ "status": "DataCopy",
+ "startTime": "2021-03-14T23:49:49.5177298+00:00",
+ "error": {
+ "code": "SsemUserCopyErrorWaitingForAction",
+ "message": "Job has an error in copy stage and is waiting for customer action. Please review the error and select one of the actions provided in the job's properties.details.actions",
+ "target": "CopyIntervention",
+ "details": [],
+ "additionalInfo": []
+ },
+ "details": {
+ "copyProgress": [
+ {
+ "storageAccountName": "databoxbvttestaccount",
+ "transferType": "ImportToAzure",
+ "dataAccountType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "bytesProcessed": 2000,
+ "totalBytesToProcess": 2000,
+ "filesProcessed": 100,
+ "totalFilesToProcess": 110,
+ "invalidFilesProcessed": 10,
+ "invalidFileBytesUploaded": 10,
+ "renamedContainerCount": 60,
+ "filesErroredOut": 0,
+ "directoriesErroredOut": 0,
+ "invalidDirectoriesProcessed": 0,
+ "isEnumerationInProgress": false
+ },
+ {
+ "transferType": "ImportToAzure",
+ "dataAccountType": "ManagedDisk",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ94",
+ "bytesProcessed": 2000,
+ "totalBytesToProcess": 2000,
+ "filesProcessed": 100,
+ "totalFilesToProcess": 110,
+ "invalidFilesProcessed": 10,
+ "invalidFileBytesUploaded": 10,
+ "renamedContainerCount": 60,
+ "filesErroredOut": 0,
+ "directoriesErroredOut": 0,
+ "invalidDirectoriesProcessed": 0,
+ "isEnumerationInProgress": false
+ }
+ ],
+ "expectedDataSizeInTeraBytes": 0,
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-14T23:49:53.81509+00:00"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-15T00:05:18.7350971+00:00"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-15T00:25:19+00:00"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-15T00:25:26+00:00"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-15T00:30:22+00:00"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-15T00:30:29+00:00"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "WaitingForCustomerActionForCleanUp",
+ "stageTime": "2021-03-15T00:45:26.2679756+00:00"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Andrew Tribone",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "164 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "deliveryPackage": {
+ "trackingUrl": "https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=6f00fcce-1eec-4ee7-99a8-0acc68efd1c7",
+ "carrierName": "Ups",
+ "trackingId": "6f00fcce-1eec-4ee7-99a8-0acc68efd1c7"
+ },
+ "returnPackage": {
+ "trackingUrl": "https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=79148759-b772-4a90-933b-da5ae5ac6ebb",
+ "carrierName": "Ups",
+ "trackingId": "79148759-b772-4a90-933b-da5ae5ac6ebb"
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "dataAccountType": "StorageAccount"
+ }
+ },
+ {
+ "accountDetails": {
+ "resourceGroupId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ94",
+ "stagingStorageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/manageddisktest/providers/Microsoft.Storage/storageAccounts/sojainmanageddisk",
+ "dataAccountType": "ManagedDisk"
+ }
+ }
+ ],
+ "jobDetailsType": "DataBox",
+ "preferences": {
+ "encryptionPreferences": {
+ "doubleEncryption": "Disabled"
+ }
+ },
+ "copyLogDetails": [
+ {
+ "accountName": "databoxbvttestaccount",
+ "copyLogLink": "databoxcopylog/strtrinidad01_ZTS18520041_CopyLog_8425fb8f9c2b447288caa4dd6f5d34bb.xml",
+ "copyLogDetailsType": "DataBox"
+ },
+ {
+ "accountName": "akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ94",
+ "copyLogLink": "databoxcopylog/strtrinidad01_ZTS18520041_CopyLog_8425fb8f9c2b447288caa4dd6f5d34bb.xml",
+ "copyLogDetailsType": "DataBox"
+ }
+ ],
+ "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/10dcd296-ed09-4037-ac19-2f16c4866452/ReverseShipment/79148759-b772-4a90-933b-da5ae5ac6ebb.PDF?sv=2018-03-28&sr=b&sig=bNtVcKRfYq1kiz0vxxSV%2FIZodCK8nUsCPu6MYK%2B6Erk%3D&st=2021-06-21T15%3A35%3A29Z&se=2021-06-21T16%3A05%3A29Z&sp=r",
+ "keyEncryptionKey": {
+ "kekType": "MicrosoftManaged"
+ },
+ "actions": [
+ "MoveToCleanUpDevice"
+ ],
+ "lastMitigationActionOnJob": {
+ "actionDateTimeInUtc": "2021-05-12T05:00:22.5047578Z",
+ "isPerformedByCustomer": true,
+ "customerResolution": "MoveToCleanUpDevice"
+ }
+ },
+ "deliveryType": "NonScheduled",
+ "isCancellableWithoutFee": false
+ },
+ "systemData": {
+ "createdBy": "5ff6737b-7c50-45d1-b2cb-63a6cd723138",
+ "createdByType": "Application",
+ "createdAt": "2021-03-14T23:49:48.349255+00:00",
+ "lastModifiedBy": "5ff6737b-7c50-45d1-b2cb-63a6cd723138",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-03-14T23:49:48.349255+00:00"
+ },
+ "location": "westus",
+ "tags": {
+ "defaultTagsKey": "defaultTagsValue"
+ },
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "TJx-637505258985313014",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/dmstestresource/providers/Microsoft.DataBox/jobs/TJx-637505258985313014",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsList.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsList.json
new file mode 100644
index 000000000000..d64a4a51fe40
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsList.json
@@ -0,0 +1,805 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "api-version": "2020-11-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "044127c5-663e-4a0f-9061-2fa0ca8058c4"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2018-08-30T14:44:39.77401+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "australiaeast",
+ "tags": {},
+ "sku": {
+ "name": "DataBoxDisk"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "mnaustest",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/ausresgrpmn/providers/Microsoft.DataBox/jobs/mnaustest",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2018-09-10T18:03:22.2578238+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "australiaeast",
+ "tags": {},
+ "sku": {
+ "name": "DataBoxDisk"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "portalcontractAUS",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/ausresgrpmn/providers/Microsoft.DataBox/jobs/portalcontractAUS",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2018-08-30T15:17:17.3753642+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "australiaeast",
+ "tags": {},
+ "sku": {
+ "name": "DataBoxDisk"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testBB-diskAU",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/testBB/providers/Microsoft.DataBox/jobs/testBB-diskAU",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-04T11:12:15.5972523+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "allXML",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/allXML",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-07T15:51:08.4479315+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "bothExportAllxml",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/bothExportAllxml",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-04T19:44:59.2410723+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "exportAll",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/exportAll",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-04T18:31:05.3036028+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "importRegressnTest",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/importRegressnTest",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-09T01:57:03.8985885+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testBotthXMLAndAll",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testBotthXMLAndAll",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-05T15:56:52.6983398+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testExportAllOrder",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testExportAllOrder",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-04T17:45:25.464989+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testPayload",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testPayload",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-04T10:43:04.8775864+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "xmlOnlyOrder",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/xmlOnlyOrder",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2018-11-27T15:17:49.0760408+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testbadresourcegroup",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ93/providers/Microsoft.DataBox/jobs/testbadresourcegroup",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2019-01-04T09:08:49.9928621+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "andipodtest4jan",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/andipodtest4jan",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-28T15:20:48.1058546+05:30",
+ "cancellationReason": "NoLongerNeeded null",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "dbtest1",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/dbtest1",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-14T08:51:18.2067875+05:30",
+ "cancellationReason": "IncorrectOrder null",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "degautam14-04-Clone",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautam14-04-Clone",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-27T18:08:30.6622356+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "degautamtestexport",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamtestexport",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-21T20:41:02.3837388+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "DegautamTestExportOrder",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/DegautamTestExportOrder",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-24T07:56:23.6839464+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "degautamtestorder",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamtestorder",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-14T08:48:21.2260174+05:30",
+ "cancellationReason": "IncorrectOrder null",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "degautamTestOrder14-04",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamTestOrder14-04",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-12T12:19:19.8627264+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "export",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/export",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-05T19:50:20.9692355+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "exportTestResource",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/exportTestResource",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-10T15:09:45.7080012+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "sanakTestImportNew",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportNew",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-10T15:13:02.5724966+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "sanakTestImportOld",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-20T13:39:28.1940929+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "sanakTestImportOld1",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld1",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-10T15:14:59.6879599+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "sanakTestImportOld2",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld2",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-07-21T23:43:34.513148+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "saranyagorder",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/saranyagorder",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2019-07-04T14:01:50.9232807+05:30",
+ "cancellationReason": "IncorrectOrder null",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testdeepak04-07",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdeepak04-07",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2019-02-11T12:33:16.6231232+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBoxHeavy"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testdurga-heavy",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurga-heavy",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.DataBox/jobs?api-version=2020-11-01&%24skiptoken=fVJdb5swFP0v0bq3NMaFFipVU5oATRbSxBjz8WYDIQbzoUBISNX%2fPrfVumnaJvnB8rn3nON77suoSs%2fdildFO7p%2fGfmmiz13dD%2fad13T3k8mJa1olpZp1V3Ty%2fGQXsd1OWmPrI0PvOl4XbWTHb3VgQ53Y323uxurFGpjQ4vvxnFqJFRTFajC3aQ51D1P0kM7cXh8qNt6113PaUcf6%2fMkr1n7jTZ83EtcUj5AAMEYqGOgfP3SFrzBdZFWD5u5oTL%2flCUlGWIoepYD7rjqacEfBSvXfWSLY3QBPAlQucImXOT6FWTzba1voXFMJJr4FqC%2bcSS2cYh89QPNFvPznEFNIpoSBqiRd4%2fBTrBcXc%2f4NFvMpjr51FSHVT7VV0ok4motaz9ZZtNsYyEttj3JS2yLM9uTdT9fpI83pmxjaiJ9QtswWAL6obaKgkL2OK4pBS3KPG%2fAAD2uTaXzA7RBStPhqjg5lvBcbDnEbs9%2b0OSJVQwEE4qAd8YFslJPM91SCdNiWYYiaWm57p6DhjuiPmFbcamNnlApuAP3JfZCLfYXg1vV%2bgr8y9Efnl12k%2fzyCp9nVs5IdBvmaz8l0kuFIt9c3oQkVpjY327LKGc%2beteitnnxyzNnAaojM1QTJbt45Tl3lOUhsvbfmRDY8Q1KQDhEBFkrfOpxSdTEWvYJ6ESKf8vCtoYIEoBtI%2f%2fI6y0D72nZMN8aUtkpp%2f%2bXivffzE%2f9f7dBTmPds0puQUX2cmd6JlBPITlusqubRJ7R6%2bsP"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsListByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsListByResourceGroup.json
new file mode 100644
index 000000000000..61e890cd477b
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsListByResourceGroup.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "api-version": "2020-11-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "c1514209-a439-4bd1-b040-76d7539d2509"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": true,
+ "status": "DeviceOrdered",
+ "startTime": "2020-07-03T11:55:54.463792+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "fac84c35-5490-4b11-81b9-770053ccbe3b",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "name": "SdkJob5928",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob5928",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": true,
+ "status": "DeviceOrdered",
+ "startTime": "2020-08-07T10:50:36.3341513+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "SdkJob952",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsListCredentials.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsListCredentials.json
new file mode 100644
index 000000000000..c5134769275f
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsListCredentials.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "bvttoolrg6",
+ "jobName": "TJ-636646322037905056",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "cda11c92-529b-4b75-b56d-ff1a69ffeeba"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "jobName": "TJ-636646322037905056",
+ "jobSecrets": {
+ "podSecrets": [
+ {
+ "deviceSerialNumber": "testimolapod-3ecc44ce",
+ "devicePassword": "",
+ "networkConfigurations": [
+ {
+ "name": "DataPort3",
+ "macAddress": "D05099C1F439"
+ },
+ {
+ "name": "DataPort1",
+ "macAddress": "EC0D9A21A6C0"
+ },
+ {
+ "name": "DataPort2",
+ "macAddress": "EC0D9A21A6C1"
+ }
+ ],
+ "encodedValidationCertPubKey": "5CYoAoVKEBa4WgPVis8keX94w30pon4jGMADSqcdE/NlHLChj6Cmhbl4q9QOFKSB/US4AwhS7zY1QS3YMDrkAPfOy7Hi6kWMBpJWZidTq3oXX8FAQjg+IqQESti/2jvAlcDpO2453rgd7Yb6XZ43P8MMTpTjcarI0ImCf//eITQWnFa3AzfIJ9C+hxCCaA7HTYhwQEPUBMwyQJsI6v6WuQysROtlBgx1YtbWFhDVbcqYRSLIbaj+RdzlvxvDJSo70kv+8em5upuDTpVE7xP+WePLlARdSPNwwfRzHnvCUqC2UqXHpRUhQlYnMqAJEcjjroRnyIGumPmmQ8O155X8aw==",
+ "accountCredentialDetails": [
+ {
+ "accountName": "databoxbvttestaccount",
+ "dataAccountType": "StorageAccount",
+ "accountConnectionString": "",
+ "shareCredentialDetails": [
+ {
+ "shareName": "databoxbvttestaccount_PageBlob",
+ "shareType": "PageBlob",
+ "userName": "databoxbvttestac_903",
+ "password": "",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ },
+ {
+ "shareName": "databoxbvttestaccount_BlockBlob",
+ "shareType": "BlockBlob",
+ "userName": "databoxbvttestac_903",
+ "password": "",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ },
+ {
+ "shareName": "databoxbvttestaccount_AzFile",
+ "shareType": "AzureFile",
+ "userName": "databoxbvttestac_903",
+ "password": "",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "jobSecretsType": "DataBox",
+ "dcAccessSecurityCode": {}
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsPatch.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsPatch.json
new file mode 100644
index 000000000000..92febae7150b
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsPatch.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-11-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "ff3829ca-bcb0-4737-b6e0-52af57f34bb7"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "584"
+ ],
+ "jobResourceUpdateParameter": {
+ "properties": {
+ "details": {
+ "contactDetails": {
+ "contactName": "Update Job",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2018-04-13T16:28:38.9999793+05:30"
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob952",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsPatchCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsPatchCmk.json
new file mode 100644
index 000000000000..1992899e8242
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsPatchCmk.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg7937",
+ "jobName": "SdkJob1735",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "fcab0fa9-7af8-47e0-b570-d703a48ee66b"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "358"
+ ],
+ "jobResourceUpdateParameter": {
+ "properties": {
+ "details": {
+ "keyEncryptionKey": {
+ "kekType": "CustomerManaged",
+ "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/",
+ "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2018-04-13T16:28:38.9999793+05:30"
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob1735",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7937/providers/Microsoft.DataBox/jobs/SdkJob1735",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsPatchSystemAssignedToUserAssigned.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsPatchSystemAssignedToUserAssigned.json
new file mode 100644
index 000000000000..c2d169ad6a82
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/JobsPatchSystemAssignedToUserAssigned.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg9765",
+ "jobName": "SdkJob2965",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "25b11bec-6551-47a4-9ee2-575245cbfd45"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29220.03",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.19041.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "923"
+ ],
+ "jobResourceUpdateParameter": {
+ "properties": {
+ "details": {
+ "keyEncryptionKey": {
+ "kekType": "CustomerManaged",
+ "identityProperties": {
+ "type": "UserAssigned",
+ "userAssigned": {
+ "resourceId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sdkIdentity"
+ }
+ },
+ "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/",
+ "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault"
+ }
+ }
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sdkIdentity": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2018-04-13T16:28:38.9999793+05:30"
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob2965",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg9765/providers/Microsoft.DataBox/jobs/SdkJob2965",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/OperationsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/OperationsGet.json
new file mode 100644
index 000000000000..f96f0598e269
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/OperationsGet.json
@@ -0,0 +1,212 @@
+{
+ "parameters": {
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "b9453354-c675-40a8-99c0-8039818c85fd"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DataBox/locations/operationResults/read",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Operation Results",
+ "operation": "List Operation Results",
+ "description": "List or get the Operation Results"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/cancel/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "Cancel",
+ "description": "Cancels an order in progress."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/bookShipmentPickUp/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "Book Shipment Pick Up",
+ "description": "Allows to book a pick up for return shipments."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/read",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "List Orders",
+ "description": "List or get the Orders"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/delete",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "Delete Orders",
+ "description": "Delete the Orders"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/write",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "Create or Update Orders",
+ "description": "Create or update the Orders"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/listCredentials/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "List Credentials",
+ "description": "Lists the unencrypted credentials related to the order."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/locations/validateInputs/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Validate Inputs",
+ "operation": "Validate Inputs",
+ "description": "This method does all type of validations."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/locations/validateAddress/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Validate Address",
+ "operation": "Validate Address",
+ "description": "Validates the shipping address and provides alternate addresses if any."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/subscriptions/resourceGroups/moveResources/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Move Resource",
+ "operation": "Move Resource",
+ "description": "This method performs the resource move."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/subscriptions/resourceGroups/validateMoveResources/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Move Resource",
+ "operation": "Validate Move Resource Request",
+ "description": "This method validates whether resource move is allowed or not."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/locations/availableSkus/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Available Skus",
+ "operation": "Availabe Skus",
+ "description": "This method returns the list of available skus."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/locations/regionConfiguration/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Region Configuration",
+ "operation": "Region Configuration",
+ "description": "This method returns the configurations for the region."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/locations/availableSkus/read",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Available Skus",
+ "operation": "List Available Skus",
+ "description": "List or get the Available Skus"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/register/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Register Microsoft.Databox",
+ "operation": "Register Microsoft.Databox",
+ "description": "Register Provider Microsoft.Databox"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/unregister/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Register Microsoft.Databox",
+ "operation": "Un-Register Microsoft.Databox",
+ "description": "Un-Register Provider Microsoft.Databox"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/operations/read",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Operations",
+ "operation": "List Operations",
+ "description": "List or get the Operations"
+ },
+ "properties": {},
+ "origin": "user"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/RegionConfiguration.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/RegionConfiguration.json
new file mode 100644
index 000000000000..ea1758e64f6b
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/RegionConfiguration.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "location": "westus",
+ "api-version": "2020-11-01",
+ "regionConfigurationRequest": {
+ "scheduleAvailabilityRequest": {
+ "storageLocation": "westus",
+ "skuName": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "scheduleAvailabilityResponse": {
+ "availableDates": [
+ "2019-07-11T00:00:00+00:00",
+ "2019-07-12T00:00:00+00:00",
+ "2019-07-13T00:00:00+00:00",
+ "2019-07-14T00:00:00+00:00",
+ "2019-07-15T00:00:00+00:00",
+ "2019-07-16T00:00:00+00:00",
+ "2019-07-17T00:00:00+00:00",
+ "2019-07-18T00:00:00+00:00",
+ "2019-07-19T00:00:00+00:00",
+ "2019-07-20T00:00:00+00:00",
+ "2019-07-21T00:00:00+00:00",
+ "2019-07-22T00:00:00+00:00",
+ "2019-07-23T00:00:00+00:00",
+ "2019-07-24T00:00:00+00:00",
+ "2019-07-25T00:00:00+00:00",
+ "2019-07-26T00:00:00+00:00",
+ "2019-07-27T00:00:00+00:00",
+ "2019-07-28T00:00:00+00:00",
+ "2019-07-29T00:00:00+00:00",
+ "2019-07-30T00:00:00+00:00",
+ "2019-07-31T00:00:00+00:00"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/RegionConfigurationByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/RegionConfigurationByResourceGroup.json
new file mode 100644
index 000000000000..653dbcb9e19e
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/RegionConfigurationByResourceGroup.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg4981",
+ "location": "westus",
+ "api-version": "2020-11-01",
+ "regionConfigurationRequest": {
+ "scheduleAvailabilityRequest": {
+ "storageLocation": "westus",
+ "skuName": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "scheduleAvailabilityResponse": {
+ "availableDates": [
+ "2019-07-11T00:00:00+00:00",
+ "2019-07-12T00:00:00+00:00",
+ "2019-07-13T00:00:00+00:00",
+ "2019-07-14T00:00:00+00:00",
+ "2019-07-15T00:00:00+00:00",
+ "2019-07-16T00:00:00+00:00",
+ "2019-07-17T00:00:00+00:00",
+ "2019-07-18T00:00:00+00:00",
+ "2019-07-19T00:00:00+00:00",
+ "2019-07-20T00:00:00+00:00",
+ "2019-07-21T00:00:00+00:00",
+ "2019-07-22T00:00:00+00:00",
+ "2019-07-23T00:00:00+00:00",
+ "2019-07-24T00:00:00+00:00",
+ "2019-07-25T00:00:00+00:00",
+ "2019-07-26T00:00:00+00:00",
+ "2019-07-27T00:00:00+00:00",
+ "2019-07-28T00:00:00+00:00",
+ "2019-07-29T00:00:00+00:00",
+ "2019-07-30T00:00:00+00:00",
+ "2019-07-31T00:00:00+00:00"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/ValidateAddressPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/ValidateAddressPost.json
new file mode 100644
index 000000000000..40a3f3c5037d
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/ValidateAddressPost.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "location": "westus",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "cfda3c52-b129-4568-aba7-e743edf747c2"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "351"
+ ],
+ "validateAddress": {
+ "validationType": "ValidateAddress",
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deviceType": "DataBox"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "validationStatus": "Valid",
+ "alternateAddresses": [
+ {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "streetAddress3": "",
+ "city": "SAN FRANCISCO",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "addressType": "None"
+ }
+ ],
+ "validationType": "ValidateAddress"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/ValidateInputs.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/ValidateInputs.json
new file mode 100644
index 000000000000..cd8a27819782
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/ValidateInputs.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "location": "westus",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "129a0589-5017-4f35-a66c-8da38e04aae1"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1675"
+ ],
+ "validationRequest": {
+ "validationCategory": "JobCreationValidation",
+ "individualRequestDetails": [
+ {
+ "validationType": "ValidateDataTransferDetails",
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"
+ }
+ }
+ ],
+ "deviceType": "DataBox",
+ "transferType": "ImportToAzure"
+ },
+ {
+ "validationType": "ValidateAddress",
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deviceType": "DataBox",
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ {
+ "validationType": "ValidateSubscriptionIsAllowedToCreateJob"
+ },
+ {
+ "validationType": "ValidateSkuAvailability",
+ "deviceType": "DataBox",
+ "transferType": "ImportToAzure",
+ "country": "US",
+ "location": "westus"
+ },
+ {
+ "validationType": "ValidateCreateOrderLimit",
+ "deviceType": "DataBox"
+ },
+ {
+ "validationType": "ValidatePreferences",
+ "preference": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "deviceType": "DataBox"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "status": "AllValidToProceed",
+ "individualResponseDetails": [
+ {
+ "status": "Valid",
+ "validationType": "ValidateDataTransferDetails",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "validationStatus": "Valid",
+ "alternateAddresses": [
+ {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "streetAddress3": "",
+ "city": "SAN FRANCISCO",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "addressType": "None"
+ }
+ ],
+ "validationType": "ValidateAddress",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "status": "Valid",
+ "validationType": "ValidateSubscriptionIsAllowedToCreateJob",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "status": "Valid",
+ "validationType": "ValidateSkuAvailability",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "status": "Valid",
+ "validationType": "ValidateCreateOrderLimit",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "status": "Valid",
+ "validationType": "ValidatePreferences",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/ValidateInputsByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/ValidateInputsByResourceGroup.json
new file mode 100644
index 000000000000..c70a59c27ffe
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/examples/ValidateInputsByResourceGroup.json
@@ -0,0 +1,167 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg6861",
+ "location": "westus",
+ "api-version": "2020-11-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.cli.md b/specification/databox/resource-manager/readme.cli.md
index 685a3b701cc9..c239dabad5f4 100644
--- a/specification/databox/resource-manager/readme.cli.md
+++ b/specification/databox/resource-manager/readme.cli.md
@@ -31,4 +31,5 @@ cli:
- name: AvailableSkusPost
- name: JobsDelete
- name: JobMitigate
+ - name: JobsGetWaitingForAction
```
\ No newline at end of file
diff --git a/specification/databox/resource-manager/readme.go.md b/specification/databox/resource-manager/readme.go.md
index 9213be8d0375..173899588dcb 100644
--- a/specification/databox/resource-manager/readme.go.md
+++ b/specification/databox/resource-manager/readme.go.md
@@ -18,15 +18,7 @@ batch:
- tag: package-2020-04
- tag: package-2020-11
- tag: package-2021-03
-```
-
-### Tag: package-2021-03 and go
-
-These settings apply only when `--tag=package-2021-03 --go` is specified on the command line.
-Please also specify `--go-sdk-folder=`.
-
-``` yaml $(tag) == 'package-2021-03' && $(go)
-output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-03-01/$(namespace)
+ - tag: package-2021-05
```
### Tag: package-2018-01 and go
@@ -63,4 +55,22 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-03' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-03-01/$(namespace)
+```
+
+### Tag: package-2021-05 and go
+
+These settings apply only when `--tag=package-2021-05 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-05' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-05-01/$(namespace)
```
\ No newline at end of file
diff --git a/specification/databox/resource-manager/readme.java.md b/specification/databox/resource-manager/readme.java.md
index e6f705978a1f..d6d4d8d7f438 100644
--- a/specification/databox/resource-manager/readme.java.md
+++ b/specification/databox/resource-manager/readme.java.md
@@ -22,6 +22,7 @@ batch:
- tag: package-2020-04
- tag: package-2020-11
- tag: package-2021-03
+ - tag: package-2021-05
```
### Tag: package-2018-01 and java
@@ -87,4 +88,17 @@ java:
output-folder: $(azure-libraries-for-java-folder)/sdk/databox/mgmt-v2021_03_01
regenerate-manager: true
generate-interface: true
+```
+
+### Tag: package-2021-05 and java
+
+These settings apply only when `--tag=package-2021-05-java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2021-05' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databox.v2021_05-01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/databox/mgmt-v2021_05_01
+regenerate-manager: true
+generate-interface: true
```
\ No newline at end of file
diff --git a/specification/databox/resource-manager/readme.md b/specification/databox/resource-manager/readme.md
index cbc5359579e8..0c0afa8e836f 100644
--- a/specification/databox/resource-manager/readme.md
+++ b/specification/databox/resource-manager/readme.md
@@ -26,7 +26,16 @@ These are the global settings for the DataBox API.
``` yaml
openapi-type: arm
-tag: package-2021-03
+tag: package-2021-05
+```
+
+### Tag: package-2021-05
+
+These settings apply only when `--tag=package-2021-05` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-05'
+input-file:
+- Microsoft.DataBox/stable/2021-05-01/databox.json
```
### Tag: package-2021-03
@@ -86,9 +95,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
- after_scripts:
- - python ./scripts/multiapi_init_gen.py azure-mgmt-databox
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
diff --git a/specification/databox/resource-manager/readme.python.md b/specification/databox/resource-manager/readme.python.md
index a4a1d6053bd0..c85c820f2ecd 100644
--- a/specification/databox/resource-manager/readme.python.md
+++ b/specification/databox/resource-manager/readme.python.md
@@ -4,26 +4,12 @@ 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:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.databox
- package-name: azure-mgmt-databox
- package-version: 0.1.0
- title: DataBoxManagementClient
- description: The DataBox Client.
- clear-output-folder: true
- no-namespace-folders: true
-```
-
``` yaml $(python) && $(track2)
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
namespace: azure.mgmt.databox
package-name: azure-mgmt-databox
-package-version: 0.1.0
+package-version: 1.0.0b1
title: DataBoxManagementClient
description: The DataBox Client.
clear-output-folder: true
@@ -36,15 +22,7 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi) && !$(track2)
batch:
- - tag: package-2021-03
- - tag: package-2020-11
- - tag: package-2020-04
- - tag: package-2019-09
- - tag: package-2018-01
-```
-
-```yaml $(python) && $(multiapi) && $(track2)
-batch:
+ - tag: package-2021-05
- tag: package-2021-03
- tag: package-2020-11
- tag: package-2020-04
@@ -58,17 +36,21 @@ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/datab
clear-output-folder: false
perform-load: false
```
+### Tag: package-2021-05 and python
+
+These settings apply only when `--tag=package-2021-05 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-05' && $(python) && $(track2)
+namespace: azure.mgmt.databox.v2021_05_01
+output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2021_05_01
+```
### Tag: package-2021-03 and python
These settings apply only when `--tag=package-2021-03 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2021-03' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.databox.v2021_03_01
- output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2021_03_01
-```
``` yaml $(tag) == 'package-2021-03' && $(python) && $(track2)
namespace: azure.mgmt.databox.v2021_03_01
output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2021_03_01
@@ -79,11 +61,6 @@ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/datab
These settings apply only when `--tag=package-2020-11 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2020-11' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.databox.v2020_11_01
- output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2020_11_01
-```
``` yaml $(tag) == 'package-2020-11' && $(python) && $(track2)
namespace: azure.mgmt.databox.v2020_11_01
output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2020_11_01
@@ -94,11 +71,6 @@ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/datab
These settings apply only when `--tag=package-2020-04 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2020-04' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.databox.v2020_04_01
- output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2020_04_01
-```
``` yaml $(tag) == 'package-2020-04' && $(python) && $(track2)
namespace: azure.mgmt.databox.v2020_04_01
output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2020_04_01
@@ -109,11 +81,6 @@ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/datab
These settings apply only when `--tag=package-2019-09 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2019-09' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.databox.v2019_09_01
- output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2019_09_01
-```
``` yaml $(tag) == 'package-2019-09' && $(python) && $(track2)
namespace: azure.mgmt.databox.v2019_09_01
output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2019_09_01
@@ -124,11 +91,6 @@ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/datab
These settings apply only when `--tag=package-2018-01 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2018-01' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.databox.v2018_01_01
- output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2018_01_01
-```
``` yaml $(tag) == 'package-2018-01' && $(python) && $(track2)
namespace: azure.mgmt.databox.v2018_01_01
output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2018_01_01
diff --git a/specification/databox/resource-manager/readme.ruby.md b/specification/databox/resource-manager/readme.ruby.md
index e151617df9d9..819c54c54c7f 100644
--- a/specification/databox/resource-manager/readme.ruby.md
+++ b/specification/databox/resource-manager/readme.ruby.md
@@ -17,16 +17,7 @@ batch:
- tag: package-2020-04
- tag: package-2020-11
- tag: package-2021-03
-```
-
-### Tag: package-2021-03 and ruby
-
-These settings apply only when `--tag=package-2021-03 --ruby` is specified on the command line.
-Please also specify `--ruby-sdks-folder=`.
-
-``` yaml $(tag) == 'package-2018-01' && $(ruby)
-namespace: "Azure::Compute::Mgmt::V2021_03_01"
-output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databox/lib
+ - tag: package-2021-05
```
### Tag: package-2018-01 and ruby
@@ -67,4 +58,24 @@ Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-03' && $(ruby)
+namespace: "Azure::Compute::Mgmt::V2021_03_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databox/lib
+```
+
+### Tag: package-2021-05 and ruby
+
+These settings apply only when `--tag=package-2021-05 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-05' && $(ruby)
+namespace: "Azure::Compute::Mgmt::V2021_05_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databox/lib
```
\ No newline at end of file
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/databoxedge.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/databoxedge.json
new file mode 100644
index 000000000000..8778950a7d8c
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/databoxedge.json
@@ -0,0 +1,9240 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-02-01",
+ "title": "DataBoxEdgeManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.DataBoxEdge/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "List all the supported operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of supported operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OperationsGet": {
+ "$ref": "./examples/OperationsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/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": "nextLink"
+ },
+ "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-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": "Success"
+ },
+ "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}/diagnosticProactiveLogCollectionSettings/default": {
+ "get": {
+ "tags": [
+ "DiagnosticSettings"
+ ],
+ "description": "Gets the proactive log collection settings of the specified Data Box Edge/Data Box Gateway device.",
+ "operationId": "DiagnosticSettings_GetDiagnosticProactiveLogCollectionSettings",
+ "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 diagnostic proactive log collection settings.",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticProactiveLogCollectionSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetDiagnosticProactiveLogCollectionSettings": {
+ "$ref": "./examples/GetDiagnosticProactiveLogCollectionSettings.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DiagnosticSettings"
+ ],
+ "description": "Updates the proactive log collection settings on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "DiagnosticSettings_UpdateDiagnosticProactiveLogCollectionSettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "proactiveLogCollectionSettings",
+ "in": "body",
+ "description": "The proactive log collection settings.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiagnosticProactiveLogCollectionSettings"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the proactive log collection settings."
+ },
+ "202": {
+ "description": "Accepted the request to update the proactive log collection settings."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UpdateDiagnosticProactiveLogCollectionSettings": {
+ "$ref": "./examples/UpdateDiagnosticProactiveLogCollectionSettings.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/diagnosticRemoteSupportSettings/default": {
+ "get": {
+ "tags": [
+ "DiagnosticSettings"
+ ],
+ "description": "Gets the diagnostic remote support settings of the specified Data Box Edge/Data Box Gateway device.",
+ "operationId": "DiagnosticSettings_GetDiagnosticRemoteSupportSettings",
+ "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 diagnostic remote support settings.",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticRemoteSupportSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetDiagnosticRemoteSupportSettings": {
+ "$ref": "./examples/GetDiagnosticRemoteSupportSettings.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DiagnosticSettings"
+ ],
+ "description": "Updates the diagnostic remote support settings on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "DiagnosticSettings_UpdateDiagnosticRemoteSupportSettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "diagnosticRemoteSupportSettings",
+ "in": "body",
+ "description": "The diagnostic remote support settings.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiagnosticRemoteSupportSettings"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to update the diagnostic remote support settings."
+ },
+ "200": {
+ "description": "Successfully updated the diagnostic remote support settings."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UpdateDiagnosticRemoteSupportSettings": {
+ "$ref": "./examples/UpdateDiagnosticRemoteSupportSettings.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}/generateCertificate": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Generates certificate for activation key.",
+ "operationId": "Devices_GenerateCertificate",
+ "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 generated self signed certificate.",
+ "schema": {
+ "$ref": "#/definitions/GenerateCertResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GenerateCertificate": {
+ "$ref": "./examples/GenerateCertificate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/getExtendedInformation": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets additional information for the specified Azure Stack 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": "nextLink"
+ },
+ "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}/orders/default/listDCAccessCode": {
+ "post": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Gets the DCAccess Code",
+ "operationId": "Orders_ListDCAccessCode",
+ "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": "DC Access code for the device",
+ "schema": {
+ "$ref": "#/definitions/DCAccessCode"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetDCAccessCode": {
+ "$ref": "./examples/GetDCAccessCode.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}/roles/{roleName}/addons": {
+ "get": {
+ "tags": [
+ "Addons"
+ ],
+ "description": "Lists all the addons configured in the role.",
+ "operationId": "Addons_ListByRole",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of all the addons configured in the role.",
+ "schema": {
+ "$ref": "#/definitions/AddonList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "RoleListAddOns": {
+ "$ref": "./examples/RoleListAddOns.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/addons/{addonName}": {
+ "get": {
+ "tags": [
+ "Addons"
+ ],
+ "description": "Gets a specific addon by name.",
+ "operationId": "Addons_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addonName",
+ "in": "path",
+ "description": "The addon name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The addon with the specified name in the role.",
+ "schema": {
+ "$ref": "#/definitions/Addon"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetAddOns": {
+ "$ref": "./examples/GetAddons.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Addons"
+ ],
+ "description": "Create or update a addon.",
+ "operationId": "Addons_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addonName",
+ "in": "path",
+ "description": "The addon name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addon",
+ "in": "body",
+ "description": "The addon properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Addon"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the addon.",
+ "schema": {
+ "$ref": "#/definitions/Addon"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the addon."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "PutAddOns": {
+ "$ref": "./examples/PutAddons.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Addons"
+ ],
+ "description": "Deletes the addon on the device.",
+ "operationId": "Addons_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addonName",
+ "in": "path",
+ "description": "The addon name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the addon."
+ },
+ "202": {
+ "description": "Accepted the request to delete the addon."
+ },
+ "204": {
+ "description": "The addon 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": {
+ "DeleteAddOns": {
+ "$ref": "./examples/DeleteAddons.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/monitoringConfig": {
+ "get": {
+ "tags": [
+ "MonitoringConfig"
+ ],
+ "summary": "Lists metric configurations in a role.",
+ "operationId": "MonitoringConfig_List",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The monitoring config details.",
+ "schema": {
+ "$ref": "#/definitions/MonitoringMetricConfigurationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListMonitoringConfig": {
+ "$ref": "./examples/ListMonitoringConfig.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/monitoringConfig/default": {
+ "get": {
+ "tags": [
+ "MonitoringConfig"
+ ],
+ "summary": "Gets a metric configuration of a role.",
+ "operationId": "MonitoringConfig_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The monitoring config details.",
+ "schema": {
+ "$ref": "#/definitions/MonitoringMetricConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetMonitoringConfig": {
+ "$ref": "./examples/GetMonitoringConfig.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "MonitoringConfig"
+ ],
+ "summary": "Creates a new metric configuration or updates an existing one for a role.",
+ "operationId": "MonitoringConfig_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "monitoringMetricConfiguration",
+ "in": "body",
+ "description": "The metric configuration.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MonitoringMetricConfiguration"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the metrics configuration.",
+ "schema": {
+ "$ref": "#/definitions/MonitoringMetricConfiguration"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the metrics configuration."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "PutMonitoringConfig": {
+ "$ref": "./examples/PutMonitoringConfig.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MonitoringConfig"
+ ],
+ "summary": "deletes a new metric configuration for a role.",
+ "operationId": "MonitoringConfig_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "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 metrics configuration."
+ },
+ "202": {
+ "description": "Accepted the request to delete the metrics configuration."
+ },
+ "204": {
+ "description": "The metrics configuration 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": {
+ "DeleteMonitoringConfig": {
+ "$ref": "./examples/DeleteMonitoringConfig.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 StorageAccounts 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}/triggerSupportPackage": {
+ "post": {
+ "tags": [
+ "SupportPackages"
+ ],
+ "summary": "Triggers support package on the device",
+ "operationId": "SupportPackages_TriggerSupportPackage",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "triggerSupportPackageRequest",
+ "in": "body",
+ "description": "The trigger support package request object",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TriggerSupportPackageRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully triggered support package on the device."
+ },
+ "202": {
+ "description": "Accepted the request to trigger support package 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": {
+ "TriggerSupportPackage": {
+ "$ref": "./examples/TriggerSupportPackage.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateExtendedInformation": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets additional information for the specified Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_UpdateExtendedInformation",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The patch object.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfoPatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Modify additional information.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfo"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetUpdateExtendedInfo": {
+ "$ref": "./examples/GetUpdateExtendedInfo.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='Type 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"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Addon": {
+ "description": "Role Addon",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "description": "Addon type.",
+ "enum": [
+ "IotEdge",
+ "ArcForKubernetes"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AddonType",
+ "modelAsString": true
+ }
+ },
+ "systemData": {
+ "description": "Addon type",
+ "$ref": "#/definitions/SystemData"
+ }
+ },
+ "discriminator": "kind"
+ },
+ "AddonList": {
+ "description": "Collection of all the Role addon on the Azure Stack Edge device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Value.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Addon"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Address": {
+ "description": "The shipping address of the customer.",
+ "required": [
+ "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": {
+ "systemData": {
+ "description": "Alert generated in the resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "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.",
+ "uniqueItems": false,
+ "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
+ }
+ }
+ },
+ "ArcAddon": {
+ "description": "Arc Addon.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Addon"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ArcAddonProperties",
+ "description": "Properties specific to Arc addon.",
+ "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": "ArcForKubernetes"
+ },
+ "ArcAddonProperties": {
+ "description": "Arc addon properties.",
+ "required": [
+ "subscriptionId",
+ "resourceGroupName",
+ "resourceName",
+ "resourceLocation"
+ ],
+ "type": "object",
+ "properties": {
+ "subscriptionId": {
+ "description": "Arc resource subscription Id",
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "description": "Arc resource group name",
+ "type": "string"
+ },
+ "resourceName": {
+ "description": "Arc resource Name",
+ "type": "string"
+ },
+ "resourceLocation": {
+ "description": "Arc resource location",
+ "type": "string"
+ },
+ "version": {
+ "description": "Arc resource version",
+ "type": "string",
+ "readOnly": true
+ },
+ "hostPlatform": {
+ "description": "Host OS supported by the Arc addon.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PlatformType",
+ "modelAsString": true
+ }
+ },
+ "hostPlatformType": {
+ "description": "Platform where the runtime is hosted.",
+ "enum": [
+ "KubernetesCluster",
+ "LinuxVM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "HostPlatformType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Addon Provisioning State",
+ "enum": [
+ "Invalid",
+ "Creating",
+ "Created",
+ "Updating",
+ "Reconfiguring",
+ "Failed",
+ "Deleting"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AddonState",
+ "modelAsString": 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.",
+ "x-ms-secret": true,
+ "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": {
+ "systemData": {
+ "description": "Bandwidth object related to ASE resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "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.",
+ "uniqueItems": false,
+ "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.",
+ "uniqueItems": false,
+ "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
+ }
+ }
+ }
+ },
+ "CloudEdgeManagementRole": {
+ "description": "CloudEdgeManagementRole role, Currently It's in Private Preview",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Role"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CloudEdgeManagementRoleProperties",
+ "description": "Properties specific to CloudEdgeManagementRole 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": "CloudEdgeManagement"
+ },
+ "CloudEdgeManagementRoleProperties": {
+ "description": "CloudEdgeManagement Role properties.",
+ "required": [
+ "roleStatus"
+ ],
+ "type": "object",
+ "properties": {
+ "localManagementStatus": {
+ "description": "Local Edge Management Status",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ },
+ "edgeProfile": {
+ "$ref": "#/definitions/EdgeProfile",
+ "description": "Edge Profile of the resource",
+ "readOnly": true
+ },
+ "roleStatus": {
+ "description": "Role status.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CloudError": {
+ "description": "An error response from the service.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "The error details."
+ }
+ },
+ "x-ms-external": true
+ },
+ "CloudErrorBody": {
+ "description": "An error response from the service.",
+ "type": "object",
+ "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
+ },
+ "CniConfig": {
+ "description": "Cni configuration",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Cni type",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "Cni version",
+ "type": "string",
+ "readOnly": true
+ },
+ "podSubnet": {
+ "description": "Pod Subnet",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceSubnet": {
+ "description": "Service subnet",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ComputeResource": {
+ "description": "Compute infrastructure Resource",
+ "required": [
+ "processorCount",
+ "memoryInGB"
+ ],
+ "type": "object",
+ "properties": {
+ "processorCount": {
+ "format": "int32",
+ "description": "Processor count",
+ "type": "integer"
+ },
+ "memoryInGB": {
+ "format": "int64",
+ "description": "Memory in GB",
+ "type": "integer"
+ }
+ }
+ },
+ "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.",
+ "uniqueItems": false,
+ "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": {
+ "systemData": {
+ "description": "Container in DataBoxEdge Resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "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.",
+ "uniqueItems": false,
+ "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"
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "Msi identity of the resource"
+ },
+ "kind": {
+ "description": "The kind of the device.",
+ "enum": [
+ "AzureDataBoxGateway",
+ "AzureStackEdge",
+ "AzureStackHub",
+ "AzureModularDataCentre"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataBoxEdgeDeviceKind",
+ "modelAsString": true
+ }
+ },
+ "systemData": {
+ "description": "DataBoxEdge Resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "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
+ }
+ }
+ },
+ "DataBoxEdgeDeviceExtendedInfoPatch": {
+ "description": "The Data Box Edge/Gateway device extended info patch.",
+ "type": "object",
+ "properties": {
+ "clientSecretStoreId": {
+ "description": "The Key Vault ARM Id for client secrets",
+ "type": "string"
+ },
+ "clientSecretStoreUrl": {
+ "description": "The url to access the Client Key Vault",
+ "type": "string"
+ },
+ "channelIntegrityKeyName": {
+ "description": "The name for Channel Integrity Key stored in the Client Key Vault",
+ "type": "string"
+ },
+ "channelIntegrityKeyVersion": {
+ "description": "The version of Channel Integrity Key stored in the Client Key Vault",
+ "type": "string"
+ },
+ "syncStatus": {
+ "description": "For changing or to initiate the resync to key-vault set the status to KeyVaultSyncPending, rest of the status will not be applicable.",
+ "enum": [
+ "KeyVaultSynced",
+ "KeyVaultSyncFailed",
+ "KeyVaultNotConfigured",
+ "KeyVaultSyncPending",
+ "KeyVaultSyncing",
+ "KeyVaultNotSynced"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KeyVaultSyncStatus",
+ "modelAsString": 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
+ },
+ "clientSecretStoreId": {
+ "description": "The Key Vault ARM Id for client secrets",
+ "type": "string"
+ },
+ "clientSecretStoreUrl": {
+ "description": "The url to access the Client Key Vault",
+ "type": "string"
+ },
+ "channelIntegrityKeyName": {
+ "description": "The name of Channel Integrity Key stored in the Client Key Vault",
+ "type": "string"
+ },
+ "channelIntegrityKeyVersion": {
+ "description": "The version of Channel Integrity Key stored in the Client Key Vault",
+ "type": "string"
+ },
+ "keyVaultSyncStatus": {
+ "description": "Key vault sync status",
+ "enum": [
+ "KeyVaultSynced",
+ "KeyVaultSyncFailed",
+ "KeyVaultNotConfigured",
+ "KeyVaultSyncPending",
+ "KeyVaultSyncing",
+ "KeyVaultNotSynced"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KeyVaultSyncStatus",
+ "modelAsString": true
+ }
+ },
+ "deviceSecrets": {
+ "description": "Device secrets, will be returned only with ODataFilter $expand=deviceSecrets",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/Secret"
+ },
+ "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.",
+ "uniqueItems": false,
+ "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"
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "Msi identity of the resource"
+ },
+ "properties": {
+ "$ref": "#/definitions/DataBoxEdgeDevicePropertiesPatch",
+ "description": "The properties associated with the Data Box Edge/Gateway resource",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceProperties": {
+ "description": "The properties of the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "systemData": {
+ "description": "DataBoxEdge Device Properties",
+ "$ref": "#/definitions/SystemData"
+ },
+ "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",
+ "readOnly": true
+ },
+ "modelDescription": {
+ "description": "The description of the Data Box Edge/Gateway device model.",
+ "type": "string",
+ "readOnly": true
+ },
+ "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",
+ "readOnly": true
+ },
+ "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.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "IOT",
+ "ASA",
+ "Functions",
+ "Cognitive",
+ "MEC",
+ "CloudEdgeManagement",
+ "Kubernetes"
+ ],
+ "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
+ },
+ "resourceMoveDetails": {
+ "$ref": "#/definitions/ResourceMoveDetails",
+ "description": "The details of the move operation on this resource.",
+ "readOnly": true
+ },
+ "edgeProfile": {
+ "$ref": "#/definitions/EdgeProfile",
+ "description": "The details of Edge Profile for this resource",
+ "readOnly": true
+ },
+ "dataResidency": {
+ "$ref": "#/definitions/DataResidency",
+ "description": "The details of data-residency related properties for this resource"
+ }
+ }
+ },
+ "DataBoxEdgeDevicePropertiesPatch": {
+ "description": "The Data Box Edge/Gateway device properties patch.",
+ "type": "object",
+ "properties": {
+ "edgeProfile": {
+ "$ref": "#/definitions/EdgeProfilePatch",
+ "description": "Edge Profile property of the Data Box Edge/Gateway device"
+ }
+ }
+ },
+ "DataBoxEdgeMoveRequest": {
+ "description": "Resource Move details",
+ "required": [
+ "targetResourceGroup",
+ "resources"
+ ],
+ "type": "object",
+ "properties": {
+ "targetResourceGroup": {
+ "description": "Target resource group ARMId",
+ "type": "string"
+ },
+ "resources": {
+ "description": "List of resources to be moved",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "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_Small",
+ "GPU",
+ "TCA_Large",
+ "EdgeP_Base",
+ "EdgeP_High",
+ "EdgePR_Base",
+ "EdgePR_Base_UPS",
+ "EP2_64_1VPU_W",
+ "EP2_128_1T4_Mx1_W",
+ "EP2_256_2T4_W",
+ "EdgeMR_Mini",
+ "RCA_Small",
+ "RCA_Large",
+ "RDC",
+ "Management"
+ ],
+ "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.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "apiVersions": {
+ "description": "The API versions in which Sku is available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "Availability of the Sku for the location/zone/site.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfo"
+ },
+ "readOnly": true
+ },
+ "costs": {
+ "description": "The pricing info of the Sku.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCost"
+ },
+ "readOnly": true
+ },
+ "signupOption": {
+ "description": "Sku can be signed up by customer or not.",
+ "enum": [
+ "None",
+ "Available"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuSignupOption",
+ "modelAsString": true
+ }
+ },
+ "version": {
+ "description": "Availability of the Sku as preview/stable.",
+ "enum": [
+ "Stable",
+ "Preview"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuVersion",
+ "modelAsString": true
+ }
+ },
+ "availability": {
+ "description": "Links to the next set of results",
+ "enum": [
+ "Available",
+ "Unavailable"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuAvailability",
+ "modelAsString": true
+ }
+ },
+ "shipmentTypes": {
+ "description": "List of Shipment Types supported by this SKU",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "NotApplicable",
+ "ShippedToCustomer",
+ "SelfPickup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShipmentType",
+ "modelAsString": true
+ }
+ },
+ "readOnly": true
+ },
+ "capabilities": {
+ "description": "The capability info of the SKU.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCapability"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeSkuList": {
+ "description": "List of SKU Information objects.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of ResourceType Sku",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxEdgeSku"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Links to the next set of results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataResidency": {
+ "description": "Wraps data-residency related information for edge-resource and this should be used with ARM layer.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "DataResidencyType enum",
+ "enum": [
+ "GeoZoneReplication",
+ "ZoneReplication"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataResidencyType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DCAccessCode": {
+ "description": "DC Access code in the case of Self Managed Shipping.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DCAccessCodeProperties",
+ "description": "DCAccessCode properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DCAccessCodeProperties": {
+ "description": "DCAccessCode Properties.",
+ "type": "object",
+ "properties": {
+ "authCode": {
+ "description": "DCAccess Code for the Self Managed shipment.",
+ "type": "string"
+ }
+ }
+ },
+ "DiagnosticProactiveLogCollectionSettings": {
+ "description": "The diagnostic proactive log collection settings of a device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "DiagnosticProactiveLogCollectionSettings",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/ProactiveLogCollectionSettingsProperties",
+ "description": "Properties of the diagnostic proactive log collection settings.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DiagnosticRemoteSupportSettings": {
+ "description": "The remote support settings of a device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "DiagnosticRemoteSupportSettings",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/DiagnosticRemoteSupportSettingsProperties",
+ "description": "Properties of the remote support settings.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DiagnosticRemoteSupportSettingsProperties": {
+ "description": "The properties of remote support settings.",
+ "type": "object",
+ "properties": {
+ "remoteSupportSettingsList": {
+ "description": "Remote support settings list according to the RemoteApplicationType",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RemoteSupportSettings"
+ }
+ }
+ }
+ },
+ "EdgeProfile": {
+ "description": "Details about Edge Profile for the resource",
+ "type": "object",
+ "properties": {
+ "subscription": {
+ "$ref": "#/definitions/EdgeProfileSubscription",
+ "description": "Edge Profile Subscription"
+ }
+ }
+ },
+ "EdgeProfilePatch": {
+ "description": "The Data Box Edge/Gateway Edge Profile patch.",
+ "type": "object",
+ "properties": {
+ "subscription": {
+ "$ref": "#/definitions/EdgeProfileSubscriptionPatch",
+ "description": "The Data Box Edge/Gateway Edge Profile Subscription patch"
+ }
+ }
+ },
+ "EdgeProfileSubscription": {
+ "description": "Subscription details for the Edge Profile",
+ "type": "object",
+ "properties": {
+ "registrationId": {
+ "description": "Edge Subscription Registration ID",
+ "type": "string"
+ },
+ "id": {
+ "description": "ARM ID of the subscription",
+ "type": "string"
+ },
+ "state": {
+ "enum": [
+ "Registered",
+ "Warned",
+ "Suspended",
+ "Deleted",
+ "Unregistered"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SubscriptionState",
+ "modelAsString": true
+ }
+ },
+ "registrationDate": {
+ "type": "string"
+ },
+ "subscriptionId": {
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/SubscriptionProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "EdgeProfileSubscriptionPatch": {
+ "description": "The Data Box Edge/Gateway Edge Profile Subscription patch.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The path ID that uniquely identifies the subscription of the edge profile.",
+ "type": "string"
+ }
+ }
+ },
+ "EtcdInfo": {
+ "description": "Etcd configuration",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Etcd type",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "Etcd version",
+ "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.",
+ "maxLength": 192,
+ "type": "string"
+ }
+ }
+ },
+ "GenerateCertResponse": {
+ "description": "Used in activation key generation flow.",
+ "type": "object",
+ "properties": {
+ "publicKey": {
+ "description": "Gets or sets base64 encoded certificate raw data,\r\nthis is the public part needed to be uploaded to cert vault",
+ "type": "string"
+ },
+ "privateKey": {
+ "description": "Gets or sets base64 encoded private part of the certificate,\r\nneeded to form the activation key",
+ "x-ms-secret": true,
+ "type": "string"
+ },
+ "expiryTimeInUTC": {
+ "description": "Gets or sets expiry time in UTC",
+ "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."
+ }
+ }
+ },
+ "IoTAddon": {
+ "description": "IoT Addon.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Addon"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/IoTAddonProperties",
+ "description": "Properties specific to IOT addon.",
+ "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": "IotEdge"
+ },
+ "IoTAddonProperties": {
+ "description": "IoT addon properties.",
+ "required": [
+ "ioTDeviceDetails",
+ "ioTEdgeDeviceDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "ioTDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT device metadata to which appliance needs to be connected."
+ },
+ "ioTEdgeDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT edge device to which the IoT Addon needs to be configured."
+ },
+ "version": {
+ "description": "Version of IoT running on the appliance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "hostPlatform": {
+ "description": "Host OS supported by the IoT addon.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PlatformType",
+ "modelAsString": true
+ }
+ },
+ "hostPlatformType": {
+ "description": "Platform where the runtime is hosted.",
+ "enum": [
+ "KubernetesCluster",
+ "LinuxVM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "HostPlatformType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Addon Provisioning State",
+ "enum": [
+ "Invalid",
+ "Creating",
+ "Created",
+ "Updating",
+ "Reconfiguring",
+ "Failed",
+ "Deleting"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AddonState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "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).",
+ "uniqueItems": false,
+ "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
+ }
+ },
+ "computeResource": {
+ "$ref": "#/definitions/ComputeResource",
+ "description": "Resource allocation"
+ },
+ "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.",
+ "uniqueItems": false,
+ "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.",
+ "uniqueItems": false,
+ "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",
+ "Backup",
+ "Restore",
+ "TriggerSupportPackage"
+ ],
+ "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"
+ }
+ }
+ },
+ "KubernetesClusterInfo": {
+ "description": "Kubernetes cluster configuration",
+ "required": [
+ "version"
+ ],
+ "type": "object",
+ "properties": {
+ "etcdInfo": {
+ "$ref": "#/definitions/EtcdInfo",
+ "description": "Etcd configuration",
+ "readOnly": true
+ },
+ "nodes": {
+ "description": "Kubernetes cluster nodes",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeInfo"
+ },
+ "readOnly": true
+ },
+ "version": {
+ "description": "Kubernetes cluster version",
+ "type": "string"
+ }
+ }
+ },
+ "KubernetesIPConfiguration": {
+ "description": "Kubernetes node IP configuration",
+ "type": "object",
+ "properties": {
+ "port": {
+ "description": "Port of the Kubernetes node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "ipAddress": {
+ "description": "IP address of the Kubernetes node.",
+ "type": "string"
+ }
+ }
+ },
+ "KubernetesRole": {
+ "description": "Kubernetes role, Currently it's in Private Preview",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Role"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/KubernetesRoleProperties",
+ "description": "Properties specific to Kubernetes 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": "Kubernetes"
+ },
+ "KubernetesRoleCompute": {
+ "description": "Kubernetes role compute resource",
+ "required": [
+ "vmProfile"
+ ],
+ "type": "object",
+ "properties": {
+ "vmProfile": {
+ "description": "VM profile",
+ "type": "string"
+ },
+ "memoryInBytes": {
+ "format": "int64",
+ "description": "Memory in bytes",
+ "type": "integer",
+ "readOnly": true
+ },
+ "processorCount": {
+ "format": "int32",
+ "description": "Processor count",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "KubernetesRoleNetwork": {
+ "description": "Kubernetes role network resource",
+ "type": "object",
+ "properties": {
+ "cniConfig": {
+ "$ref": "#/definitions/CniConfig",
+ "description": "Cni configuration",
+ "readOnly": true
+ },
+ "loadBalancerConfig": {
+ "$ref": "#/definitions/LoadBalancerConfig",
+ "description": "Load balancer configuration",
+ "readOnly": true
+ }
+ }
+ },
+ "KubernetesRoleProperties": {
+ "description": "Kubernetes role properties.",
+ "required": [
+ "hostPlatform",
+ "kubernetesClusterInfo",
+ "kubernetesRoleResources",
+ "roleStatus"
+ ],
+ "type": "object",
+ "properties": {
+ "hostPlatform": {
+ "description": "Host OS supported by the Kubernetes role.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PlatformType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "State of Kubernetes deployment",
+ "enum": [
+ "Invalid",
+ "Creating",
+ "Created",
+ "Updating",
+ "Reconfiguring",
+ "Failed",
+ "Deleting"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "KubernetesState",
+ "modelAsString": true
+ }
+ },
+ "hostPlatformType": {
+ "description": "Platform where the runtime is hosted.",
+ "enum": [
+ "KubernetesCluster",
+ "LinuxVM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "HostPlatformType",
+ "modelAsString": true
+ }
+ },
+ "kubernetesClusterInfo": {
+ "$ref": "#/definitions/KubernetesClusterInfo",
+ "description": "Kubernetes cluster configuration"
+ },
+ "kubernetesRoleResources": {
+ "$ref": "#/definitions/KubernetesRoleResources",
+ "description": "Kubernetes role resources"
+ },
+ "roleStatus": {
+ "description": "Role status.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "KubernetesRoleResources": {
+ "description": "Kubernetes role resources",
+ "required": [
+ "compute"
+ ],
+ "type": "object",
+ "properties": {
+ "storage": {
+ "$ref": "#/definitions/KubernetesRoleStorage",
+ "description": "Kubernetes role storage resource"
+ },
+ "compute": {
+ "$ref": "#/definitions/KubernetesRoleCompute",
+ "description": "Kubernetes role compute resource"
+ },
+ "network": {
+ "$ref": "#/definitions/KubernetesRoleNetwork",
+ "description": "Kubernetes role network resource",
+ "readOnly": true
+ }
+ }
+ },
+ "KubernetesRoleStorage": {
+ "description": "Kubernetes role storage resource",
+ "type": "object",
+ "properties": {
+ "storageClasses": {
+ "description": "Kubernetes storage class info.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KubernetesRoleStorageClassInfo"
+ },
+ "readOnly": true
+ },
+ "endpoints": {
+ "description": "Mount points of shares in role(s).",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountPointMap"
+ }
+ }
+ }
+ },
+ "KubernetesRoleStorageClassInfo": {
+ "description": "Kubernetes storage class info.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Storage class name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Storage class type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "posixCompliant": {
+ "description": "If provisioned storage is posix compliant.",
+ "enum": [
+ "Invalid",
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PosixComplianceStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "LoadBalancerConfig": {
+ "description": "Load balancer configuration",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Load balancer type",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "Load balancer version",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "MECRole": {
+ "description": "MEC role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Role"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MECRoleProperties",
+ "description": "Properties specific to MEC 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": "MEC"
+ },
+ "MECRoleProperties": {
+ "description": "MEC role properties.",
+ "required": [
+ "roleStatus"
+ ],
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Activation key of the MEC."
+ },
+ "controllerEndpoint": {
+ "description": "Controller Endpoint.",
+ "type": "string"
+ },
+ "resourceUniqueId": {
+ "description": "Unique Id of the Resource.",
+ "type": "string"
+ },
+ "roleStatus": {
+ "description": "Role status.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "MetricConfiguration": {
+ "description": "Metric configuration.",
+ "required": [
+ "resourceId",
+ "counterSets"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Resource ID on which the metrics should be pushed.",
+ "type": "string"
+ },
+ "mdmAccount": {
+ "description": "The MDM account to which the counters should be pushed.",
+ "type": "string"
+ },
+ "metricNameSpace": {
+ "description": "The MDM namespace to which the counters should be pushed. This is required if MDMAccount is specified",
+ "type": "string"
+ },
+ "counterSets": {
+ "description": "Host name for the IoT hub associated to the device.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricCounterSet"
+ }
+ }
+ }
+ },
+ "MetricCounter": {
+ "description": "The metric counter",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The counter name.",
+ "type": "string"
+ },
+ "instance": {
+ "description": "The instance from which counter should be collected.",
+ "type": "string"
+ },
+ "dimensionFilter": {
+ "description": "The dimension filter.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricDimension"
+ }
+ },
+ "additionalDimensions": {
+ "description": "The additional dimensions to be added to metric.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricDimension"
+ }
+ }
+ }
+ },
+ "MetricCounterSet": {
+ "description": "The metric counter set",
+ "required": [
+ "counters"
+ ],
+ "type": "object",
+ "properties": {
+ "counters": {
+ "description": "The counters that should be collected in this set.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricCounter"
+ }
+ }
+ }
+ },
+ "MetricDimension": {
+ "description": "The metric dimension",
+ "required": [
+ "sourceType",
+ "sourceName"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceType": {
+ "description": "The dimension type.",
+ "type": "string"
+ },
+ "sourceName": {
+ "description": "The dimension value.",
+ "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.",
+ "uniqueItems": false,
+ "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.",
+ "uniqueItems": false,
+ "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.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "NotSpecified",
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricAggregationType",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "MonitoringMetricConfiguration": {
+ "description": "The metric setting details for the role",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "MonitoringConfiguration on ASE device",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/MonitoringMetricConfigurationProperties",
+ "description": "The metric setting properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "MonitoringMetricConfigurationList": {
+ "description": "Collection of metric configurations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of metric configurations.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MonitoringMetricConfiguration"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "MonitoringMetricConfigurationProperties": {
+ "description": "Metrics properties",
+ "required": [
+ "metricConfigurations"
+ ],
+ "type": "object",
+ "properties": {
+ "metricConfigurations": {
+ "description": "The metrics configuration details",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricConfiguration"
+ }
+ }
+ }
+ },
+ "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",
+ "MEC",
+ "CloudEdgeManagement",
+ "Kubernetes"
+ ],
+ "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.",
+ "uniqueItems": false,
+ "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": {
+ "systemData": {
+ "description": "NetworkSettings on ASE device",
+ "$ref": "#/definitions/SystemData"
+ },
+ "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.",
+ "uniqueItems": false,
+ "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
+ }
+ }
+ },
+ "NodeInfo": {
+ "description": "Kubernetes node info",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Node name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Node type - Master/Worker",
+ "enum": [
+ "Invalid",
+ "Master",
+ "Worker"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "KubernetesNodeType",
+ "modelAsString": true
+ }
+ },
+ "ipConfiguration": {
+ "description": "IP Configuration of the Kubernetes node.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KubernetesIPConfiguration"
+ }
+ }
+ }
+ },
+ "NodeList": {
+ "description": "Collection of Nodes.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of Nodes.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Node"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "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"
+ },
+ "isDataAction": {
+ "description": "Is data action.",
+ "type": "boolean"
+ },
+ "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.",
+ "uniqueItems": false,
+ "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": {
+ "systemData": {
+ "description": "Order configured on ASE resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "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.",
+ "uniqueItems": false,
+ "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"
+ ],
+ "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.",
+ "readOnly": true
+ },
+ "orderHistory": {
+ "description": "List of status changes in the order.",
+ "uniqueItems": false,
+ "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.",
+ "uniqueItems": false,
+ "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.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackingInfo"
+ },
+ "readOnly": true
+ },
+ "shipmentType": {
+ "description": "ShipmentType of the order",
+ "enum": [
+ "NotApplicable",
+ "ShippedToCustomer",
+ "SelfPickup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShipmentType",
+ "modelAsString": 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",
+ "AwaitingFulfillment",
+ "AwaitingPreparation",
+ "AwaitingShipment",
+ "Shipped",
+ "Arriving",
+ "Delivered",
+ "ReplacementRequested",
+ "LostDevice",
+ "Declined",
+ "ReturnInitiated",
+ "AwaitingReturnShipment",
+ "ShippedBack",
+ "CollectedAtMicrosoft",
+ "AwaitingPickup",
+ "PickupCompleted",
+ "AwaitingDrop"
+ ],
+ "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"
+ },
+ "trackingInformation": {
+ "$ref": "#/definitions/TrackingInfo",
+ "description": "Tracking information related to the state in the ordering flow",
+ "readOnly": true
+ },
+ "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.",
+ "maxLength": 192,
+ "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"
+ }
+ }
+ },
+ "ProactiveLogCollectionSettingsProperties": {
+ "description": "The properties of proactive log collection settings.",
+ "required": [
+ "userConsent"
+ ],
+ "type": "object",
+ "properties": {
+ "userConsent": {
+ "description": "Proactive diagnostic collection consent flag",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProactiveDiagnosticsConsent",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "RemoteSupportSettings": {
+ "description": "RemoteApplicationType for which remote support settings is being modified",
+ "type": "object",
+ "properties": {
+ "remoteApplicationType": {
+ "description": "Remote application type",
+ "enum": [
+ "Powershell",
+ "WAC",
+ "LocalUI",
+ "AllApplications"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RemoteApplicationType",
+ "modelAsString": true
+ }
+ },
+ "accessLevel": {
+ "description": "Access level allowed for this remote application type",
+ "enum": [
+ "None",
+ "ReadOnly",
+ "ReadWrite",
+ "FullAccess"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessLevel",
+ "modelAsString": true
+ }
+ },
+ "expirationTimeStampInUTC": {
+ "format": "date-time",
+ "description": "Expiration time stamp",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceIdentity": {
+ "description": "Msi identity details of the resource",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Identity type",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MsiIdentityType",
+ "modelAsString": true
+ }
+ },
+ "principalId": {
+ "description": "Service Principal Id backing the Msi",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "Home Tenant Id",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ResourceMoveDetails": {
+ "description": "Fields for tracking resource move",
+ "type": "object",
+ "properties": {
+ "operationInProgress": {
+ "description": "Denotes whether move operation is in progress",
+ "enum": [
+ "None",
+ "ResourceMoveInProgress",
+ "ResourceMoveFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceMoveStatus",
+ "modelAsString": true
+ }
+ },
+ "operationInProgressLockTimeoutInUTC": {
+ "format": "date-time",
+ "description": "Denotes the timeout of the operation to finish",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceTypeSku": {
+ "description": "Resource type Sku object",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The resource type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "skus": {
+ "description": "The skus.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuInformation"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "Role": {
+ "description": "Compute role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "description": "Role type.",
+ "enum": [
+ "IOT",
+ "ASA",
+ "Functions",
+ "Cognitive",
+ "MEC",
+ "CloudEdgeManagement",
+ "Kubernetes"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleTypes",
+ "modelAsString": true
+ }
+ },
+ "systemData": {
+ "description": "Role configured on ASE resource",
+ "$ref": "#/definitions/SystemData"
+ }
+ },
+ "discriminator": "kind"
+ },
+ "RoleList": {
+ "description": "Collection of all the roles on the Data Box Edge device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Value.",
+ "uniqueItems": false,
+ "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"
+ }
+ }
+ },
+ "Secret": {
+ "description": "Holds device secret either as a KeyVault reference or as an encrypted value.",
+ "type": "object",
+ "properties": {
+ "encryptedSecret": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Encrypted (using device public key) secret value."
+ },
+ "keyVaultId": {
+ "description": "Id of the Key-Vault where secret is stored (ex: secrets/AuthClientSecret/82ef4346187a4033a10d629cde07d740).",
+ "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.",
+ "uniqueItems": false,
+ "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": {
+ "systemData": {
+ "description": "Share on ASE device",
+ "$ref": "#/definitions/SystemData"
+ },
+ "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.",
+ "uniqueItems": false,
+ "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).",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserAccessRight"
+ }
+ },
+ "clientAccessRights": {
+ "description": "List of IP addresses and corresponding access rights on the share(required for NFS protocol).",
+ "uniqueItems": false,
+ "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.",
+ "uniqueItems": false,
+ "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_Small",
+ "GPU",
+ "TCA_Large",
+ "EdgeP_Base",
+ "EdgeP_High",
+ "EdgePR_Base",
+ "EdgePR_Base_UPS",
+ "EP2_64_1VPU_W",
+ "EP2_128_1T4_Mx1_W",
+ "EP2_256_2T4_W",
+ "EdgeMR_Mini",
+ "RCA_Small",
+ "RCA_Large",
+ "RDC",
+ "Management"
+ ],
+ "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 metadata to describe the capability.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "An invariant to describe the feature.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "An invariant if the feature is measured by quantity.",
+ "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
+ }
+ }
+ },
+ "SkuInformation": {
+ "description": "Sku information",
+ "type": "object",
+ "properties": {
+ "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
+ },
+ "family": {
+ "description": "The Sku family.",
+ "type": "string",
+ "readOnly": true
+ },
+ "costs": {
+ "description": "The pricing info of the Sku.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCost"
+ },
+ "readOnly": true
+ },
+ "locations": {
+ "description": "The locations where Sku is available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "The locations where Sku is available with zones and sites info",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfo"
+ },
+ "readOnly": true
+ },
+ "requiredQuotaIds": {
+ "description": "The required quotaIds for the sku to be available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredFeatures": {
+ "description": "The required features for the sku to be available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuInformationList": {
+ "description": "List of SKU Information objects",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of ResourceTypeSku objects",
+ "uniqueItems": false,
+ "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.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "sites": {
+ "description": "The sites.",
+ "uniqueItems": false,
+ "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": {
+ "systemData": {
+ "description": "StorageAccount object on ASE device",
+ "$ref": "#/definitions/SystemData"
+ },
+ "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": {
+ "systemData": {
+ "description": "StorageAccountCredential object",
+ "$ref": "#/definitions/SystemData"
+ },
+ "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.",
+ "uniqueItems": false,
+ "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.",
+ "uniqueItems": false,
+ "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.",
+ "required": [
+ "dataPolicy"
+ ],
+ "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
+ }
+ }
+ },
+ "SubscriptionProperties": {
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "type": "string"
+ },
+ "locationPlacementId": {
+ "type": "string"
+ },
+ "quotaId": {
+ "type": "string"
+ },
+ "serializedDetails": {
+ "type": "string"
+ },
+ "registeredFeatures": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubscriptionRegisteredFeatures"
+ }
+ }
+ }
+ },
+ "SubscriptionRegisteredFeatures": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ }
+ }
+ },
+ "SupportPackageRequestProperties": {
+ "description": "The share properties.",
+ "type": "object",
+ "properties": {
+ "minimumTimeStamp": {
+ "format": "date-time",
+ "description": "MinimumTimeStamp from where logs need to be collected",
+ "type": "string"
+ },
+ "maximumTimeStamp": {
+ "format": "date-time",
+ "description": "MaximumTimeStamp until where logs need to be collected",
+ "type": "string"
+ },
+ "include": {
+ "description": "Type of files, which need to be included in the logs\r\nThis will contain the type of logs (Default/DefaultWithDumps/None/All/DefaultWithArchived)\r\nor a comma separated list of log types that are required",
+ "type": "string"
+ }
+ }
+ },
+ "SymmetricKey": {
+ "description": "Symmetric key for authentication.",
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Connection string based on the symmetric key."
+ }
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "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": {
+ "systemData": {
+ "description": "Trigger in DataBoxEdge Resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "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.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Trigger"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TriggerSupportPackageRequest": {
+ "description": "The request object for trigger support package.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SupportPackageRequestProperties",
+ "description": "The TriggerSupportPackageRequest properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UpdateDetails": {
+ "description": "Update Specific attributes",
+ "type": "object",
+ "properties": {
+ "updateTitle": {
+ "description": "Title of the Update",
+ "type": "string"
+ },
+ "updateSize": {
+ "format": "double",
+ "description": "Size of the update(In Bytes)",
+ "type": "number"
+ },
+ "updateType": {
+ "description": "Type of the Update",
+ "enum": [
+ "Software",
+ "Kubernetes",
+ "Firmware"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UpdateType",
+ "modelAsString": true
+ }
+ },
+ "targetVersion": {
+ "description": "Target Version number",
+ "type": "string"
+ },
+ "friendlyVersionNumber": {
+ "description": "Friendly Version Number",
+ "type": "string"
+ },
+ "estimatedInstallTimeInMins": {
+ "format": "int32",
+ "description": "Estimated Install Time for the update",
+ "type": "integer"
+ },
+ "rebootBehavior": {
+ "description": "Indicates if updates are available and at least one of the updates needs a reboot.",
+ "enum": [
+ "NeverReboots",
+ "RequiresReboot",
+ "RequestReboot"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InstallRebootBehavior",
+ "modelAsString": true
+ }
+ },
+ "installationImpact": {
+ "description": "Impact of Installing an updateType",
+ "enum": [
+ "None",
+ "DeviceRebooted",
+ "KubernetesWorkloadsDown"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InstallationImpact",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "Status of the update.",
+ "enum": [
+ "DownloadPending",
+ "DownloadStarted",
+ "DownloadCompleted",
+ "InstallStarted",
+ "InstallCompleted"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UpdateStatus",
+ "modelAsString": 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": {
+ "systemData": {
+ "description": "UpdateSummary Result",
+ "$ref": "#/definitions/SystemData"
+ },
+ "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"
+ },
+ "lastSuccessfulScanJobTime": {
+ "format": "date-time",
+ "description": "Time when the last scan job is successfully completed.",
+ "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
+ },
+ "lastCompletedDownloadJobId": {
+ "description": "JobId of the last ran download job.(Can be success/cancelled/failed)",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastDownloadJobStatus": {
+ "description": "JobStatus of the last ran download job.",
+ "enum": [
+ "Invalid",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Paused",
+ "Scheduled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": true
+ }
+ },
+ "lastSuccessfulInstallJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the Last Install job was completed successfully on the appliance",
+ "type": "string"
+ },
+ "lastCompletedInstallJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the last Install job was completed (success/cancelled/failed) on the appliance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastCompletedInstallJobId": {
+ "description": "JobId of the last ran install job.(Can be success/cancelled/failed)",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastInstallJobStatus": {
+ "description": "JobStatus of the last ran install job.",
+ "enum": [
+ "Invalid",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Paused",
+ "Scheduled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": 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.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "updates": {
+ "description": "The list of updates available for install.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpdateDetails"
+ },
+ "readOnly": true
+ },
+ "totalUpdateSizeInBytes": {
+ "format": "double",
+ "description": "The total size of updates available for download in bytes.",
+ "type": "number",
+ "readOnly": true
+ },
+ "totalTimeInMinutes": {
+ "format": "int32",
+ "description": "The total time in Minutes",
+ "type": "integer",
+ "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": {
+ "systemData": {
+ "description": "User in DataBoxEdge Resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "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.",
+ "uniqueItems": false,
+ "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.",
+ "uniqueItems": false,
+ "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": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "tags": []
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/AlertGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/AlertGet.json
new file mode 100644
index 000000000000..942004772ecf
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/AlertGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.",
+ "alertType": "UpdateScanFailedEvent",
+ "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z",
+ "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.",
+ "severity": "Critical",
+ "errorDetails": {
+ "errorCode": "",
+ "errorMessage": "",
+ "occurrences": 1
+ },
+ "detailedInformation": {}
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "type": "dataBoxEdgeDevices/alerts"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/AlertGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/AlertGetAllInDevice.json
new file mode 100644
index 000000000000..20f3bb6ba086
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/AlertGetAllInDevice.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "title": "Device password has changed",
+ "alertType": "PasswordChangedEvent",
+ "appearedAtDateTime": "2018-12-18T02:29:15.2325577Z",
+ "recommendation": "The device administrator password has changed. This is a required action as part of the first time device setup or regular password reset. No further action is required.",
+ "severity": "Informational",
+ "errorDetails": {
+ "errorCode": "",
+ "errorMessage": "",
+ "occurrences": 2
+ },
+ "detailedInformation": {}
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/83eccd0b-134b-40b0-ad62-b5f124d03790",
+ "name": "83eccd0b-134b-40b0-ad62-b5f124d03790",
+ "type": "dataBoxEdgeDevices/alerts"
+ },
+ {
+ "properties": {
+ "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.",
+ "alertType": "UpdateScanFailedEvent",
+ "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z",
+ "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.",
+ "severity": "Critical",
+ "errorDetails": {
+ "errorCode": "",
+ "errorMessage": "",
+ "occurrences": 1
+ },
+ "detailedInformation": {}
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "type": "dataBoxEdgeDevices/alerts"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/AvailableSkusList.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/AvailableSkusList.json
new file mode 100644
index 000000000000..c0f6cf7287f6
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/AvailableSkusList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "location": "westus",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "dataBoxEdgeDevices",
+ "name": "Gateway",
+ "availability": "Available",
+ "tier": "Standard",
+ "kind": "AzureDataBoxGateway",
+ "version": "Stable",
+ "signupOption": "Available",
+ "locations": [
+ "West US"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/BandwidthScheduleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/BandwidthScheduleDelete.json
new file mode 100644
index 000000000000..0cf34c2016f6
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/BandwidthScheduleDelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "bandwidth-1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/BandwidthScheduleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/BandwidthScheduleGet.json
new file mode 100644
index 000000000000..a9d4c1454dc1
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/BandwidthScheduleGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "bandwidth-1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "start": "00:00:00",
+ "stop": "13:59:00",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1",
+ "name": "bandwidth-1",
+ "type": "dataBoxEdgeDevices/bandwidthSchedules"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/BandwidthScheduleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/BandwidthScheduleGetAllInDevice.json
new file mode 100644
index 000000000000..e8eb26b06367
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/BandwidthScheduleGetAllInDevice.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "start": "00:00:00",
+ "stop": "13:59:00",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1",
+ "name": "bandwidth-1",
+ "type": "dataBoxEdgeDevices/bandwidthSchedules"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/BandwidthSchedulePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/BandwidthSchedulePut.json
new file mode 100644
index 000000000000..5b9aa6cf95ca
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/BandwidthSchedulePut.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "bandwidth-1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "start": "0:0:0",
+ "stop": "13:59:0",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "start": "00:00:00",
+ "stop": "13:59:00",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1",
+ "name": "bandwidth-1",
+ "type": "dataBoxEdgeDevices/bandwidthSchedules"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ContainerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ContainerDelete.json
new file mode 100644
index 000000000000..71b793a5b5e4
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ContainerDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ContainerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ContainerGet.json
new file mode 100644
index 000000000000..11163c3cc11b
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ContainerGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:13:27.8545799Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1",
+ "name": "blobcontainer1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ContainerListAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ContainerListAllInDevice.json
new file mode 100644
index 000000000000..58480fd9d694
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ContainerListAllInDevice.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:14:32.3016929Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer1",
+ "name": "blobcontainer1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ },
+ {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:15:38.0077675Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer2",
+ "name": "blobcontainer2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ },
+ {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:13:27.8545799Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer3",
+ "name": "blobcontainer3",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ContainerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ContainerPut.json
new file mode 100644
index 000000000000..88c052dd2ba8
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ContainerPut.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "container": {
+ "properties": {
+ "dataFormat": "BlockBlob"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:13:27.8545799Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1",
+ "name": "blobcontainer-5e155efe",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ContainerRefresh.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ContainerRefresh.json
new file mode 100644
index 000000000000..3fdc2bb2e2f0
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ContainerRefresh.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDeviceDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDeviceDelete.json
new file mode 100644
index 000000000000..4d58f476fb81
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDeviceDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDeviceGetByName.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDeviceGetByName.json
new file mode 100644
index 000000000000..aaade3dd076e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDeviceGetByName.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-09-29T18%3A50%3A31.1203818Z'\"_W/\"datetime'2020-09-29T18%3A50%3A31.1343914Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureStackEdge",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "Offline",
+ "serialNumber": "1D6QHQ2",
+ "deviceType": "DataBoxEdgeDevice",
+ "friendlyName": "DBE-1D6QHQ2",
+ "deviceModel": "Physical",
+ "deviceSoftwareVersion": "Azure Stack Edge 2009",
+ "deviceLocalCapacity": 8042259,
+ "timeZone": "Pacific Standard Time",
+ "deviceHcsVersion": "2.1.1361.23408",
+ "configuredRoleTypes": [
+ "CloudEdgeManagement"
+ ],
+ "nodeCount": 1,
+ "edgeProfile": {
+ "subscription": {
+ "registrationId": "91d8753b-af42-4908-9a5e-2a61f08b20de",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/VmMgmtTestPass/providers/Microsoft.AzureStack/edgeSubscriptions/daaac4b0-35c4-4008-bdc6-b72ca5890f16",
+ "state": "Registered"
+ }
+ }
+ },
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EdgeTestPassResource",
+ "name": "EdgeTestPassResource",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json
new file mode 100644
index 000000000000..a6eabe91fc83
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-09-29T18%3A50%3A31.1203818Z'\"_W/\"datetime'2020-09-29T18%3A50%3A31.1343914Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureStackEdge",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EdgeTestPassResource",
+ "name": "EdgeTestPassResource",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "centraluseuap",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-18T23%3A31%3A30.3266766Z'\"_W/\"datetime'2020-11-18T23%3A31%3A30.3326804Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "d97a6de5-f5c0-485a-8f5e-b7f705d2dbc4",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureStackEdge",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/FPGAResource",
+ "name": "FPGAResource",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "centraluseuap",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-18T23%3A31%3A23.1715672Z'\"_W/\"datetime'2020-11-18T23%3A31%3A23.2396152Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "6f2b341b-aded-4ec2-a1bd-d09438d6cc8f",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureStackEdge",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/TestVMEdgeResource",
+ "name": "TestVMEdgeResource",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDeviceGetBySubscription.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDeviceGetBySubscription.json
new file mode 100644
index 000000000000..a8d2a292af1c
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDeviceGetBySubscription.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Gateway",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-19T01%3A39%3A55.1270082Z'\"_W/\"datetime'2020-11-19T01%3A39%3A55.1320118Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "083df009-06d9-4e3c-ae72-f9249a814334",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureDataBoxGateway",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/linksub01",
+ "name": "linksub01",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Gateway",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-19T01%3A40%3A05.9246966Z'\"_W/\"datetime'2020-11-19T01%3A40%3A05.9317011Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "8536db30-78d2-4759-95b7-896a66e14c24",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureDataBoxGateway",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/mergeazstest",
+ "name": "mergeazstest",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Gateway",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-19T01%3A40%3A06.496102Z'\"_W/\"datetime'2020-11-19T01%3A40%3A06.503107Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "fc4c1205-35c8-4f35-abc7-f5a78945f676",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureDataBoxGateway",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/mergeazstest2",
+ "name": "mergeazstest2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDevicePatch.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDevicePatch.json
new file mode 100644
index 000000000000..707d48a412b1
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDevicePatch.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "edgeProfile": {
+ "subscription": {
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/rapvs-rg/providers/Microsoft.AzureStack/linkedSubscriptions/ca014ddc-5cf2-45f8-b390-e901e4a0ae87"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-19T04%3A43%3A38.6457308Z'\"_W/\"datetime'2020-11-19T04%3A43%3A38.6507339Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureStackEdge",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0,
+ "timeZone": "Pacific Standard Time",
+ "nodeCount": 0,
+ "resourceMoveDetails": {
+ "operationInProgress": "None"
+ },
+ "edgeProfile": {
+ "subscription": {
+ "registrationId": "91d8753b-af42-4908-9a5e-2a61f08b20de",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/VmMgmtTestPass/providers/Microsoft.AzureStack/edgeSubscriptions/daaac4b0-35c4-4008-bdc6-b72ca5890f16",
+ "state": "Registered"
+ }
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice",
+ "name": "testedgedevice",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDevicePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDevicePut.json
new file mode 100644
index 000000000000..d031dca80eb6
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DataBoxEdgeDevicePut.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "dataBoxEdgeDevice": {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "name": "testedgedevice"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DeleteAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DeleteAddons.json
new file mode 100644
index 000000000000..6dfb56a03f9d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DeleteAddons.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "KubernetesRole",
+ "addonName": "arcName",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DeleteMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DeleteMonitoringConfig.json
new file mode 100644
index 000000000000..3ab07060d5f9
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DeleteMonitoringConfig.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "testrole",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DownloadUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DownloadUpdatesPost.json
new file mode 100644
index 000000000000..49a4c10a8c02
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/DownloadUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ExtendedInfoPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ExtendedInfoPost.json
new file mode 100644
index 000000000000..198e469fbd1b
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ExtendedInfoPost.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resourceKey": "3482840729935603111",
+ "encryptionKeyThumbprint": "",
+ "encryptionKey": ""
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice",
+ "name": "testedgedevice",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GenerateCertificate.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GenerateCertificate.json
new file mode 100644
index 000000000000..95025f41ee64
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GenerateCertificate.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "publicKey": "MIIEDjCCAnagAwIBAgIQEW4wrxj9+JdA4kFLDgegTTANBgkqhkiG9w0BAQUFADBDMUEwPwYDVQQDHjgAQwBCAF8AUABvAHIAdABhAGwAXwA2ADMANwA0ADEAMwA1ADkAMQA4ADAAMAA3ADAAOQAxADcANTAeFw0yMDExMTkwNDU2MjBaFw0yMDExMjIwNTA2MjBaMEMxQTA/BgNVBAMeOABDAEIAXwBQAG8AcgB0AGEAbABfADYAMwA3ADQAMQAzADUAOQAxADgAMAAwADcAMAA5ADEANwA1MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAqG617KAUc4gOoht527o6FGE/c97W/wZIXqKbx4G8vifljXWw3NGDDuSQfidE3MqSMMJ/AAlDhBH/Deo/PAgUWuWB2WgM+KFWrDS0oDBvLVeIIeiMx4LOsbz4J8IbcKrGWf+ulQyum7dE/yBLzPXcPTjhJP0oMfhGOMlVVWbiKaP78/WZk2PmBQaVv7PxAQnJAPqETH2qAyuc9bd0TaMlIER56WhX9+nzsoI0u7RmBEs8+BaudVroiiK/GpEczy73TCRlpVXGChdBHg+NvYRYz91ltCV9Ijo1bdvcUjdgDJZ4Tz7G8XVCQmxbd9ml6OBLgxQUpd9HSGTcIfFiv+rTUwHR7YkY+1UGHsDPOYnBVDTXs3RFm+c5uNnCKvtyTExDJgabT+FTNb3eyD/BSYsy6b/YZBRqPiO8BRFUsIhWhXtPaUjWOEx6XMeZRnGeF4Hi8iH8TR79kEJhfYy3piSPAc3JrhgoglpyyfZOgyPOje+8tAWS9FHUNyVXKKeksDoZAgMBAAEwDQYJKoZIhvcNAQEFBQADggGBACpfQt34mgr+WlFtY0tqaPAoF6XnVzyKB6XsVAoj1uKFTSCQnr0mWvUMWKSRFTu1bV1VdDokV5I+h92kBcO4ddtHhWtkt16j9XFDsGdDvoUWJeqecZVr9fBPC69wF/9R/2E6iJporR46Pui7gcilYGqb3IjJlh8RT/XBPamQrfDbS7G8eTe91ST5cHr89R6EtDwfyhyTZr2sRrvQrxY2AjEmdH5Zcl9q2Xf8DholZhZ9vwnuYBFfl6VCXWaDAzQWiPdxo1wgXxEpNNDstGFWJKnsnz9UCohNAiPf47B+csPqxjcTLVMhcGLdU/lwpzzkEOciijpYILscvPoU3IM6DmFROgU2z6CForpgwHPDJktyWU1MC7lFdfrSzwu/5b3ZAEQhnJf7rvrybULoYBQWJEuj26Is1S6kXpNUaHAc5HIyIoc2V2eRjasbPIqsU0smjPLS/1egjHxtw9u+v4qDDvDuOjhFJtC3NkPl06TfNgO9+5LgiB1JppXnkLyCQ9RQgw==",
+ "privateKey": null,
+ "expiryTimeInUTC": "2020-11-22T05:06:20.000Z"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetAddons.json
new file mode 100644
index 000000000000..e53eab65ef67
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetAddons.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "KubernetesRole",
+ "addonName": "arcName",
+ "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": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "resourceName": "testedgedevice",
+ "resourceLocation": "EastUS",
+ "version": "0.2.18",
+ "hostPlatform": "Linux",
+ "hostPlatformType": "KubernetesCluster",
+ "provisioningState": "Created"
+ },
+ "kind": "ArcForKubernetes",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName",
+ "name": "arcName",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetDCAccessCode.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetDCAccessCode.json
new file mode 100644
index 000000000000..8851a6704daf
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetDCAccessCode.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "authCode": "_sv7-NY2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetDiagnosticProactiveLogCollectionSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetDiagnosticProactiveLogCollectionSettings.json
new file mode 100644
index 000000000000..493346b2df4d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetDiagnosticProactiveLogCollectionSettings.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "diagnosticProactiveLogCollectionSettings": {
+ "properties": {
+ "userConsent": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "userConsent": "Enabled"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/diagnosticProactiveLogCollectionSettings/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/diagnosticSettings"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetDiagnosticRemoteSupportSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetDiagnosticRemoteSupportSettings.json
new file mode 100644
index 000000000000..c0642c3f5cc3
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetDiagnosticRemoteSupportSettings.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "remoteSupportSettingsList": [
+ {
+ "accessLevel": "ReadWrite",
+ "expirationTimeStampInUTC": "2021-07-07T00:00:00+00:00",
+ "remoteApplicationType": "LocalUI"
+ }
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/diagnosticRemoteSupportSettings/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/diagnosticSettings"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetMonitoringConfig.json
new file mode 100644
index 000000000000..11875e9f21a6
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetMonitoringConfig.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "testrole",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "metricConfigurations": [
+ {
+ "resourceId": "test",
+ "mdmAccount": "test",
+ "metricNameSpace": "test",
+ "counterSets": [
+ {
+ "counters": [
+ {
+ "name": "test"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetUpdateExtendedInfo.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetUpdateExtendedInfo.json
new file mode 100644
index 000000000000..17c0a153f45d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/GetUpdateExtendedInfo.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "parameters": {},
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "clientSecretStoreId": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/arja-rg/providers/Microsoft.KeyVault/vaults/test-keyvault-ccy-523",
+ "clientSecretStoreUrl": "https://test-keyvault-ccy-523.vault.azure.net",
+ "channelIntegrityKeyName": "ase-cik-ab861822-21ea-4d31-96ec-89aa066f9a59",
+ "channelIntegrityKeyVersion": "95e9b619e65f433d82c9e1ead48214b9",
+ "keyVaultSyncStatus": "KeyVaultSynced",
+ "deviceSecrets": {
+ "HcsDataVolumeBitLockerExternalKey": {
+ "keyVaultId": "Id"
+ },
+ "HcsInternalVolumeBitLockerExternalKey": {
+ "keyVaultId": "Id"
+ },
+ "SystemVolumeBitLockerRecoveryKey": {
+ "keyVaultId": "Id"
+ },
+ "SEDEncryptionExternalKeyId": {},
+ "SEDEncryptionExternalKey": {},
+ "BMCDefaultUserPassword": {},
+ "RotateKeyForDataVolumeBitlocker": {},
+ "RotateKeysForSedDrivesSerialized": {}
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/InstallUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/InstallUpdatesPost.json
new file mode 100644
index 000000000000..49a4c10a8c02
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/InstallUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/JobsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/JobsGet.json
new file mode 100644
index 000000000000..02b4976f6ddb
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/JobsGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/id/locations/westus/jobs/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "status": "Succeeded",
+ "startTime": "2018-12-18T02:18:51.4270267Z",
+ "endTime": "2018-12-18T03:18:51.4270267Z",
+ "percentComplete": 100,
+ "properties": {
+ "jobType": "DownloadUpdates",
+ "currentStage": "Success"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ListMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ListMonitoringConfig.json
new file mode 100644
index 000000000000..e02fb5888617
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ListMonitoringConfig.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "testrole",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "metricConfigurations": [
+ {
+ "resourceId": "test",
+ "mdmAccount": "test",
+ "metricNameSpace": "test",
+ "counterSets": [
+ {
+ "counters": [
+ {
+ "name": "test"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/NetworkSettingsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/NetworkSettingsGet.json
new file mode 100644
index 000000000000..87f4f5beffde
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/NetworkSettingsGet.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "networkAdapters": [
+ {
+ "adapterId": "{47D0D0EC-AA8A-4221-AA2A-355B58082BA5}",
+ "adapterPosition": {
+ "networkGroup": "NonRDMA",
+ "port": 0
+ },
+ "index": 1,
+ "nodeId": "3fd54d9e-f7a0-45bf-bdf1-39b0977d1984",
+ "networkAdapterName": "DATA1",
+ "label": "DATA1",
+ "macAddress": "00155D4E265B",
+ "linkSpeed": 10000000000,
+ "status": "Inactive",
+ "rdmaStatus": "Incapable",
+ "dhcpStatus": "Disabled",
+ "ipv4Configuration": {
+ "ipAddress": "10.150.78.56",
+ "subnet": "255.255.252.0",
+ "gateway": "10.150.76.1"
+ },
+ "ipv6Configuration": {
+ "ipAddress": "2404:f801:4800:1e:d5c6:50a1:465b:1bbf",
+ "prefixLength": 64,
+ "gateway": "fe80::12f3:11ff:fe36:994b%5"
+ },
+ "ipv6LinkLocalAddress": "fe80::d5c6:50a1:465b:1bbf%5",
+ "dnsServers": [
+ "10.50.50.50",
+ "10.50.10.50"
+ ]
+ }
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/networkSettings/default",
+ "name": "default",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/NodeGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/NodeGetAllInDevice.json
new file mode 100644
index 000000000000..238ecb2a47b1
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/NodeGetAllInDevice.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "nodeStatus": "Unknown",
+ "nodeChassisSerialNumber": "1D6QHQ2",
+ "nodeSerialNumber": "1D6QHQ2",
+ "nodeDisplayName": "Controller 1",
+ "nodeFriendlySoftwareVersion": "Data Box Edge 1908",
+ "nodeHcsVersion": "1.6.961.8307",
+ "nodeInstanceId": "ad051874-7d27-4ac4-a7b1-b6f231d8a035"
+ },
+ "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1D6QHQ2",
+ "name": "1D6QHQ2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes"
+ },
+ {
+ "properties": {
+ "nodeStatus": "Unknown",
+ "nodeChassisSerialNumber": "1D6QHQ2",
+ "nodeSerialNumber": "1DCNHQ2",
+ "nodeDisplayName": "Controller 1",
+ "nodeFriendlySoftwareVersion": "Data Box Edge 1908",
+ "nodeHcsVersion": "1.6.961.8307",
+ "nodeInstanceId": "ddf3a76d-ada4-44af-99c6-a69a0e21bcb6"
+ },
+ "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1DCNHQ2",
+ "name": "1DCNHQ2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OperationsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OperationsGet.json
new file mode 100644
index 000000000000..8d0598d5b369
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OperationsGet.json
@@ -0,0 +1,675 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "List share users",
+ "description": "Lists or gets the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "List share users",
+ "description": "Lists or gets the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "Creates or updates share users",
+ "description": "Creates or updates the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "Delete share users",
+ "description": "Deletes the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "List bandwidth schedules",
+ "description": "Lists or gets the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "List bandwidth schedules",
+ "description": "Lists or gets the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "Creates or updates bandwidth schedules",
+ "description": "Creates or updates the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "Delete bandwidth schedules",
+ "description": "Deletes the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "List ArmApiRes_roles",
+ "description": "Lists or gets the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "List ArmApiRes_roles",
+ "description": "Lists or gets the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "Creates or updates ArmApiRes_roles",
+ "description": "Creates or updates the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "Delete ArmApiRes_roles",
+ "description": "Deletes the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "List shares",
+ "description": "Lists or gets the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "List shares",
+ "description": "Lists or gets the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "Creates or updates shares",
+ "description": "Creates or updates the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/refresh/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "ArmApiOp_action_refresh_shares",
+ "description": "ArmApiDesc_action_refresh_shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "Delete shares",
+ "description": "Deletes the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/uploadCertificate/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Upload certificates",
+ "description": "Upload certificate for device registration"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Creates or updates Data Box Edge devices",
+ "description": "Creates or updates the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "List Data Box Edge devices",
+ "description": "Lists or gets the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Delete Data Box Edge devices",
+ "description": "Deletes the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "List Data Box Edge devices",
+ "description": "Lists or gets the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "List Data Box Edge devices",
+ "description": "Lists or gets the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Creates or updates Data Box Edge devices",
+ "description": "Creates or updates the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/getExtendedInformation/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "ArmApiOp_action_getExtendedInformation_dataBoxEdgeDevices",
+ "description": "ArmApiDesc_action_getExtendedInformation_dataBoxEdgeDevices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/extendedInformation/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Gets resource extended information",
+ "description": "Retrieves resource extended information"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Device network settings",
+ "operation": "List Device network settings",
+ "description": "Lists or gets the Device network settings"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/securitySettings/update/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Device security settings",
+ "operation": "Update security settings",
+ "description": "Update security settings"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "update summary",
+ "operation": "List update summary",
+ "description": "Lists or gets the update summary"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/scanForUpdates/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Scan for updates",
+ "description": "Scan for updates"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/downloadUpdates/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Download Updates",
+ "description": "Download Updates in device"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/installUpdates/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Install Updates",
+ "description": "Install Updates on device"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/jobs/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "jobs",
+ "operation": "List jobs",
+ "description": "Lists or gets the jobs"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "Creates or updates storage account credentials",
+ "description": "Creates or updates the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "List storage account credentials",
+ "description": "Lists or gets the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "List storage account credentials",
+ "description": "Lists or gets the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "Delete storage account credentials",
+ "description": "Deletes the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "alerts",
+ "operation": "List alerts",
+ "description": "Lists or gets the alerts"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "alerts",
+ "operation": "List alerts",
+ "description": "Lists or gets the alerts"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge device",
+ "operation": "Read Data Box Edge device metric definition",
+ "description": "Gets the available Data Box Edge device level metrics"
+ },
+ "origin": "system",
+ "properties": {
+ "serviceSpecification": {
+ "metricSpecifications": [
+ {
+ "name": "NICReadThroughput",
+ "displayName": "Read Throughput (Network)",
+ "displayDescription": "The read throughput of the network interface on the device in the reporting period for all volumes in the gateway.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "InstanceName",
+ "displayName": "Name",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "NICWriteThroughput",
+ "displayName": "Write Throughput (Network)",
+ "displayDescription": "The write throughput of the network interface on the device in the reporting period for all volumes in the gateway.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "InstanceName",
+ "displayName": "Name",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudReadThroughputPerShare",
+ "displayName": "Cloud Download Throughput (Share)",
+ "displayDescription": "The download throughput to Azure from a share during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "Share",
+ "displayName": "Share",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudUploadThroughputPerShare",
+ "displayName": "Cloud Upload Throughput (Share)",
+ "displayDescription": "The upload throughput to Azure from a share during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "Share",
+ "displayName": "Share",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "BytesUploadedToCloudPerShare",
+ "displayName": "Cloud Bytes Uploaded (Share)",
+ "displayDescription": "The total number of bytes that is uploaded to Azure from a share during the reporting period.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "Share",
+ "displayName": "Share",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "TotalCapacity",
+ "displayName": "Total Capacity",
+ "displayDescription": "Total Capacity",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Capacity",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "AvailableCapacity",
+ "displayName": "Available Capacity",
+ "displayDescription": "The available capacity in bytes during the reporting period.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Capacity",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudUploadThroughput",
+ "displayName": "Cloud Upload Throughput",
+ "displayDescription": "The cloud upload throughput during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudReadThroughput",
+ "displayName": "Cloud Read Throughput",
+ "displayDescription": "The cloud download throughput during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "BytesUploadedToCloud",
+ "displayName": "Cloud Bytes Uploaded (Device)",
+ "displayDescription": "The total number of bytes that is uploaded to Azure from a device during the reporting period.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge device",
+ "operation": "Write diagnostics setting",
+ "description": "Creates or updates the diagnostics setting for the resource"
+ },
+ "origin": "system"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge device",
+ "operation": "Read diagnostics setting",
+ "description": "Gets the diagnostic setting for the resource"
+ },
+ "origin": "system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OperationsStatusGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OperationsStatusGet.json
new file mode 100644
index 000000000000..3e623e3f6554
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OperationsStatusGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/id/locations/westus/operationsStatus/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "status": "Succeeded",
+ "startTime": "2018-12-18T02:18:51.4270267Z",
+ "endTime": "2018-12-18T03:18:51.4270267Z",
+ "percentComplete": 100,
+ "properties": {
+ "jobType": "DownloadUpdates",
+ "currentStage": "Success"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OrderDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OrderDelete.json
new file mode 100644
index 000000000000..4d58f476fb81
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OrderDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OrderGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OrderGet.json
new file mode 100644
index 000000000000..bd7dfcf1225f
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OrderGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/orders",
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ },
+ "currentStatus": {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": ""
+ },
+ "orderHistory": [
+ {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": "lorem ipsum"
+ }
+ ],
+ "serialNumber": "UDS123NSDA123",
+ "deliveryTrackingInfo": [],
+ "returnTrackingInfo": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OrderGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OrderGetAllInDevice.json
new file mode 100644
index 000000000000..5ef34979b8df
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OrderGetAllInDevice.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/orders",
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ },
+ "currentStatus": {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": ""
+ },
+ "orderHistory": [
+ {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": "lorem ipsum"
+ }
+ ],
+ "serialNumber": "UDS123NSDA123",
+ "deliveryTrackingInfo": [],
+ "returnTrackingInfo": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OrderPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OrderPut.json
new file mode 100644
index 000000000000..e2731eb2e14c
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/OrderPut.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "order": {
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/orders",
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ },
+ "currentStatus": {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": ""
+ },
+ "orderHistory": [
+ {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": "lorem ipsum"
+ }
+ ],
+ "serialNumber": "UDS123NSDA123",
+ "deliveryTrackingInfo": [],
+ "returnTrackingInfo": []
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/PutAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/PutAddons.json
new file mode 100644
index 000000000000..3a636aff9a9d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/PutAddons.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "KubernetesRole",
+ "addonName": "arcName",
+ "addon": {
+ "kind": "ArcForKubernetes",
+ "properties": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "resourceName": "testedgedevice",
+ "resourceLocation": "EastUS"
+ }
+ },
+ "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": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "resourceName": "testedgedevice",
+ "resourceLocation": "EastUS",
+ "version": "0.2.18",
+ "hostPlatform": "Linux",
+ "hostPlatformType": "KubernetesCluster",
+ "provisioningState": "Created"
+ },
+ "kind": "ArcForKubernetes",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName",
+ "name": "arcName",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/PutMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/PutMonitoringConfig.json
new file mode 100644
index 000000000000..432935225ef1
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/PutMonitoringConfig.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "testrole",
+ "monitoringMetricConfiguration": {
+ "properties": {
+ "metricConfigurations": [
+ {
+ "resourceId": "test",
+ "mdmAccount": "test",
+ "metricNameSpace": "test",
+ "counterSets": [
+ {
+ "counters": [
+ {
+ "name": "test"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "metricConfigurations": [
+ {
+ "resourceId": "test",
+ "mdmAccount": "test",
+ "metricNameSpace": "test",
+ "counterSets": [
+ {
+ "counters": [
+ {
+ "name": "test"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/RoleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/RoleDelete.json
new file mode 100644
index 000000000000..30309158173a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/RoleDelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "IoTRole1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/RoleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/RoleGet.json
new file mode 100644
index 000000000000..7687d473d600
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/RoleGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "IoTRole1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ },
+ "kind": "IOT",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1",
+ "name": "IoTRole1",
+ "type": "dataBoxEdgeDevices/roles"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/RoleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/RoleGetAllInDevice.json
new file mode 100644
index 000000000000..148503dadb75
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/RoleGetAllInDevice.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ },
+ "kind": "IOT",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1",
+ "name": "IoTRole1",
+ "type": "dataBoxEdgeDevices/roles"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/RoleListAddOns.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/RoleListAddOns.json
new file mode 100644
index 000000000000..dd8256f8e77c
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/RoleListAddOns.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "IoTRole1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "subscriptionId": "0d44739e-0563-474f-97e7-24a0cdb23b29",
+ "resourceGroupName": "testrg1",
+ "resourceName": "testresource1",
+ "resourceLocation": "EastUS",
+ "version": "0.2.18",
+ "hostPlatform": "Linux",
+ "hostPlatformType": "KubernetesCluster",
+ "provisioningState": "Created"
+ },
+ "kind": "ArcForKubernetes",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/prpare/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName",
+ "name": "arcName",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/RolePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/RolePut.json
new file mode 100644
index 000000000000..c8cff236dfcb
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/RolePut.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "IoTRole1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "role": {
+ "kind": "IOT",
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {
+ "connectionString": {
+ "value": "Encrypted<>",
+ "encryptionCertThumbprint": "348586569999244",
+ "encryptionAlgorithm": "AES256"
+ }
+ }
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {
+ "connectionString": {
+ "value": "Encrypted<>",
+ "encryptionCertThumbprint": "1245475856069999244",
+ "encryptionAlgorithm": "AES256"
+ }
+ }
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kind": "IOT",
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1",
+ "name": "IoTRole1",
+ "type": "dataBoxEdgeDevices/roles"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SACDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SACDelete.json
new file mode 100644
index 000000000000..35e1d0f5d717
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SACDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "sac1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SACGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SACGet.json
new file mode 100644
index 000000000000..4db252891892
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SACGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "sac1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "alias": "sac1",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "name": "sac1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SACGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SACGetAllInDevice.json
new file mode 100644
index 000000000000..5aeb4648d298
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SACGetAllInDevice.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "alias": "sac1128180128323",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "GeneralPurposeStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128323",
+ "name": "sac1128180128323",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ },
+ {
+ "properties": {
+ "alias": "sac1128180128312",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128312",
+ "name": "sac1128180128312",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SACPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SACPut.json
new file mode 100644
index 000000000000..89b6fed34ff1
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SACPut.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "sac1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "storageAccountCredential": {
+ "properties": {
+ "alias": "sac1",
+ "userName": "cisbvt",
+ "accountKey": {
+ "value": "lAeZEYi6rNP1/EyNaVUYmTSZEYyaIaWmwUsGwek0+xiZj54GM9Ue9/UA2ed/ClC03wuSit2XzM/cLRU5eYiFBwks23rGwiQOr3sruEL2a74EjPD050xYjA6M1I2hu/w2yjVHhn5j+DbXS4Xzi+rHHNZK3DgfDO3PkbECjPck+PbpSBjy9+6Mrjcld5DIZhUAeMlMHrFlg+WKRKB14o/og56u5/xX6WKlrMLEQ+y6E18dUwvWs2elTNoVO8PBE8SM/CfooX4AMNvaNdSObNBPdP+F6Lzc556nFNWXrBLRt0vC7s9qTiVRO4x/qCNaK/B4y7IqXMllwQFf4Np9UQ2ECA==",
+ "encryptionCertThumbprint": "2A9D8D6BE51574B5461230AEF02F162C5F01AD31",
+ "encryptionAlgorithm": "AES256"
+ },
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "alias": "sac1",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "name": "sac1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ScanForUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ScanForUpdatesPost.json
new file mode 100644
index 000000000000..49a4c10a8c02
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ScanForUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SecuritySettingsUpdatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SecuritySettingsUpdatePost.json
new file mode 100644
index 000000000000..bc7bfd7a2d34
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SecuritySettingsUpdatePost.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "AzureVM",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "securitySettings": {
+ "properties": {
+ "deviceAdminPassword": {
+ "value": "",
+ "encryptionAlgorithm": "AES256",
+ "encryptionCertThumbprint": ""
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ShareDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ShareDelete.json
new file mode 100644
index 000000000000..29577b021c31
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ShareDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ShareGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ShareGet.json
new file mode 100644
index 000000000000..62cd76f3f02e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ShareGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Disabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "clientAccessRights": [],
+ "refreshDetails": {},
+ "shareMappings": [],
+ "dataPolicy": "Cloud"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare",
+ "name": "smbshare",
+ "type": "dataBoxEdgeDevices/shares"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ShareGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ShareGetAllInDevice.json
new file mode 100644
index 000000000000..3f77f4aa153b
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ShareGetAllInDevice.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Disabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "clientAccessRights": [],
+ "refreshDetails": {},
+ "shareMappings": [],
+ "dataPolicy": "Cloud"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare",
+ "name": "smbshare",
+ "type": "dataBoxEdgeDevices/shares"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SharePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SharePut.json
new file mode 100644
index 000000000000..7c3c68c125c9
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/SharePut.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "share": {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Enabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "dataPolicy": "Cloud"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Disabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "clientAccessRights": [],
+ "refreshDetails": {},
+ "shareMappings": [],
+ "dataPolicy": "Cloud"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare",
+ "name": "smbshare",
+ "type": "dataBoxEdgeDevices/shares"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ShareRefreshPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ShareRefreshPost.json
new file mode 100644
index 000000000000..755553ecdb1b
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/ShareRefreshPost.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/StorageAccountDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/StorageAccountDelete.json
new file mode 100644
index 000000000000..067511ee9344
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/StorageAccountDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/StorageAccountGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/StorageAccountGet.json
new file mode 100644
index 000000000000..90561bc2b0f0
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/StorageAccountGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "blobstorageaccount1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt",
+ "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/",
+ "containerCount": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1",
+ "name": "blobstorageaccount1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/StorageAccountGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/StorageAccountGetAllInDevice.json
new file mode 100644
index 000000000000..ef680adb537e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/StorageAccountGetAllInDevice.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt",
+ "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/",
+ "containerCount": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1",
+ "name": "blobstorageaccount1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/StorageAccountPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/StorageAccountPut.json
new file mode 100644
index 000000000000..3b01f56643dc
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/StorageAccountPut.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "blobstorageaccount1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "storageAccount": {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt",
+ "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/",
+ "containerCount": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1",
+ "name": "blobstorageaccount1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/TriggerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/TriggerDelete.json
new file mode 100644
index 000000000000..c0812801cdce
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/TriggerDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "trigger1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/TriggerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/TriggerGet.json
new file mode 100644
index 000000000000..4e70406ba0d7
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/TriggerGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "trigger1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1",
+ "name": "trigger1",
+ "type": "dataBoxEdgeDevices/triggers",
+ "kind": "FileEvent"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/TriggerGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/TriggerGetAllInDevice.json
new file mode 100644
index 000000000000..f1a0a8ab54ab
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/TriggerGetAllInDevice.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1",
+ "name": "trigger1",
+ "type": "dataBoxEdgeDevices/triggers",
+ "kind": "FileEvent"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/TriggerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/TriggerPut.json
new file mode 100644
index 000000000000..889e94b80daa
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/TriggerPut.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "trigger1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "trigger": {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "kind": "FileEvent"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1",
+ "name": "trigger1",
+ "type": "dataBoxEdgeDevices/triggers",
+ "kind": "FileEvent"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/TriggerSupportPackage.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/TriggerSupportPackage.json
new file mode 100644
index 000000000000..2499251ec7b4
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/TriggerSupportPackage.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "triggerSupportPackageRequest": {
+ "properties": {
+ "minimumTimeStamp": "2018-12-18T02:18:51.4270267Z",
+ "maximumTimeStamp": "2018-12-18T02:19:51.4270267Z",
+ "include": "DefaultWithDumps"
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UpdateDiagnosticProactiveLogCollectionSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UpdateDiagnosticProactiveLogCollectionSettings.json
new file mode 100644
index 000000000000..6b55fbd544a1
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UpdateDiagnosticProactiveLogCollectionSettings.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "proactiveLogCollectionSettings": {
+ "properties": {
+ "userConsent": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UpdateDiagnosticRemoteSupportSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UpdateDiagnosticRemoteSupportSettings.json
new file mode 100644
index 000000000000..26b2f27dca61
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UpdateDiagnosticRemoteSupportSettings.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "diagnosticRemoteSupportSettings": {
+ "properties": {
+ "remoteSupportSettingsList": [
+ {
+ "accessLevel": "ReadWrite",
+ "expirationTimeStampInUTC": "2021-07-07T00:00:00+00:00",
+ "remoteApplicationType": "Powershell"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UpdateSummaryGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UpdateSummaryGet.json
new file mode 100644
index 000000000000..d5f28b988241
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UpdateSummaryGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw=="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "deviceVersionNumber": "2.1.1377.2170",
+ "friendlyDeviceVersionName": "Azure Stack Edge 2010",
+ "deviceLastScannedDateTime": "2021-03-17T19:51:51.7864634Z",
+ "lastCompletedScanJobDateTime": "2021-03-17T19:47:46.1595547Z",
+ "lastDownloadJobStatus": "Invalid",
+ "lastInstallJobStatus": "Invalid",
+ "totalNumberOfUpdatesAvailable": 1,
+ "totalNumberOfUpdatesPendingDownload": 1,
+ "totalNumberOfUpdatesPendingInstall": 1,
+ "rebootBehavior": "NeverReboots",
+ "ongoingUpdateOperation": "Install",
+ "updateTitles": [
+ "Azure Stack Edge Update 2101 Package 1 of 2 for Pro-GPU, Pro R, Mini R"
+ ],
+ "totalUpdateSizeInBytes": 4260898192.0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/updateSummary/default",
+ "name": "default",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UploadCertificatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UploadCertificatePost.json
new file mode 100644
index 000000000000..952fe2483d84
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UploadCertificatePost.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw=="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "authType": "AzureActiveDirectory",
+ "resourceId": "392799901267771",
+ "aadAuthority": "https://login.windows.net",
+ "aadTenantId": "100b019d-4626-4a9e-a83c-9cff8fe41909",
+ "servicePrincipalClientId": "ffd8a688-82b1-4e5a-a4c1-7ede8c928e68",
+ "servicePrincipalObjectId": "cef6d40c-24e6-4a6f-bb9e-3ec60b4adec4",
+ "azureManagementEndpointAudience": "https://wus-bvtgateway.ext.trafficmanager.net/"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UserDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UserDelete.json
new file mode 100644
index 000000000000..c0aefe22cc21
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UserDelete.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "user1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UserGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UserGet.json
new file mode 100644
index 000000000000..5e8536c2106e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UserGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "user1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "userType": "Share"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1",
+ "name": "user1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ },
+ "202": {}
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UserGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UserGetAllInDevice.json
new file mode 100644
index 000000000000..3253fdb8b4e9
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UserGetAllInDevice.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "userType": "Share"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "name": "user2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ },
+ {
+ "properties": {
+ "userType": "Share"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1",
+ "name": "user1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UserPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UserPut.json
new file mode 100644
index 000000000000..baae31c17b00
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-02-01/examples/UserPut.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "user1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "user": {
+ "properties": {
+ "encryptedPassword": {
+ "value": "",
+ "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.go.md b/specification/databoxedge/resource-manager/readme.go.md
index 71d584f0938c..3d14d4742ba7 100644
--- a/specification/databoxedge/resource-manager/readme.go.md
+++ b/specification/databoxedge/resource-manager/readme.go.md
@@ -13,6 +13,7 @@ go:
```yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-02-01
- tag: package-2021-02-01-preview
- tag: package-2020-12-01
- tag: package-2020-09-01-preview
@@ -22,6 +23,15 @@ batch:
- tag: package-2019-07
- tag: package-2019-03
```
+### Tag: package-2021-02-01 and go
+
+These settings apply only when `--tag=package-2021-02-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-2021-02-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-02-01/$(namespace)
+```
+
### Tag: package-2021-02-01-preview and go
These settings apply only when `--tag=package-2021-02-01-preview --go` is specified on the command line.
diff --git a/specification/databoxedge/resource-manager/readme.java.md b/specification/databoxedge/resource-manager/readme.java.md
index 78e86fdee112..54e9afc51679 100644
--- a/specification/databoxedge/resource-manager/readme.java.md
+++ b/specification/databoxedge/resource-manager/readme.java.md
@@ -16,6 +16,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-databoxedge
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2021-02-01
- tag: package-2021-02-01-preview
- tag: package-2020-12-01
- tag: package-2020-09-01-preview
@@ -26,6 +27,19 @@ batch:
- tag: package-2019-03
```
+### Tag: package-2021-02-01 and java
+
+These settings apply only when `--tag=package-2021-02-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2021-02-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databoxedge.v2021_02-01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/databoxedge/mgmt-v2021_02-01
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2021-02-01-preview and java
These settings apply only when `--tag=package-2021-02-01-preview --java` is specified on the command line.
diff --git a/specification/databoxedge/resource-manager/readme.md b/specification/databoxedge/resource-manager/readme.md
index 5c292a794298..a9f7610656a3 100644
--- a/specification/databoxedge/resource-manager/readme.md
+++ b/specification/databoxedge/resource-manager/readme.md
@@ -26,7 +26,15 @@ These are the global settings for the DataBox Edge API.
``` yaml
openapi-type: arm
-tag: package-2019-08
+tag: package-2021-02-01
+```
+### Tag: package-2021-02-01
+
+These settings apply only when `--tag=package-2021-02-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-02-01'
+input-file:
+- Microsoft.DataBoxEdge/stable/2021-02-01/databoxedge.json
```
### Tag: package-2021-02-01-preview
diff --git a/specification/databoxedge/resource-manager/readme.python.md b/specification/databoxedge/resource-manager/readme.python.md
index d76d355eb72a..b59477a0b3ac 100644
--- a/specification/databoxedge/resource-manager/readme.python.md
+++ b/specification/databoxedge/resource-manager/readme.python.md
@@ -33,6 +33,7 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi) && !$(track2)
batch:
+ - tag: package-2021-02-01
- tag: package-2021-02-01-preview
- tag: package-2020-12-01
- tag: package-2020-09-01-preview
@@ -44,6 +45,7 @@ batch:
```
```yaml $(python) && $(multiapi) && $(track2)
batch:
+ - tag: package-2021-02-01
- tag: package-2021-02-01-preview
- tag: package-2020-12-01
- tag: package-2020-09-01-preview
@@ -60,6 +62,20 @@ output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mg
clear-output-folder: false
perform-load: false
```
+### Tag: package-2021-02-01 and python
+
+These settings apply only when `--tag=package-2021-02-01 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-02-01' && $(python) & !$(track2)
+python:
+ namespace: azure.mgmt.databoxedge.v2021_02_01
+ output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2021_02_01
+```
+``` yaml $(tag) == 'package-2021-02-01' && $(python) && $(track2)
+namespace: azure.mgmt.databoxedge.v2021_02_01
+output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2021_02_01
+```
### Tag: package-2021-02-01-preview and python
These settings apply only when `--tag=package-2021-02-01-preview --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 10056e13b5f1..07ceb39a135c 100644
--- a/specification/databoxedge/resource-manager/readme.ruby.md
+++ b/specification/databoxedge/resource-manager/readme.ruby.md
@@ -12,6 +12,7 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2021-02-01
- tag: package-2021-02-01-preview
- tag: package-2020-12-01
- tag: package-2020-09-01-preview
@@ -21,6 +22,16 @@ batch:
- tag: package-2019-07
- tag: package-2019-03
```
+### Tag: package-2021-02-01 and ruby
+
+These settings apply only when `--tag=package-2021-02-01 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-02-01' && $(ruby)
+namespace: "Azure::DataBoxEdge::Mgmt::V2021_02-01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databoxedge/lib
+```
+
### Tag: package-2021-02-01-preview and ruby
These settings apply only when `--tag=package-2021-02-01-preview --ruby` is specified on the command line.
diff --git a/specification/databoxedge/resource-manager/readme.typescript.md b/specification/databoxedge/resource-manager/readme.typescript.md
index 0f89c078b7d1..c7b3c3226394 100644
--- a/specification/databoxedge/resource-manager/readme.typescript.md
+++ b/specification/databoxedge/resource-manager/readme.typescript.md
@@ -3,7 +3,7 @@
These settings apply only when `--typescript` is specified on the command line.
Please also specify `--typescript-sdks-folder=`.
-``` yaml $(typescript) && !$(profile)
+``` yaml $(typescript) && !$(profile-content)
typescript:
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
@@ -16,9 +16,9 @@ typescript:
### Profile: profile-hybrid-2020-09-01
-These settings apply only when `--profile=profile-hybrid-2020-09-01` is specified on the command line.
+These settings apply only when `--profile-content=profile-hybrid-2020-09-01` is specified on the command line.
-``` yaml $(profile)=='profile-hybrid-2020-09-01'
+``` yaml $(profile-content)=='profile-hybrid-2020-09-01'
typescript:
package-name: "@azure/arm-databoxedge-profile-2020-09-01-hybrid"
output-folder: "$(typescript-sdks-folder)/sdk/databoxedge/arm-databoxedge-profile-2020-09-01-hybrid"
@@ -27,4 +27,4 @@ typescript:
generate-metadata: true
batch:
- tag: profile-hybrid-2020-09-01
-```
\ No newline at end of file
+```
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/databricks.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/databricks.json
new file mode 100644
index 000000000000..1612dadf6c8c
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/databricks.json
@@ -0,0 +1,1598 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "DatabricksClient",
+ "version": "2021-04-01-preview",
+ "description": "These APIs allow end users to operate on Azure Databricks Workspace resources."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}": {
+ "get": {
+ "tags": [
+ "Workspaces"
+ ],
+ "operationId": "Workspaces_Get",
+ "description": "Gets the workspace.",
+ "x-ms-examples": {
+ "Get a workspace": {
+ "$ref": "./examples/WorkspaceGet.json"
+ },
+ "Get a workspace with custom parameters": {
+ "$ref": "./examples/WorkspaceGetParameters.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Workspaces"
+ ],
+ "operationId": "Workspaces_Delete",
+ "description": "Deletes the workspace.",
+ "x-ms-examples": {
+ "Delete a workspace": {
+ "$ref": "./examples/WorkspaceDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "202": {
+ "description": "Accepted - Returns this status until the asynchronous operation has completed."
+ },
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "put": {
+ "tags": [
+ "Workspaces"
+ ],
+ "operationId": "Workspaces_CreateOrUpdate",
+ "description": "Creates a new workspace.",
+ "x-ms-examples": {
+ "Create or update workspace": {
+ "$ref": "./examples/WorkspaceCreate.json"
+ },
+ "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": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ },
+ "description": "Parameters supplied to the create or update a workspace."
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Created - Returns information about the workspace, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "201": {
+ "description": "Created - Returns information about the workspace, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Workspaces"
+ ],
+ "operationId": "Workspaces_Update",
+ "description": "Updates a workspace.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/WorkspaceUpdate"
+ },
+ "description": "The update to the workspace."
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a workspace's tags.": {
+ "$ref": "./examples/WorkspaceUpdate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces": {
+ "get": {
+ "tags": [
+ "Workspaces"
+ ],
+ "operationId": "Workspaces_ListByResourceGroup",
+ "description": "Gets all the workspaces within a resource group.",
+ "x-ms-examples": {
+ "Lists workspaces": {
+ "$ref": "./examples/WorkspacesListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of workspaces.",
+ "schema": {
+ "$ref": "#/definitions/WorkspaceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Databricks/workspaces": {
+ "get": {
+ "tags": [
+ "Workspaces"
+ ],
+ "operationId": "Workspaces_ListBySubscription",
+ "description": "Gets all the workspaces within a subscription.",
+ "x-ms-examples": {
+ "Lists workspaces": {
+ "$ref": "./examples/WorkspacesListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of workspaces.",
+ "schema": {
+ "$ref": "#/definitions/WorkspaceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Databricks/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available RP operations.",
+ "x-ms-examples": {
+ "Operations": {
+ "$ref": "./examples/OperationsList.json"
+ }
+ },
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Resource Provider error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "List private link resources",
+ "description": "List private link resources for a given workspace",
+ "operationId": "PrivateLinkResources_List",
+ "x-ms-examples": {
+ "List private link resources": {
+ "$ref": "./examples/ListPrivateLinkResources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of private link resources",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourcesList"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateLinkResources/{groupId}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the specified private link resource",
+ "description": "Get the specified private link resource for the given group id (sub-resource)",
+ "operationId": "PrivateLinkResources_Get",
+ "x-ms-examples": {
+ "Get a private link resource": {
+ "$ref": "./examples/PrivateLinkResourcesGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/GroupId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the specified of private link resource",
+ "schema": {
+ "$ref": "#/definitions/GroupIdInformation"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "List private endpoint connections",
+ "description": "List private endpoint connections of the workspace",
+ "operationId": "PrivateEndpointConnections_List",
+ "x-ms-examples": {
+ "List private endpoint connections": {
+ "$ref": "./examples/ListPrivateEndpointConnections.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns list of private endpoint connections for a workspace",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionsList"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get private endpoint connection",
+ "description": "Get a private endpoint connection properties for a workspace",
+ "operationId": "PrivateEndpointConnections_Get",
+ "x-ms-examples": {
+ "Get a private endpoint connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the private endpoint connection properties of a workspace",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Update private endpoint connection status",
+ "description": "Update the status of a private endpoint connection with the specified name",
+ "operationId": "PrivateEndpointConnections_Create",
+ "x-ms-examples": {
+ "Update a private endpoint connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionName"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "description": "The private endpoint connection with updated properties",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Update the private endpoint connection properties successfully.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "202": {
+ "description": "Accepted - 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"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Remove private endpoint connection",
+ "description": "Remove private endpoint connection with the specified name",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "x-ms-examples": {
+ "Remove a private endpoint connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted - 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."
+ },
+ "200": {
+ "description": "OK - Returns the status of polling request for the delete operation."
+ },
+ "204": {
+ "description": "No Content - PrivateEndpoint does not exist."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Workspace": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WorkspaceProperties",
+ "description": "The workspace properties."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the resource."
+ },
+ "systemData": {
+ "description": "The system metadata relating to this resource",
+ "type": "object",
+ "readOnly": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Information about workspace."
+ },
+ "WorkspaceProperties": {
+ "properties": {
+ "managedResourceGroupId": {
+ "type": "string",
+ "description": "The managed resource group Id."
+ },
+ "parameters": {
+ "$ref": "#/definitions/WorkspaceCustomParameters",
+ "description": "The workspace's custom parameters."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The workspace provisioning state."
+ },
+ "uiDefinitionUri": {
+ "type": "string",
+ "description": "The blob URI where the UI definition file is located."
+ },
+ "authorizations": {
+ "description": "The workspace provider authorizations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WorkspaceProviderAuthorization"
+ }
+ },
+ "createdBy": {
+ "description": "Indicates the Object ID, PUID and Application ID of entity that created the workspace.",
+ "$ref": "#/definitions/CreatedBy"
+ },
+ "updatedBy": {
+ "description": "Indicates the Object ID, PUID and Application ID of entity that last updated the workspace.",
+ "$ref": "#/definitions/CreatedBy"
+ },
+ "createdDateTime": {
+ "description": "Specifies the date and time when the workspace is created.",
+ "$ref": "#/definitions/CreatedDateTime"
+ },
+ "workspaceId": {
+ "readOnly": true,
+ "description": "The unique identifier of the databricks workspace in databricks control plane.",
+ "type": "string"
+ },
+ "workspaceUrl": {
+ "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"
+ },
+ "encryption": {
+ "type": "object",
+ "description": "Encryption properties for databricks workspace",
+ "properties": {
+ "entities": {
+ "$ref": "#/definitions/EncryptionEntitiesDefinition",
+ "description": "Encryption entities definition for the workspace."
+ }
+ },
+ "required": [
+ "entities"
+ ]
+ },
+ "privateEndpointConnections": {
+ "readOnly": true,
+ "description": "Private endpoint connections created on the workspace",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "publicNetworkAccess": {
+ "type": "string",
+ "description": "The network access type for accessing workspace. Set value to disabled to access workspace only via private link.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PublicNetworkAccess"
+ }
+ },
+ "requiredNsgRules": {
+ "type": "string",
+ "description": "Gets or sets a value indicating whether data plane (clusters) to control plane communication happen over private endpoint. Supported values are 'AllRules' and 'NoAzureDatabricksRules'. 'NoAzureServiceRules' value is for internal use only.",
+ "enum": [
+ "AllRules",
+ "NoAzureDatabricksRules",
+ "NoAzureServiceRules"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "RequiredNsgRules"
+ }
+ }
+ },
+ "required": [
+ "managedResourceGroupId"
+ ],
+ "description": "The workspace properties."
+ },
+ "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"
+ }
+ ]
+ },
+ "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/{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
+ },
+ "Sku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The SKU name."
+ },
+ "tier": {
+ "type": "string",
+ "description": "The SKU tier."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "SKU for the resource."
+ },
+ "ProvisioningState": {
+ "description": "Provisioning status of the workspace.",
+ "readOnly": true,
+ "enum": [
+ "Accepted",
+ "Running",
+ "Ready",
+ "Creating",
+ "Created",
+ "Deleting",
+ "Deleted",
+ "Canceled",
+ "Failed",
+ "Succeeded",
+ "Updating"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "PeeringProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PeeringProvisioningState",
+ "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,
+ "enum": [
+ "Bool",
+ "Object",
+ "String"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomParameterType",
+ "modelAsString": true
+ }
+ },
+ "WorkspaceCustomBooleanParameter": {
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/WorkspaceCustomParameterType",
+ "description": "The type of variable that this is"
+ },
+ "value": {
+ "type": "boolean",
+ "description": "The value which should be used for this field."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The value which should be used for this field."
+ },
+ "WorkspaceCustomObjectParameter": {
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/WorkspaceCustomParameterType",
+ "description": "The type of variable that this is"
+ },
+ "value": {
+ "type": "object",
+ "description": "The value which should be used for this field."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The value which should be used for this field."
+ },
+ "WorkspaceCustomStringParameter": {
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/WorkspaceCustomParameterType",
+ "description": "The type of variable that this is"
+ },
+ "value": {
+ "type": "string",
+ "description": "The value which should be used for this field."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The Value."
+ },
+ "WorkspaceCustomParameters": {
+ "properties": {
+ "amlWorkspaceId": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "The 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"
+ },
+ "customPublicSubnetName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "The name of a Public Subnet within the Virtual Network"
+ },
+ "customPrivateSubnetName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "The name of the Private Subnet within the Virtual Network"
+ },
+ "enableNoPublicIp": {
+ "$ref": "#/definitions/WorkspaceCustomBooleanParameter",
+ "description": "Should the Public IP be Disabled?"
+ },
+ "loadBalancerBackendPoolName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "Name of the outbound Load Balancer Backend Pool for Secure Cluster Connectivity (No Public IP)."
+ },
+ "loadBalancerId": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "Resource URI of Outbound Load balancer for Secure Cluster Connectivity (No Public IP) workspace."
+ },
+ "natGatewayName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "Name of the NAT gateway for Secure Cluster Connectivity (No Public IP) workspace subnets."
+ },
+ "publicIpName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "Name of the Public IP for No Public IP workspace with managed vNet."
+ },
+ "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."
+ },
+ "storageAccountName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "Default DBFS storage account name."
+ },
+ "storageAccountSkuName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "Storage account SKU name, ex: Standard_GRS, Standard_LRS. Refer https://aka.ms/storageskus for valid inputs."
+ },
+ "vnetAddressPrefix": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "Address prefix for Managed virtual network. Default value for this input is 10.139."
+ },
+ "resourceTags": {
+ "$ref": "#/definitions/WorkspaceCustomObjectParameter",
+ "readOnly": true,
+ "description": "Tags applied to resources under Managed resource group. These can be updated by updating tags at workspace level."
+ }
+ },
+ "description": "Custom Parameters used for Cluster Creation."
+ },
+ "CreatedDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time stamp when the workspace was created.",
+ "readOnly": true
+ },
+ "CreatedBy": {
+ "properties": {
+ "oid": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The Object ID that created the workspace.",
+ "readOnly": true
+ },
+ "puid": {
+ "type": "string",
+ "description": "The Personal Object ID corresponding to the object ID above",
+ "readOnly": true
+ },
+ "applicationId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The application ID of the application that initiated the creation of the workspace. For example, Azure Portal.",
+ "readOnly": true
+ }
+ },
+ "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."
+ },
+ "EncryptionEntitiesDefinition": {
+ "properties": {
+ "managedServices": {
+ "type": "object",
+ "description": "Encryption properties for the databricks managed services.",
+ "$ref": "#/definitions/EncryptionV2"
+ }
+ },
+ "description": "Encryption entities for databricks workspace resource."
+ },
+ "EncryptionV2": {
+ "properties": {
+ "keySource": {
+ "type": "string",
+ "description": "The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Keyvault",
+ "enum": [
+ "Microsoft.Keyvault"
+ ],
+ "x-ms-enum": {
+ "name": "EncryptionKeySource",
+ "modelAsString": true
+ }
+ },
+ "keyVaultProperties": {
+ "properties": {
+ "keyVaultUri": {
+ "type": "string",
+ "description": "The Uri of KeyVault."
+ },
+ "keyName": {
+ "type": "string",
+ "description": "The name of KeyVault key."
+ },
+ "keyVersion": {
+ "type": "string",
+ "description": "The version of KeyVault key."
+ }
+ },
+ "required": [
+ "keyVaultUri",
+ "keyName",
+ "keyVersion"
+ ],
+ "description": "Key Vault input properties for encryption."
+ }
+ },
+ "required": [
+ "keySource"
+ ],
+ "description": "The object that contains details of encryption used on the workspace."
+ },
+ "WorkspaceProviderAuthorization": {
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the workspace resources."
+ },
+ "roleDefinitionId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The provider's role definition identifier. This role will define all the permissions that the provider must have on the workspace's container resource group. This role definition cannot have permission to delete the resource group."
+ }
+ },
+ "required": [
+ "principalId",
+ "roleDefinitionId"
+ ],
+ "description": "The workspace provider authorization."
+ },
+ "WorkspaceUpdate": {
+ "description": "An update to a workspace.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "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.",
+ "type": "string"
+ }
+ },
+ "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/ErrorInfo"
+ }
+ },
+ "required": [
+ "error"
+ ]
+ },
+ "WorkspaceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Workspace"
+ },
+ "description": "The array of workspaces."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "List of workspaces."
+ },
+ "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.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type: Read, write, delete, etc.",
+ "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 Resource Provider operations supported by the Resource Provider resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "PrivateLinkResourcesList": {
+ "description": "The available private link resources for a workspace",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of available private link resources for a workspace",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GroupIdInformation"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of private link resources."
+ }
+ }
+ },
+ "GroupIdInformation": {
+ "description": "The group information for creating a private endpoint on a workspace",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "description": "The group id properties.",
+ "type": "object",
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/GroupIdInformationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "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": "List of private link connections.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The list of returned private endpoint connection."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of endpoint connections."
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "The private endpoint connection of a workspace",
+ "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."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "type": "object",
+ "description": "The private endpoint connection properties.",
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "The properties of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "title": "Private endpoint",
+ "description": "Private endpoint",
+ "$ref": "#/definitions/PrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "title": "Private link service service connection state",
+ "description": "Private endpoint connection state",
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState"
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState",
+ "description": "Provisioning state of the private endpoint connection."
+ }
+ },
+ "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"
+ },
+ "actionRequired": {
+ "type": "string",
+ "description": "Actions required for a private endpoint connection"
+ }
+ },
+ "required": [
+ "status"
+ ]
+ },
+ "PrivateEndpointConnectionProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for this operation."
+ },
+ "ResourceGroupName": {
+ "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"
+ },
+ "WorkspaceName": {
+ "name": "workspaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the workspace.",
+ "minLength": 3,
+ "maxLength": 64,
+ "x-ms-parameter-location": "method"
+ },
+ "PeeringNameParameter": {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the workspace vNet peering.",
+ "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/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/DisableEncryption.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/DisableEncryption.json
new file mode 100644
index 000000000000..9bdf25502922
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/DisableEncryption.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "workspaceName": "myWorkspace",
+ "api-version": "2021-04-01-preview",
+ "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/preview/2021-04-01-preview/examples/EnableEncryption.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/EnableEncryption.json
new file mode 100644
index 000000000000..8efea04befb9
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/EnableEncryption.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "workspaceName": "myWorkspace",
+ "api-version": "2021-04-01-preview",
+ "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/preview/2021-04-01-preview/examples/ListPrivateEndpointConnections.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/ListPrivateEndpointConnections.json
new file mode 100644
index 000000000000..98612810f524
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/ListPrivateEndpointConnections.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "workspaceName": "myWorkspace",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-04-01",
+ "subscriptionId": "11111111-1111-1111-1111-111111111111"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Databricks/workspaces/myWorkspace/PrivateEndpointConnections/myWorkspace.23456789-1111-1111-1111-111111111111",
+ "name": "myWorkspace.23456789-1111-1111-1111-111111111111",
+ "type": "Microsoft.Databricks/workspaces/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@company.com",
+ "actionRequired": "None"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/ListPrivateLinkResources.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/ListPrivateLinkResources.json
new file mode 100644
index 000000000000..fc61ada36658
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/ListPrivateLinkResources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "workspaceName": "myWorkspace",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-04-01",
+ "subscriptionId": "11111111-1111-1111-1111-111111111111"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Databricks/workspaces/myWorkspace/PrivateLinkResources/databricks_ui_api",
+ "name": "databricks_ui_api",
+ "type": "Microsoft.Databricks/workspaces/PrivateLinkResources",
+ "properties": {
+ "groupId": "databricks_ui_api",
+ "requiredMembers": [
+ "databricks_ui_api"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azuredatabricks.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/OperationsList.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/OperationsList.json
new file mode 100644
index 000000000000..a49a86936313
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/OperationsList.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "Microsoft.Databricks/workspaces/read",
+ "display": {
+ "provider": "Microsoft Databricks",
+ "resource": "Workspace",
+ "operation": "List Workspaces",
+ "description": "Retrieves a list of workspaces."
+ }
+ },
+ {
+ "name": "Microsoft.Databricks/workspaces/write",
+ "display": {
+ "provider": "Microsoft Databricks",
+ "resource": "Workspace",
+ "operation": "Create Workspace",
+ "description": "Creates an workspace."
+ }
+ },
+ {
+ "name": "Microsoft.Databricks/workspaces/delete",
+ "display": {
+ "provider": "Microsoft Databricks",
+ "resource": "Workspace",
+ "operation": "Remove Workspace",
+ "description": "Removes an workspace."
+ }
+ },
+ {
+ "name": "Microsoft.Databricks/workspaces/virtualNetworkPeerings/read",
+ "display": {
+ "provider": "Microsoft Databricks",
+ "resource": "Virtual Network Peering",
+ "operation": "Get Virtual Network Peering",
+ "description": "Gets the virtual network peering."
+ }
+ },
+ {
+ "name": "Microsoft.Databricks/workspaces/virtualNetworkPeerings/write",
+ "display": {
+ "provider": "Microsoft Databricks",
+ "resource": "Virtual Network Peering",
+ "operation": "Add Virtual Network Peering",
+ "description": "Add or modify virtual network peering"
+ }
+ },
+ {
+ "name": "Microsoft.Databricks/workspaces/virtualNetworkPeerings/delete",
+ "display": {
+ "provider": "Microsoft Databricks",
+ "resource": "Virtual Network Peering",
+ "operation": "Delete Virtual Network Peering",
+ "description": "Deletes a virtual network peering"
+ }
+ },
+ {
+ "name": "Microsoft.Databricks/workspaces/PrivateLinkResources/read",
+ "display": {
+ "provider": "Microsoft Databricks",
+ "resource": "Private Link Resources",
+ "operation": "List Private Link Resources",
+ "description": "Retrieve List of Private Link Resources"
+ }
+ },
+ {
+ "name": "Microsoft.Databricks/workspaces/PrivateEndpointConnections/read",
+ "display": {
+ "provider": "Microsoft Databricks",
+ "resource": "Private Endpoint Connection",
+ "operation": "List Private Endpoint Connections",
+ "description": "Retrieve List of Private Endpoint Connections"
+ }
+ },
+ {
+ "name": "Microsoft.Databricks/workspaces/PrivateEndpointConnections/write",
+ "display": {
+ "provider": "Microsoft Databricks",
+ "resource": "Private Endpoint Connection",
+ "operation": "Update Private Endpoint Connection",
+ "description": "Update a virtual network peering"
+ }
+ },
+ {
+ "name": "Microsoft.Databricks/workspaces/PrivateEndpointConnections/delete",
+ "display": {
+ "provider": "Microsoft Databricks",
+ "resource": "Private Endpoint Connection",
+ "operation": "Delete Private Endpoint Connection",
+ "description": "Delete a Private Endpoint Connection"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/PrepareEncryption.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/PrepareEncryption.json
new file mode 100644
index 000000000000..8c4b7507e315
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/PrepareEncryption.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "workspaceName": "myWorkspace",
+ "api-version": "2021-04-01-preview",
+ "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/Microsoft.Databricks/preview/2021-04-01-preview/examples/PrivateEndpointConnectionsDelete.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/PrivateEndpointConnectionsDelete.json
new file mode 100644
index 000000000000..c1163754e82a
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/PrivateEndpointConnectionsDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "workspaceName": "myWorkspace",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-04-01",
+ "subscriptionId": "11111111-1111-1111-1111-111111111111",
+ "privateEndpointConnectionName": "myWorkspace.23456789-1111-1111-1111-111111111111"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/PrivateEndpointConnectionsGet.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/PrivateEndpointConnectionsGet.json
new file mode 100644
index 000000000000..1848c15d34a5
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/PrivateEndpointConnectionsGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "workspaceName": "myWorkspace",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-04-01",
+ "subscriptionId": "11111111-1111-1111-1111-111111111111",
+ "privateEndpointConnectionName": "myWorkspace.23456789-1111-1111-1111-111111111111"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Databricks/workspaces/myWorkspace/PrivateEndpointConnections/myWorkspace.23456789-1111-1111-1111-111111111111",
+ "name": "myWorkspace.23456789-1111-1111-1111-111111111111",
+ "type": "Microsoft.Databricks/workspaces/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request!",
+ "actionRequired": "None"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/PrivateEndpointConnectionsUpdate.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/PrivateEndpointConnectionsUpdate.json
new file mode 100644
index 000000000000..a3960ca636bf
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/PrivateEndpointConnectionsUpdate.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "workspaceName": "myWorkspace",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-04-01",
+ "subscriptionId": "11111111-1111-1111-1111-111111111111",
+ "privateEndpointConnectionName": "myWorkspace.23456789-1111-1111-1111-111111111111",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by databricksadmin@contoso.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Databricks/workspaces/myWorkspace/PrivateEndpointConnections/myWorkspace.23456789-1111-1111-1111-111111111111",
+ "name": "myWorkspace.23456789-1111-1111-1111-111111111111",
+ "type": "Microsoft.Databricks/workspaces/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by databricksadmin@contoso.com",
+ "actionRequired": "None"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Databricks/workspaces/myWorkspace/PrivateEndpointConnections/myWorkspace.23456789-1111-1111-1111-111111111111",
+ "name": "myWorkspace.23456789-1111-1111-1111-111111111111",
+ "type": "Microsoft.Databricks/workspaces/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by databricksadmin@contoso.com",
+ "actionRequired": "None"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/PrivateLinkResourcesGet.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/PrivateLinkResourcesGet.json
new file mode 100644
index 000000000000..b4651f2cfd5e
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/PrivateLinkResourcesGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "resourceGroupName": "myResourceGroup",
+ "workspaceName": "myWorkspace",
+ "api-version": "2018-04-01",
+ "subscriptionId": "11111111-1111-1111-1111-111111111111",
+ "groupId": "databricks_ui_api"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Databricks/workspaces/myWorkspace/PrivateLinkResources/databricks_ui_api",
+ "name": "databricks_ui_api",
+ "type": "Microsoft.Databricks/workspaces/PrivateLinkResources",
+ "properties": {
+ "groupId": "databricks_ui_api",
+ "requiredMembers": [
+ "databricks_ui_api"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azuredatabricks.net"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceCreate.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceCreate.json
new file mode 100644
index 000000000000..d6c4dd1e3514
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceCreate.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "workspaceName": "myWorkspace",
+ "api-version": "2021-04-01-preview",
+ "parameters": {
+ "properties": {
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG"
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace",
+ "type": "Microsoft.Databricks/workspaces",
+ "location": "East US 2",
+ "tags": null,
+ "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",
+ "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/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceCreateWithParameters.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceCreateWithParameters.json
new file mode 100644
index 000000000000..ce768155ba8d
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceCreateWithParameters.json
@@ -0,0 +1,114 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "workspaceName": "myWorkspace",
+ "api-version": "2021-04-01-preview",
+ "parameters": {
+ "properties": {
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "parameters": {
+ "customVirtualNetworkId": {
+ "value": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/myNetwork"
+ },
+ "customPublicSubnetName": {
+ "value": "myPublicSubnet"
+ },
+ "customPrivateSubnetName": {
+ "value": "myPrivateSubnet"
+ }
+ }
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace",
+ "type": "Microsoft.Databricks/workspaces",
+ "location": "East US 2",
+ "tags": null,
+ "sku": {
+ "name": "premium"
+ },
+ "properties": {
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "parameters": {
+ "customPrivateSubnetName": {
+ "type": "String",
+ "value": "myPrivateSubnet"
+ },
+ "customPublicSubnetName": {
+ "type": "String",
+ "value": "myPublicSubnet"
+ },
+ "customVirtualNetworkId": {
+ "type": "String",
+ "value": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/myNetwork"
+ }
+ },
+ "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"
+ },
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceDelete.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceDelete.json
new file mode 100644
index 000000000000..05af344d0daf
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "workspaceName": "myWorkspace",
+ "resourceGroupName": "rg",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceGet.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceGet.json
new file mode 100644
index 000000000000..2f539e15a822
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceGet.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "workspaceName": "myWorkspace",
+ "api-version": "2021-04-01-preview"
+ },
+ "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"
+ },
+ "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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceGetParameters.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceGetParameters.json
new file mode 100644
index 000000000000..4303393227fd
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceGetParameters.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "workspaceName": "myWorkspace",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myWorkspace",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace",
+ "type": "Microsoft.Databricks/workspaces",
+ "location": "East US 2",
+ "sku": {
+ "name": "premium"
+ },
+ "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"
+ }
+ },
+ "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"
+ },
+ "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",
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace/privateEndpointConnections/myWorkspace.23456789-1111-1111-1111-111111111111",
+ "name": "myWorkspace.23456789-1111-1111-1111-111111111111",
+ "type": "Microsoft.Databricks/workspaces/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionRequired": "None"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "publicNetworkAccess": "Disabled",
+ "requiredNsgRules": "NoAzureDatabricksRules"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceUpdate.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceUpdate.json
new file mode 100644
index 000000000000..8ff14cad25a2
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspaceUpdate.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "workspaceName": "myWorkspace",
+ "api-version": "2021-04-01-preview",
+ "parameters": {
+ "tags": {
+ "mytag1": "myvalue1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace",
+ "type": "Microsoft.Databricks/workspaces",
+ "location": "East US 2",
+ "tags": {
+ "mytag1": "myvalue1"
+ },
+ "sku": {
+ "name": "premium"
+ },
+ "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"
+ },
+ "updatedBy": {
+ "oid": "22222222-2222-2222-2222-222222222222",
+ "puid": "33333333",
+ "applicationId": "44444444-4444-4444-4444-444444444444"
+ },
+ "createdDateTime": "2020-02-20T00:10:29.2858439Z",
+ "workspaceId": "6666666666666666",
+ "workspaceUrl": "adb-6666666666666666.19.azuredatabricks.net"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspacesListByResourceGroup.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspacesListByResourceGroup.json
new file mode 100644
index 000000000000..6463c44a9940
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspacesListByResourceGroup.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "myWorkspace1",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace1",
+ "type": "Microsoft.Databricks/workspaces",
+ "location": "East US 2",
+ "tags": null,
+ "sku": {
+ "name": "premium"
+ },
+ "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"
+ },
+ "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"
+ }
+ },
+ {
+ "name": "myWorkspace2",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace2",
+ "type": "Microsoft.Databricks/workspaces",
+ "location": "East US 2",
+ "tags": null,
+ "sku": {
+ "name": "standard"
+ },
+ "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"
+ },
+ "updatedBy": {
+ "oid": "22222222-2222-2222-2222-222222222222",
+ "puid": "33333333",
+ "applicationId": "44444444-4444-4444-4444-444444444444"
+ },
+ "createdDateTime": "2020-02-20T00:10:29.2858439Z",
+ "workspaceId": "6666666666666666",
+ "workspaceUrl": "adb-6666666666666666.19.azuredatabricks.net"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspacesListBySubscription.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspacesListBySubscription.json
new file mode 100644
index 000000000000..45eb4534bde9
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/examples/WorkspacesListBySubscription.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "myWorkspace1",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace1",
+ "type": "Microsoft.Databricks/workspaces",
+ "location": "East US 2",
+ "tags": null,
+ "sku": {
+ "name": "premium"
+ },
+ "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"
+ },
+ "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"
+ }
+ },
+ {
+ "name": "myWorkspace2",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace2",
+ "type": "Microsoft.Databricks/workspaces",
+ "location": "East US 2",
+ "tags": null,
+ "sku": {
+ "name": "standard"
+ },
+ "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"
+ },
+ "updatedBy": {
+ "oid": "22222222-2222-2222-2222-222222222222",
+ "puid": "33333333",
+ "applicationId": "44444444-4444-4444-4444-444444444444"
+ },
+ "createdDateTime": "2020-02-20T00:10:29.2858439Z",
+ "workspaceId": "6666666666666666",
+ "workspaceUrl": "adb-6666666666666666.19.azuredatabricks.net"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
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 52958f7bfee4..c0472ec55aad 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
@@ -325,205 +325,6 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/virtualNetworkPeerings/{peeringName}": {
- "get": {
- "tags": [
- "vNetPeering"
- ],
- "operationId": "vNetPeering_Get",
- "description": "Gets the workspace vNet Peering.",
- "x-ms-examples": {
- "Get a workspace with vNet Peering Configured": {
- "$ref": "./examples/WorkspaceVirtualNetPeeringGet.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/WorkspaceName"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/PeeringNameParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/VirtualNetworkPeering"
- }
- },
- "204": {
- "description": "OK - NoContent"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- }
- },
- "delete": {
- "tags": [
- "vNetPeering"
- ],
- "operationId": "vNetPeering_Delete",
- "description": "Deletes the workspace vNetPeering.",
- "x-ms-examples": {
- "Delete a workspace vNet Peering": {
- "$ref": "./examples/WorkspaceVirtualNetworkPeeringDelete.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/WorkspaceName"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/PeeringNameParameter"
- }
- ],
- "responses": {
- "202": {
- "description": "Accepted - Returns this status until the asynchronous operation has completed."
- },
- "204": {
- "description": "NoContent"
- },
- "200": {
- "description": "OK. The request has succeeded."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-long-running-operation": true
- },
- "put": {
- "tags": [
- "vNetPeering"
- ],
- "operationId": "vNetPeering_CreateOrUpdate",
- "description": "Creates vNet Peering for workspace.",
- "x-ms-examples": {
- "Create vNet Peering for Workspace": {
- "$ref": "./examples/WorkspaceVirtualNetworkPeeringCreateOrUpdate.json"
- }
- },
- "parameters": [
- {
- "name": "VirtualNetworkPeeringParameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/VirtualNetworkPeering"
- },
- "description": "Parameters supplied to the create workspace vNet Peering."
- },
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/WorkspaceName"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/PeeringNameParameter"
- }
- ],
- "responses": {
- "201": {
- "description": "Created - Returns information about the workspace vNet peering, including provisioning status.",
- "schema": {
- "$ref": "#/definitions/VirtualNetworkPeering"
- }
- },
- "200": {
- "description": "Update succeeded - Returns information about the workspace vNet peering.",
- "schema": {
- "$ref": "#/definitions/VirtualNetworkPeering"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/virtualNetworkPeerings": {
- "get": {
- "tags": [
- "vNetPeering"
- ],
- "operationId": "vNetPeering_ListByWorkspace",
- "description": "Lists the workspace vNet Peerings.",
- "x-ms-examples": {
- "List all vNet Peerings for the workspace": {
- "$ref": "./examples/WorkspaceVirtualNetPeeringList.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupName"
- },
- {
- "$ref": "#/parameters/WorkspaceName"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "List succeeded. Returns the resulting resource objects in response body.",
- "schema": {
- "$ref": "#/definitions/VirtualNetworkPeeringList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
"/providers/Microsoft.Databricks/operations": {
"get": {
"tags": [
@@ -734,21 +535,6 @@
"modelAsString": true
}
},
- "PeeringProvisioningState": {
- "type": "string",
- "readOnly": true,
- "description": "The current provisioning state.",
- "enum": [
- "Succeeded",
- "Updating",
- "Deleting",
- "Failed"
- ],
- "x-ms-enum": {
- "name": "PeeringProvisioningState",
- "modelAsString": true
- }
- },
"ManagedIdentityConfiguration": {
"description": "The Managed Identity details for storage account.",
"properties": {
@@ -1131,132 +917,6 @@
"description": "URL to get the next set of operation list results if there are any."
}
}
- },
- "VirtualNetworkPeeringList": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/VirtualNetworkPeering"
- },
- "description": "List of virtual network peerings on workspace."
- },
- "nextLink": {
- "type": "string",
- "description": "URL to get the next set of virtual network peering list results if there are any."
- }
- },
- "description": "Gets all virtual network peerings under a workspace."
- },
- "VirtualNetworkPeering": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/VirtualNetworkPeeringPropertiesFormat",
- "description": "List of properties for vNet Peering"
- },
- "name": {
- "type": "string",
- "description": "Name of the virtual network peering resource",
- "readOnly": true
- },
- "id": {
- "type": "string",
- "description": "Resource ID.",
- "readOnly": true
- },
- "type": {
- "type": "string",
- "description": "type of the virtual network peering resource",
- "readOnly": true
- }
- },
- "required": [
- "properties"
- ],
- "description": "Peerings in a VirtualNetwork resource",
- "x-ms-azure-resource": true
- },
- "VirtualNetworkPeeringPropertiesFormat": {
- "properties": {
- "allowVirtualNetworkAccess": {
- "type": "boolean",
- "description": "Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space."
- },
- "allowForwardedTraffic": {
- "type": "boolean",
- "description": "Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network."
- },
- "allowGatewayTransit": {
- "type": "boolean",
- "description": "If gateway links can be used in remote virtual networking to link to this virtual network."
- },
- "useRemoteGateways": {
- "type": "boolean",
- "description": "If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway."
- },
- "databricksVirtualNetwork": {
- "properties": {
- "id": {
- "type": "string",
- "description": "The Id of the databricks virtual network."
- }
- },
- "description": " The remote virtual network should be in the same region. See here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering)."
- },
- "databricksAddressSpace": {
- "$ref": "#/definitions/AddressSpace",
- "description": "The reference to the databricks virtual network address space."
- },
- "remoteVirtualNetwork": {
- "properties": {
- "id": {
- "type": "string",
- "description": "The Id of the remote virtual network."
- }
- },
- "description": " The remote virtual network should be in the same region. See here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering)."
- },
- "remoteAddressSpace": {
- "$ref": "#/definitions/AddressSpace",
- "description": "The reference to the remote virtual network address space."
- },
- "peeringState": {
- "type": "string",
- "description": "The status of the virtual network peering.",
- "enum": [
- "Initiated",
- "Connected",
- "Disconnected"
- ],
- "x-ms-enum": {
- "name": "peeringState",
- "modelAsString": true
- },
- "readOnly": true
- },
- "provisioningState": {
- "readOnly": true,
- "$ref": "#/definitions/PeeringProvisioningState",
- "description": "The provisioning state of the virtual network peering resource."
- }
- },
- "required": [
- "remoteVirtualNetwork"
- ],
- "description": "Properties of the virtual network peering."
- },
- "AddressSpace": {
- "properties": {
- "addressPrefixes": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "A list of address blocks reserved for this virtual network in CIDR notation."
- }
- },
- "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network."
}
},
"parameters": {
@@ -1294,14 +954,6 @@
"minLength": 3,
"maxLength": 64,
"x-ms-parameter-location": "method"
- },
- "PeeringNameParameter": {
- "name": "peeringName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the workspace vNet peering.",
- "x-ms-parameter-location": "method"
}
}
}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/vnetpeering.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/vnetpeering.json
new file mode 100644
index 000000000000..c88a288c5d03
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/vnetpeering.json
@@ -0,0 +1,490 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "DatabricksClient",
+ "version": "2018-04-01",
+ "description": "ARM Databricks"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/virtualNetworkPeerings/{peeringName}": {
+ "get": {
+ "tags": [
+ "vNetPeering"
+ ],
+ "operationId": "vNetPeering_Get",
+ "description": "Gets the workspace vNet Peering.",
+ "x-ms-examples": {
+ "Get a workspace with vNet Peering Configured": {
+ "$ref": "./examples/WorkspaceVirtualNetPeeringGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PeeringNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkPeering"
+ }
+ },
+ "204": {
+ "description": "OK - NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "vNetPeering"
+ ],
+ "operationId": "vNetPeering_Delete",
+ "description": "Deletes the workspace vNetPeering.",
+ "x-ms-examples": {
+ "Delete a workspace vNet Peering": {
+ "$ref": "./examples/WorkspaceVirtualNetworkPeeringDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PeeringNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted - Returns this status until the asynchronous operation has completed."
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "put": {
+ "tags": [
+ "vNetPeering"
+ ],
+ "operationId": "vNetPeering_CreateOrUpdate",
+ "description": "Creates vNet Peering for workspace.",
+ "x-ms-examples": {
+ "Create vNet Peering for Workspace": {
+ "$ref": "./examples/WorkspaceVirtualNetworkPeeringCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "VirtualNetworkPeeringParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkPeering"
+ },
+ "description": "Parameters supplied to the create workspace vNet Peering."
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PeeringNameParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created - Returns information about the workspace vNet peering, including provisioning status.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkPeering"
+ }
+ },
+ "200": {
+ "description": "Update succeeded - Returns information about the workspace vNet peering.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkPeering"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/virtualNetworkPeerings": {
+ "get": {
+ "tags": [
+ "vNetPeering"
+ ],
+ "operationId": "vNetPeering_ListByWorkspace",
+ "description": "Lists the workspace vNet Peerings.",
+ "x-ms-examples": {
+ "List all vNet Peerings for the workspace": {
+ "$ref": "./examples/WorkspaceVirtualNetPeeringList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List succeeded. Returns the resulting resource objects in response body.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkPeeringList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "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"
+ }
+ },
+ "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.",
+ "type": "string"
+ }
+ },
+ "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/ErrorInfo"
+ }
+ },
+ "required": [
+ "error"
+ ]
+ },
+ "VirtualNetworkPeeringList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkPeering"
+ },
+ "description": "List of virtual network peerings on workspace."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of virtual network peering list results if there are any."
+ }
+ },
+ "description": "Gets all virtual network peerings under a workspace."
+ },
+ "VirtualNetworkPeering": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualNetworkPeeringPropertiesFormat",
+ "description": "List of properties for vNet Peering"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the virtual network peering resource",
+ "readOnly": true
+ },
+ "id": {
+ "type": "string",
+ "description": "Resource ID.",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "type of the virtual network peering resource",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "Peerings in a VirtualNetwork resource",
+ "x-ms-azure-resource": true
+ },
+ "VirtualNetworkPeeringPropertiesFormat": {
+ "properties": {
+ "allowVirtualNetworkAccess": {
+ "type": "boolean",
+ "description": "Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space."
+ },
+ "allowForwardedTraffic": {
+ "type": "boolean",
+ "description": "Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network."
+ },
+ "allowGatewayTransit": {
+ "type": "boolean",
+ "description": "If gateway links can be used in remote virtual networking to link to this virtual network."
+ },
+ "useRemoteGateways": {
+ "type": "boolean",
+ "description": "If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway."
+ },
+ "databricksVirtualNetwork": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The Id of the databricks virtual network."
+ }
+ },
+ "description": " The remote virtual network should be in the same region. See here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering)."
+ },
+ "databricksAddressSpace": {
+ "$ref": "#/definitions/AddressSpace",
+ "description": "The reference to the databricks virtual network address space."
+ },
+ "remoteVirtualNetwork": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The Id of the remote virtual network."
+ }
+ },
+ "description": " The remote virtual network should be in the same region. See here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering)."
+ },
+ "remoteAddressSpace": {
+ "$ref": "#/definitions/AddressSpace",
+ "description": "The reference to the remote virtual network address space."
+ },
+ "peeringState": {
+ "type": "string",
+ "description": "The status of the virtual network peering.",
+ "enum": [
+ "Initiated",
+ "Connected",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "peeringState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "#/definitions/PeeringProvisioningState",
+ "description": "The provisioning state of the virtual network peering resource."
+ }
+ },
+ "required": [
+ "remoteVirtualNetwork"
+ ],
+ "description": "Properties of the virtual network peering."
+ },
+ "PeeringProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PeeringProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "AddressSpace": {
+ "properties": {
+ "addressPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of address blocks reserved for this virtual network in CIDR notation."
+ }
+ },
+ "description": "AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network."
+ }
+ },
+ "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."
+ },
+ "ResourceGroupName": {
+ "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"
+ },
+ "WorkspaceName": {
+ "name": "workspaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the workspace.",
+ "minLength": 3,
+ "maxLength": 64,
+ "x-ms-parameter-location": "method"
+ },
+ "PeeringNameParameter": {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the workspace vNet peering.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/databricks/resource-manager/readme.go.md b/specification/databricks/resource-manager/readme.go.md
index ffcc90680a7a..867cec609286 100644
--- a/specification/databricks/resource-manager/readme.go.md
+++ b/specification/databricks/resource-manager/readme.go.md
@@ -13,8 +13,17 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-04-01-preview
- tag: package-2018-04-01
```
+### Tag: package-2021-04-01-preview and go
+
+These settings apply only when `--tag=package-2021-04-01-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2021-04-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-04-01-preview/$(namespace)
+```
### Tag: package-2018-04-01 and go
diff --git a/specification/databricks/resource-manager/readme.md b/specification/databricks/resource-manager/readme.md
index 20ac8b9c6fb4..c24f7a2e0ec5 100644
--- a/specification/databricks/resource-manager/readme.md
+++ b/specification/databricks/resource-manager/readme.md
@@ -12,9 +12,23 @@ This is the AutoRest configuration file for Databricks.
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2021-04-01-preview
- tag: package-2018-04-01
```
+### Tag: package-2021-04-01-preview and java
+
+These settings apply only when `--tag=package-2021-04-01-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2021-04-01-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databricks.v2021_04_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/databricks/mgmt-v2021_04_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2018-04-01 and java
These settings apply only when `--tag=package-2018-04-01 --java` is specified on the command line.
@@ -47,11 +61,12 @@ To see additional help and options, run:
These are the global settings for the Databricks API.
``` yaml
+title: AzureDatabricksManagementClient
+description: 'The Microsoft Azure management APIs allow end users to operate on Azure Databricks Workspace resources.'
openapi-type: arm
-tag: package-2018-04-01
+tag: package-2021-04-01-preview
```
-
### Tag: package-2018-04-01
These settings apply only when `--tag=package-2018-04-01` is specified on the command line.
@@ -59,6 +74,17 @@ These settings apply only when `--tag=package-2018-04-01` is specified on the co
``` yaml $(tag) == 'package-2018-04-01'
input-file:
- Microsoft.Databricks/stable/2018-04-01/databricks.json
+- Microsoft.Databricks/stable/2018-04-01/vnetpeering.json
+```
+
+### Tag: package-2021-04-01-preview
+
+These settings apply only when `--tag=package-2021-04-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-04-01-preview'
+input-file:
+- Microsoft.Databricks/preview/2021-04-01-preview/databricks.json
+- Microsoft.Databricks/stable/2018-04-01/vnetpeering.json
```
---
@@ -70,6 +96,8 @@ directive:
from: databricks.json
where: $.definitions.Encryption.properties.KeyName
reason: Response from service is not camel case
+ - suppress: RequiredReadOnlySystemData
+ reason: We do not yet support system data. Currently our system support system data inside property field.
```
---
@@ -83,7 +111,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-powershell
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
diff --git a/specification/databricks/resource-manager/readme.python.md b/specification/databricks/resource-manager/readme.python.md
index db27747a5363..d3eb2d7b886c 100644
--- a/specification/databricks/resource-manager/readme.python.md
+++ b/specification/databricks/resource-manager/readme.python.md
@@ -2,43 +2,22 @@
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.databricks
- package-name: azure-mgmt-databricks
- package-version: 0.1.0
- clear-output-folder: true
-```
-``` yaml $(python) && $(track2)
-python-mode: create
+``` yaml $(track2)
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
-namespace: azure.mgmt.databricks
package-name: azure-mgmt-databricks
-package-version: 0.1.0
+no-namespace-folders: true
+package-version: 1.0.0b1
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/databricks/azure-mgmt-databricks/azure/mgmt/databricks
-```
-``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/databricks/azure-mgmt-databricks
-```
-``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+
+``` yaml $(python-mode) == 'update' && $(track2)
no-namespace-folders: true
output-folder: $(python-sdks-folder)/databricks/azure-mgmt-databricks/azure/mgmt/databricks
```
-``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+
+``` yaml $(python-mode) == 'create' && $(track2)
basic-setup-py: true
output-folder: $(python-sdks-folder)/databricks/azure-mgmt-databricks
```
diff --git a/specification/datadog/resource-manager/readme.python.md b/specification/datadog/resource-manager/readme.python.md
index 124f4d5697c1..c582dc438281 100644
--- a/specification/datadog/resource-manager/readme.python.md
+++ b/specification/datadog/resource-manager/readme.python.md
@@ -12,6 +12,8 @@ azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
package-name: azure-mgmt-datadog
no-namespace-folders: true
+package-version: 1.0.0b1
+clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update' && $(track2)
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 074c69297192..a2cfe858338e 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
@@ -946,6 +946,51 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/outboundNetworkDependenciesEndpoints": {
+ "get": {
+ "tags": [
+ "integrationRuntimes"
+ ],
+ "operationId": "IntegrationRuntimes_ListOutboundNetworkDependenciesEndpoints",
+ "description": "Gets the list of outbound network dependencies for a given Azure-SSIS integration runtime.",
+ "x-ms-examples": {
+ "IntegrationRuntimes_OutboundNetworkDependenciesEndpoints": {
+ "$ref": "./examples/IntegrationRuntimes_ListOutboundNetworkDependenciesEndpoints.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/integrationRuntimeName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "./entityTypes/IntegrationRuntime.json#/definitions/IntegrationRuntimeOutboundNetworkDependenciesEndpointsResponse"
+ }
+ },
+ "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}/integrationRuntimes/{integrationRuntimeName}/getConnectionInfo": {
"post": {
"tags": [
@@ -5012,6 +5057,28 @@
"hostName": {
"description": "GitHub Enterprise host name. For example: https://github.mydomain.com",
"type": "string"
+ },
+ "clientId": {
+ "description": "GitHub bring your own app client id.",
+ "type": "string"
+ },
+ "clientSecret": {
+ "$ref": "#/definitions/GitHubClientSecret",
+ "description": "GitHub bring your own app client secret information."
+ }
+ }
+ },
+ "GitHubClientSecret": {
+ "description": "Client secret information for factory's bring your own app repository configuration.",
+ "type": "object",
+ "properties": {
+ "byoaSecretAkvUrl": {
+ "description": "Bring your own app client secret AKV URL.",
+ "type": "string"
+ },
+ "byoaSecretName": {
+ "description": "Bring your own app client secret name in AKV.",
+ "type": "string"
}
}
},
@@ -5039,6 +5106,10 @@
"description": "GitHub application client ID.",
"type": "string"
},
+ "gitHubClientSecret": {
+ "$ref": "#/definitions/GitHubClientSecret",
+ "description": "GitHub bring your own app client secret information."
+ },
"gitHubAccessTokenBaseUrl": {
"description": "GitHub access token base URL.",
"type": "string"
@@ -5764,6 +5835,16 @@
"description": "The type of the entity that started the run.",
"type": "string",
"readOnly": true
+ },
+ "pipelineName": {
+ "description": "The name of the pipeline that triggered the run, if any.",
+ "type": "string",
+ "readOnly": true
+ },
+ "pipelineRunId": {
+ "description": "The run id of the pipeline that triggered the run, if any.",
+ "type": "string",
+ "readOnly": true
}
}
},
@@ -6868,6 +6949,48 @@
"readOnly": true
}
}
+ },
+ "CredentialReference": {
+ "description": "Credential reference type.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Credential reference type.",
+ "enum": [
+ "CredentialReference"
+ ]
+ },
+ "referenceName": {
+ "type": "string",
+ "description": "Reference credential name."
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ },
+ "required": [
+ "type",
+ "referenceName"
+ ]
+ },
+ "CredentialResource": {
+ "description": "Credential resource type.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "./entityTypes/Credential.json#/definitions/Credential",
+ "description": "Properties of credentials."
+ }
+ },
+ "required": [
+ "properties"
+ ]
}
},
"parameters": {
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Credential.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Credential.json
new file mode 100644
index 000000000000..f64d5d79e649
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Credential.json
@@ -0,0 +1,103 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "DataFactoryManagementClient",
+ "version": "2018-06-01"
+ },
+ "paths": {},
+ "definitions": {
+ "Credential": {
+ "description": "The Azure Data Factory nested object which contains the information and credential which can be used to connect with related store or compute resource.",
+ "type": "object",
+ "discriminator": "type",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Type of credential."
+ },
+ "description": {
+ "description": "Credential description.",
+ "type": "string"
+ },
+ "annotations": {
+ "description": "List of tags that can be used for describing the Credential.",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "ServicePrincipalCredential": {
+ "x-ms-discriminator-value": "ServicePrincipal",
+ "description": "Service principal credential.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Credential"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Service Principal credential properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ServicePrincipalCredentialTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "ServicePrincipalCredentialTypeProperties": {
+ "description": "Service Principal credential type properties.",
+ "type": "object",
+ "properties": {
+ "servicePrincipalId": {
+ "type": "object",
+ "description": "The app ID of the service principal used to authenticate"
+ },
+ "servicePrincipalKey": {
+ "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference",
+ "description": "The key of the service principal used to authenticate."
+ },
+ "tenant": {
+ "type": "object",
+ "description": "The ID of the tenant to which the service principal belongs"
+ }
+ }
+ },
+ "ManagedIdentityCredential": {
+ "x-ms-discriminator-value": "ManagedIdentity",
+ "description": "Managed identity credential.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Credential"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Managed identity credential properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ManagedIdentityTypeProperties"
+ }
+ }
+ },
+ "ManagedIdentityTypeProperties": {
+ "description": "Managed identity type properties.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The resource id of user assigned managed identity"
+ }
+ }
+ }
+ }
+}
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 d403dc5bc04d..466271b794e9 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
@@ -451,8 +451,8 @@
"type": "object",
"properties": {
"type": {
- "type": "string",
- "description": "Type of dataset compression."
+ "type": "object",
+ "description": "Type of dataset compression. Type: string (or Expression with resultType string)."
}
},
"additionalProperties": {
@@ -646,18 +646,8 @@
"description": "The location of the avro storage."
},
"avroCompressionCodec": {
- "type": "string",
- "enum": [
- "none",
- "deflate",
- "snappy",
- "xz",
- "bzip2"
- ],
- "x-ms-enum": {
- "name": "avroCompressionCodec",
- "modelAsString": true
- }
+ "type": "object",
+ "description": "The data avroCompressionCodec. Type: string (or Expression with resultType string)."
},
"avroCompressionLevel": {
"type": "integer",
@@ -669,6 +659,20 @@
"location"
]
},
+ "AvroCompressionCodec": {
+ "type": "string",
+ "enum": [
+ "none",
+ "deflate",
+ "snappy",
+ "xz",
+ "bzip2"
+ ],
+ "x-ms-enum": {
+ "name": "avroCompressionCodec",
+ "modelAsString": true
+ }
+ },
"ExcelDataset": {
"x-ms-discriminator-value": "Excel",
"description": "Excel dataset.",
@@ -943,23 +947,27 @@
"description": "The location of the ORC data storage."
},
"orcCompressionCodec": {
- "type": "string",
- "enum": [
- "none",
- "zlib",
- "snappy",
- "lzo"
- ],
- "x-ms-enum": {
- "name": "orcCompressionCodec",
- "modelAsString": true
- }
+ "type": "object",
+ "description": "The data orcCompressionCodec. Type: string (or Expression with resultType string)."
}
},
"required": [
"location"
]
},
+ "OrcCompressionCodec": {
+ "type": "string",
+ "enum": [
+ "none",
+ "zlib",
+ "snappy",
+ "lzo"
+ ],
+ "x-ms-enum": {
+ "name": "orcCompressionCodec",
+ "modelAsString": true
+ }
+ },
"BinaryDataset": {
"x-ms-discriminator-value": "Binary",
"description": "Binary dataset.",
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 160a73ec5a57..863bd385ae0f 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
@@ -153,6 +153,10 @@
"description": "Time to live (in minutes) setting of the cluster which will execute data flow job.",
"type": "integer",
"minimum": 0
+ },
+ "cleanup": {
+ "description": "Cluster will not be recycled and it will be used in next data flow activity run until TTL (time to live) is reached if this is set as false. Default is true.",
+ "type": "boolean"
}
},
"additionalProperties": {
@@ -178,6 +182,10 @@
"type": "string",
"description": "The ID of the public IP address."
}
+ },
+ "subnetId": {
+ "description": "The ID of subnet, to which this Azure-SSIS integration runtime will be joined.",
+ "type": "string"
}
},
"additionalProperties": {
@@ -238,9 +246,9 @@
"$ref": "#/definitions/PackageStore"
}
},
- "managedCredential": {
- "description": "The user-assigned managed identity reference.",
- "$ref": "#/definitions/EntityReference"
+ "credential": {
+ "$ref": "../datafactory.json#/definitions/CredentialReference",
+ "description": "The credential reference containing authentication information."
}
},
"additionalProperties": {
@@ -508,8 +516,7 @@
"type": "string",
"enum": [
"IntegrationRuntimeReference",
- "LinkedServiceReference",
- "CredentialReference"
+ "LinkedServiceReference"
],
"x-ms-enum": {
"name": "IntegrationRuntimeEntityReferenceType",
@@ -600,6 +607,64 @@
"resourceId"
]
},
+ "IntegrationRuntimeOutboundNetworkDependenciesEndpointsResponse": {
+ "description": "Azure-SSIS integration runtime outbound network dependency endpoints.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of outbound network dependency endpoints.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntegrationRuntimeOutboundNetworkDependenciesCategoryEndpoint"
+ }
+ }
+ }
+ },
+ "IntegrationRuntimeOutboundNetworkDependenciesCategoryEndpoint": {
+ "description": "Azure-SSIS integration runtime outbound network dependency endpoints for one category.",
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "The category of outbound network dependency.",
+ "type": "string"
+ },
+ "endpoints": {
+ "description": "The endpoints for outbound network dependency.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntegrationRuntimeOutboundNetworkDependenciesEndpoint"
+ }
+ }
+ }
+ },
+ "IntegrationRuntimeOutboundNetworkDependenciesEndpoint": {
+ "description": "The endpoint for Azure-SSIS integration runtime outbound network dependency.",
+ "type": "object",
+ "properties": {
+ "domainName": {
+ "description": "The domain name of endpoint.",
+ "type": "string"
+ },
+ "endpointDetails": {
+ "description": "The details of endpoint.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntegrationRuntimeOutboundNetworkDependenciesEndpointDetails"
+ }
+ }
+ }
+ },
+ "IntegrationRuntimeOutboundNetworkDependenciesEndpointDetails": {
+ "description": "The details of Azure-SSIS integration runtime outbound network dependency endpoint.",
+ "type": "object",
+ "properties": {
+ "port": {
+ "description": "The port of endpoint.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
"IntegrationRuntimeStatus": {
"description": "Integration runtime status.",
"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 71f9d12270d8..bde4d26c0db9 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
@@ -184,6 +184,10 @@
"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)."
+ },
+ "credential": {
+ "$ref": "../datafactory.json#/definitions/CredentialReference",
+ "description": "The credential reference containing authentication information."
}
}
},
@@ -237,6 +241,10 @@
"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)."
+ },
+ "credential": {
+ "$ref": "../datafactory.json#/definitions/CredentialReference",
+ "description": "The credential reference containing authentication information."
}
},
"required": [
@@ -345,6 +353,10 @@
"alwaysEncryptedSettings": {
"$ref": "#/definitions/SqlAlwaysEncryptedProperties",
"description": "Sql always encrypted properties."
+ },
+ "credential": {
+ "$ref": "../datafactory.json#/definitions/CredentialReference",
+ "description": "The credential reference containing authentication information."
}
},
"required": [
@@ -405,6 +417,10 @@
"alwaysEncryptedSettings": {
"$ref": "#/definitions/SqlAlwaysEncryptedProperties",
"description": "Sql always encrypted properties."
+ },
+ "credential": {
+ "$ref": "../datafactory.json#/definitions/CredentialReference",
+ "description": "The credential reference containing authentication information."
}
},
"required": [
@@ -485,6 +501,10 @@
"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)."
+ },
+ "credential": {
+ "$ref": "../datafactory.json#/definitions/CredentialReference",
+ "description": "The credential reference containing authentication information."
}
},
"required": [
@@ -520,6 +540,10 @@
"baseUrl": {
"type": "object",
"description": "The base URL of the Azure Key Vault. e.g. https://myakv.vault.azure.net Type: string (or Expression with resultType string)."
+ },
+ "credential": {
+ "$ref": "../datafactory.json#/definitions/CredentialReference",
+ "description": "The credential reference containing authentication information."
}
},
"required": [
@@ -1575,6 +1599,10 @@
"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)."
+ },
+ "authentication": {
+ "type": "object",
+ "description": "Type of authentication (Required to specify MSI) used to connect to AzureML. Type: string (or Expression with resultType string)."
}
},
"required": [
@@ -2275,6 +2303,10 @@
"CosmosDbMongoDbApiLinkedServiceTypeProperties": {
"description": "CosmosDB (MongoDB API) linked service properties.",
"properties": {
+ "isServerVersionAbove32": {
+ "type": "object",
+ "description": "Whether the CosmosDB (MongoDB API) server version is higher than 3.2. The default value is false. Type: boolean (or Expression with resultType boolean)."
+ },
"connectionString": {
"description": "The CosmosDB (MongoDB API) connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.",
"type": "object"
@@ -2347,6 +2379,10 @@
"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)."
+ },
+ "credential": {
+ "$ref": "../datafactory.json#/definitions/CredentialReference",
+ "description": "The credential reference containing authentication information."
}
},
"required": [
@@ -2403,6 +2439,10 @@
"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)."
+ },
+ "credential": {
+ "$ref": "../datafactory.json#/definitions/CredentialReference",
+ "description": "The credential reference containing authentication information."
}
},
"required": [
@@ -2799,6 +2839,10 @@
"encryptedCredential": {
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
"type": "object"
+ },
+ "credential": {
+ "$ref": "../datafactory.json#/definitions/CredentialReference",
+ "description": "The credential reference containing authentication information."
}
},
"required": [
@@ -5317,6 +5361,10 @@
"subnetName": {
"type": "object",
"description": "The ARM resource ID for the subnet in the vNet. If virtualNetworkId was specified, then this property is required. Type: string (or Expression with resultType string)."
+ },
+ "credential": {
+ "$ref": "../datafactory.json#/definitions/CredentialReference",
+ "description": "The credential reference containing authentication information."
}
},
"required": [
@@ -5536,6 +5584,10 @@
"policyId": {
"type": "object",
"description": "The policy id for limiting the ability to configure clusters based on a user defined set of rules. Type: string (or Expression with resultType string)."
+ },
+ "credential": {
+ "$ref": "../datafactory.json#/definitions/CredentialReference",
+ "description": "The credential reference containing authentication information."
}
},
"required": [
@@ -5970,6 +6022,10 @@
"tenant": {
"type": "object",
"description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)."
+ },
+ "credential": {
+ "$ref": "../datafactory.json#/definitions/CredentialReference",
+ "description": "The credential reference containing authentication information."
}
},
"required": [
@@ -6011,6 +6067,18 @@
"encryptedCredential": {
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
"type": "object"
+ },
+ "credential": {
+ "$ref": "../datafactory.json#/definitions/CredentialReference",
+ "description": "The credential reference containing authentication information."
+ },
+ "resourceId": {
+ "description": "Allowed token audiences for azure function.",
+ "type": "object"
+ },
+ "authentication": {
+ "type": "object",
+ "description": "Type of authentication (Required to specify MSI) used to connect to AzureFunction. Type: string (or Expression with resultType string)."
}
},
"required": [
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 f8dbc3deed9d..384bdf1ee640 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
@@ -1329,11 +1329,8 @@
"description": "Avro store settings."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -1351,11 +1348,8 @@
"description": "Excel store settings."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -1373,11 +1367,8 @@
"description": "Parquet store settings."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -1399,11 +1390,8 @@
"description": "DelimitedText format settings."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -1425,11 +1413,8 @@
"description": "Json format settings."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -1451,11 +1436,8 @@
"description": "Xml format settings."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -1473,11 +1455,8 @@
"description": "ORC store settings."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -1714,11 +1693,8 @@
"description": "Query timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -1786,11 +1762,8 @@
"description": "Query timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -1820,11 +1793,8 @@
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -1842,11 +1812,8 @@
"description": "FetchXML is a proprietary query language that is used in Microsoft Dynamics (online & on-premises). Type: string (or Expression with resultType string)."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -1864,11 +1831,8 @@
"description": "FetchXML is a proprietary query language that is used in Microsoft Dynamics CRM (online & on-premises). Type: string (or Expression with resultType string)."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -1886,11 +1850,8 @@
"description": "FetchXML is a proprietary query language that is used in Microsoft Common Data Service for Apps (online & on-premises). Type: string (or Expression with resultType string)."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -1908,11 +1869,8 @@
"description": "Database query. Type: string (or Expression with resultType string)."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -1945,11 +1903,8 @@
"description": "Database query. Type: string (or Expression with resultType string)."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -2061,11 +2016,8 @@
"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:05:00. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -2122,11 +2074,8 @@
}
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -2366,11 +2315,8 @@
"description": "The time to await before sending next page request. "
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -2589,11 +2535,8 @@
"description": "If true, files under the folder path will be read recursively. Default is true. 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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -2675,11 +2618,8 @@
"description": "Query timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])).."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
},
"required": [
@@ -2712,11 +2652,8 @@
"$ref": "#/definitions/OraclePartitionSettings"
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -2797,11 +2734,8 @@
],
"properties": {
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -2854,11 +2788,8 @@
"description": "Database query. Should be a SQL-92 query expression. Type: string (or Expression with resultType string)."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -2888,11 +2819,8 @@
"description": "Query timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -2922,11 +2850,8 @@
"description": "Query timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -2956,11 +2881,8 @@
"description": "Query timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))."
},
"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).",
- "items": {
- "$ref": "#/definitions/AdditionalColumns"
- }
+ "type": "object",
+ "description": "Specifies the additional columns to be added to source data. Type: array of objects(AdditionalColumns) (or Expression with resultType array of objects)."
}
}
},
@@ -4141,6 +4063,19 @@
"tableOption": {
"type": "object",
"description": "The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string)."
+ },
+ "sqlWriterUseTableLock": {
+ "type": "object",
+ "description": "Whether to use table lock during bulk copy. Type: boolean (or Expression with resultType boolean)."
+ },
+ "writeBehavior": {
+ "type": "object",
+ "description": "Write behavior when copying data into sql. Type: SqlWriteBehaviorEnum (or Expression with resultType SqlWriteBehaviorEnum)"
+ },
+ "upsertSettings": {
+ "description": "SQL upsert settings.",
+ "type": "object",
+ "$ref": "#/definitions/SqlUpsertSettings"
}
}
},
@@ -4179,6 +4114,19 @@
"tableOption": {
"type": "object",
"description": "The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string)."
+ },
+ "sqlWriterUseTableLock": {
+ "type": "object",
+ "description": "Whether to use table lock during bulk copy. Type: boolean (or Expression with resultType boolean)."
+ },
+ "writeBehavior": {
+ "type": "object",
+ "description": "Write behavior when copying data into sql server. Type: SqlWriteBehaviorEnum (or Expression with resultType SqlWriteBehaviorEnum)"
+ },
+ "upsertSettings": {
+ "description": "SQL upsert settings.",
+ "type": "object",
+ "$ref": "#/definitions/SqlUpsertSettings"
}
}
},
@@ -4217,6 +4165,19 @@
"tableOption": {
"type": "object",
"description": "The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string)."
+ },
+ "sqlWriterUseTableLock": {
+ "type": "object",
+ "description": "Whether to use table lock during bulk copy. Type: boolean (or Expression with resultType boolean)."
+ },
+ "writeBehavior": {
+ "type": "object",
+ "description": "Write behavior when copying data into Azure SQL. Type: SqlWriteBehaviorEnum (or Expression with resultType SqlWriteBehaviorEnum)"
+ },
+ "upsertSettings": {
+ "description": "SQL upsert settings.",
+ "type": "object",
+ "$ref": "#/definitions/SqlUpsertSettings"
}
}
},
@@ -4255,6 +4216,19 @@
"tableOption": {
"type": "object",
"description": "The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string)."
+ },
+ "sqlWriterUseTableLock": {
+ "type": "object",
+ "description": "Whether to use table lock during bulk copy. Type: boolean (or Expression with resultType boolean)."
+ },
+ "writeBehavior": {
+ "type": "object",
+ "description": "White behavior when copying data into azure SQL MI. Type: SqlWriteBehaviorEnum (or Expression with resultType SqlWriteBehaviorEnum)"
+ },
+ "upsertSettings": {
+ "description": "SQL upsert settings.",
+ "type": "object",
+ "$ref": "#/definitions/SqlUpsertSettings"
}
}
},
@@ -4290,6 +4264,19 @@
"tableOption": {
"type": "object",
"description": "The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string)."
+ },
+ "sqlWriterUseTableLock": {
+ "type": "object",
+ "description": "Whether to use table lock during bulk copy. Type: boolean (or Expression with resultType boolean)."
+ },
+ "writeBehavior": {
+ "type": "object",
+ "description": "Write behavior when copying data into azure SQL DW. Type: SqlDWWriteBehaviorEnum (or Expression with resultType SqlDWWriteBehaviorEnum)"
+ },
+ "upsertSettings": {
+ "description": "SQL DW upsert settings.",
+ "type": "object",
+ "$ref": "#/definitions/SqlDWUpsertSettings"
}
}
},
@@ -4364,6 +4351,63 @@
}
}
},
+ "SqlUpsertSettings": {
+ "description": "Sql upsert option settings",
+ "type": "object",
+ "properties": {
+ "useTempDB": {
+ "type": "object",
+ "description": "Specifies whether to use temp db for upsert interim table. Type: boolean (or Expression with resultType boolean)."
+ },
+ "interimSchemaName": {
+ "type": "object",
+ "description": "Schema name for interim table. Type: string (or Expression with resultType string)."
+ },
+ "keys": {
+ "type": "object",
+ "description": "Key column names for unique row identification. Type: array of strings (or Expression with resultType array of strings)."
+ }
+ }
+ },
+ "SqlDWUpsertSettings": {
+ "description": "Sql DW upsert option settings",
+ "type": "object",
+ "properties": {
+ "interimSchemaName": {
+ "type": "object",
+ "description": "Schema name for interim table. Type: string (or Expression with resultType string)."
+ },
+ "keys": {
+ "type": "object",
+ "description": "Key column names for unique row identification. Type: array of strings (or Expression with resultType array of strings)."
+ }
+ }
+ },
+ "SqlWriteBehaviorEnum": {
+ "description": "Specify the write behavior when copying data into sql.",
+ "type": "string",
+ "enum": [
+ "Insert",
+ "Upsert",
+ "StoredProcedure"
+ ],
+ "x-ms-enum": {
+ "name": "SqlWriteBehaviorEnum",
+ "modelAsString": true
+ }
+ },
+ "SqlDWWriteBehaviorEnum": {
+ "description": "Specify the write behavior when copying data into sql dw.",
+ "type": "string",
+ "enum": [
+ "Insert",
+ "Upsert"
+ ],
+ "x-ms-enum": {
+ "name": "SqlDWWriteBehaviorEnum",
+ "modelAsString": true
+ }
+ },
"SnowflakeSink": {
"description": "A copy activity snowflake sink.",
"type": "object",
@@ -6043,11 +6087,12 @@
"userTenant": {
"description": "TenantId for which Azure Auth token will be requested when using ServicePrincipal Authentication. Type: string (or Expression with resultType string).",
"type": "object"
+ },
+ "credential": {
+ "$ref": "../datafactory.json#/definitions/CredentialReference",
+ "description": "The credential reference containing authentication information."
}
- },
- "required": [
- "type"
- ]
+ }
},
"WebActivityTypeProperties": {
"description": "Web activity type properties.",
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/IntegrationRuntimes_ListOutboundNetworkDependenciesEndpoints.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/IntegrationRuntimes_ListOutboundNetworkDependenciesEndpoints.json
new file mode 100644
index 000000000000..771e448ae13e
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/IntegrationRuntimes_ListOutboundNetworkDependenciesEndpoints.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "7ad7c73b-38b8-4df3-84ee-52ff91092f61",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "integrationRuntimeName": "exampleIntegrationRuntime",
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Tue, 06 Jul 2021 04:28:10 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-request-id": "fd8e4223-7e9c-4f32-893f-06c14a8081be",
+ "x-ms-correlation-request-id": "1dabf122-e061-4703-ae9e-9edeeef40ee6"
+ },
+ "body": {
+ "value": [
+ {
+ "category": "Azure Data Factory (Management)",
+ "endpoints": [
+ {
+ "domainName": "wu.frontend.int.clouddatahub-int.net",
+ "endpointDetails": [
+ {
+ "port": 443
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Azure Storage (Management)",
+ "endpoints": [
+ {
+ "domainName": "*.blob.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443
+ }
+ ]
+ },
+ {
+ "domainName": "*.table.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Event Hub (Logging)",
+ "endpoints": [
+ {
+ "domainName": "*.servicebus.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Microsoft Logging service (Internal Use)",
+ "endpoints": [
+ {
+ "domainName": "gcs.prod.monitoring.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443
+ }
+ ]
+ },
+ {
+ "domainName": "prod.warmpath.msftcloudes.com",
+ "endpointDetails": [
+ {
+ "port": 443
+ }
+ ]
+ },
+ {
+ "domainName": "azurewatsonanalysis-prod.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/readme.java.md b/specification/datafactory/resource-manager/readme.java.md
index ce7c8f5845a8..d472294a50c4 100644
--- a/specification/datafactory/resource-manager/readme.java.md
+++ b/specification/datafactory/resource-manager/readme.java.md
@@ -10,6 +10,18 @@ namespace: com.microsoft.azure.management.datafactory
license-header: MICROSOFT_MIT_NO_CODEGEN
payload-flattening-threshold: 1
output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-datafactory
+
+directive:
+ - from: ManagedPrivateEndpoint.json
+ where: "$.definitions.ManagedPrivateEndpoint"
+ transform: delete $.discriminator
+ - from: ManagedVirtualNetwork.json
+ where: "$.definitions.ManagedVirtualNetwork"
+ transform: delete $.discriminator
+ - from: DataFlow.json
+ where: "$.definitions.DataFlow"
+ transform: $.required = ['type']
+ reason: discriminator property must be required
```
# Validation
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2015-10-01-preview/account.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2015-10-01-preview/account.json
index 91b8577bd04d..729c623dffbf 100644
--- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2015-10-01-preview/account.json
+++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2015-10-01-preview/account.json
@@ -1906,6 +1906,11 @@
},
"description": "The list of hiveMetastores associated with this account."
},
+ "hierarchicalQueueState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The hierarchical queue state associated with this account."
+ },
"virtualNetworkRules": {
"readOnly": true,
"type": "array",
@@ -2651,6 +2656,10 @@
"type": "string",
"description": "The displayName for OperationMetaMetricSpecification."
},
+ "displayDescription": {
+ "type": "string",
+ "description": "The displayDescription for OperationMetaMetricSpecification."
+ },
"unit": {
"type": "string",
"description": "The unit for OperationMetaMetricSpecification."
@@ -2843,6 +2852,7 @@
"Enabled",
"Disabled"
],
+ "default": "Disabled",
"x-ms-enum": {
"name": "FirewallState",
"modelAsString": false
@@ -2855,6 +2865,7 @@
"Enabled",
"Disabled"
],
+ "default": "Disabled",
"x-ms-enum": {
"name": "FirewallAllowAzureIpsState",
"modelAsString": false
@@ -2874,6 +2885,7 @@
"Commitment_100000AUHours",
"Commitment_500000AUHours"
],
+ "default": "Consumption",
"x-ms-enum": {
"name": "TierType",
"modelAsString": false
@@ -2883,6 +2895,7 @@
"maxJobCount": {
"type": "integer",
"format": "int32",
+ "default": 20,
"description": "The maximum supported jobs running under the account at the same time."
},
"maxDegreeOfParallelism": {
@@ -2894,6 +2907,7 @@
"type": "integer",
"format": "int32",
"minimum": 1,
+ "default": 32,
"description": "The maximum supported degree of parallelism per job for this account."
},
"minPriorityPerJob": {
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json
index 1bc08c8f588c..6ebafa54d06b 100644
--- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json
+++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json
@@ -1885,6 +1885,21 @@
},
"description": "The list of hiveMetastores associated with this account."
},
+ "hierarchicalQueue": {
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "root": {
+ "type": "object"
+ }
+ },
+ "description": "The hierarchical queue associated with this account."
+ },
+ "hierarchicalQueueState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The hierarchical queue state associated with this account."
+ },
"virtualNetworkRules": {
"readOnly": true,
"type": "array",
@@ -1971,6 +1986,24 @@
"default": 3,
"description": "The maximum supported jobs running under the account at the same time."
},
+ "maxActiveJobCountPerUser": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum supported active jobs under the account at the same time."
+ },
+ "maxQueuedJobCountPerUser": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum supported jobs queued under the account at the same time."
+ },
+ "maxJobRunningTimeInMin": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum supported active jobs under the account at the same time."
+ },
"systemMaxJobCount": {
"readOnly": true,
"type": "integer",
@@ -2831,6 +2864,7 @@
"Enabled",
"Disabled"
],
+ "default": "Disabled",
"x-ms-enum": {
"name": "FirewallState",
"modelAsString": false
@@ -2843,6 +2877,7 @@
"Enabled",
"Disabled"
],
+ "default": "Disabled",
"x-ms-enum": {
"name": "FirewallAllowAzureIpsState",
"modelAsString": false
@@ -2862,6 +2897,7 @@
"Commitment_100000AUHours",
"Commitment_500000AUHours"
],
+ "default": "Consumption",
"x-ms-enum": {
"name": "TierType",
"modelAsString": false
@@ -2886,6 +2922,7 @@
"type": "integer",
"format": "int32",
"minimum": 1,
+ "default": 32,
"description": "The maximum supported degree of parallelism per job for this account."
},
"minPriorityPerJob": {
@@ -3132,6 +3169,7 @@
},
"suffix": {
"type": "string",
+ "default": "azuredatalakestore.net",
"description": "The optional suffix for the storage account."
}
},
diff --git a/specification/datamigration/resource-manager/readme.md b/specification/datamigration/resource-manager/readme.md
index 42e97f085902..b01b5f289ecf 100644
--- a/specification/datamigration/resource-manager/readme.md
+++ b/specification/datamigration/resource-manager/readme.md
@@ -187,7 +187,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
diff --git a/specification/datamigration/resource-manager/readme.python.md b/specification/datamigration/resource-manager/readme.python.md
index 1e32099cbf9c..2bec1c3f7d89 100644
--- a/specification/datamigration/resource-manager/readme.python.md
+++ b/specification/datamigration/resource-manager/readme.python.md
@@ -4,43 +4,32 @@ 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.datamigration
- package-name: azure-mgmt-datamigration
- package-version: 0.2.0
- clear-output-folder: true
-```
+
``` yaml $(python) && $(track2)
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
namespace: azure.mgmt.datamigration
package-name: azure-mgmt-datamigration
-package-version: 0.2.0
+package-version: 1.0.0b1
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/datamigration/azure-mgmt-datamigration/azure/mgmt/datamigration
-```
+
``` yaml $(python) && $(python-mode) == 'update' && $(track2)
no-namespace-folders: true
output-folder: $(python-sdks-folder)/datamigration/azure-mgmt-datamigration/azure/mgmt/datamigration
```
-``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/datamigration/azure-mgmt-datamigration
-```
``` yaml $(python) && $(python-mode) == 'create' && $(track2)
basic-setup-py: true
output-folder: $(python-sdks-folder)/datamigration/azure-mgmt-datamigration
-```
\ No newline at end of file
+```
+
+``` yaml $(python) && $(track2)
+directive:
+ - from: swagger-document
+ where: $.definitions.MigrateSchemaSqlServerSqlDbTaskOutput
+ transform: >
+ $['required'] = ['resultType'];
+```
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json
index d262636aea34..9eb6e6b56625 100644
--- a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json
@@ -24,7 +24,7 @@
"BackupVaults"
],
"description": "Returns resource collection belonging to a subscription.",
- "operationId": "BackupVaults_GetResourcesInSubscription",
+ "operationId": "BackupVaults_GetInSubscription",
"produces": [
"application/json"
],
@@ -136,7 +136,7 @@
"OperationStatus"
],
"summary": "Gets the operation status for a resource.",
- "operationId": "GetOperationStatus",
+ "operationId": "OperationStatus_Get",
"produces": [
"application/json"
],
@@ -187,7 +187,7 @@
"BackupVaults"
],
"description": "Returns resource collection belonging to a resource group.",
- "operationId": "BackupVaults_GetResourcesInResourceGroup",
+ "operationId": "BackupVaults_GetInResourceGroup",
"produces": [
"application/json"
],
@@ -389,7 +389,7 @@
"BackupVaults"
],
"description": "Updates a BackupVault resource belonging to a resource group. For example, updating tags for a resource.",
- "operationId": "BackupVaults_Patch",
+ "operationId": "BackupVaults_Update",
"produces": [
"application/json"
],
@@ -446,7 +446,7 @@
"tags": [
"Resources"
],
- "operationId": "GetOperationResultPatch",
+ "operationId": "BackupVaultOperationResults_Get",
"produces": [
"application/json"
],
@@ -555,7 +555,7 @@
"DppFeatureSupport"
],
"summary": "Validates if a feature is supported",
- "operationId": "CheckFeatureSupport",
+ "operationId": "DataProtection_CheckFeatureSupport",
"produces": [
"application/json"
],
@@ -609,7 +609,7 @@
"Operations"
],
"description": "Returns the list of available operations.",
- "operationId": "Operations_List",
+ "operationId": "DataProtectionOperations_List",
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
@@ -632,6 +632,11 @@
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "value"
+ },
+ "x-ms-examples": {
+ "Returns the list of supported REST operations.": {
+ "$ref": "./examples/Operations/List.json"
+ }
}
}
},
@@ -758,6 +763,7 @@
},
{
"name": "backupPolicyName",
+ "description": "Name of the policy",
"in": "path",
"required": true,
"type": "string"
@@ -1236,7 +1242,7 @@
"RecoveryPoint"
],
"description": "Returns a list of Recovery Points for a DataSource in a vault.",
- "operationId": "RecoveryPoints_GetList",
+ "operationId": "RecoveryPoints_List",
"produces": [
"application/json"
],
@@ -1306,7 +1312,7 @@
"RecoveryPoint"
],
"description": "Gets a Recovery Point using recoveryPointId for a Datasource.",
- "operationId": "RecoveryPoint_Get",
+ "operationId": "RecoveryPoints_Get",
"produces": [
"application/json"
],
@@ -1870,7 +1876,7 @@
"BackupInstances"
],
"description": "Validates if Restore can be triggered for a DataSource",
- "operationId": "BackupInstances_ValidateRestore",
+ "operationId": "BackupInstances_ValidateForRestore",
"produces": [
"application/json"
],
@@ -1992,12 +1998,12 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstances}/findRestorableTimeRanges": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/findRestorableTimeRanges": {
"post": {
"tags": [
"FindRestorableTimeRanges"
],
- "operationId": "FindRestorableTimeRanges_Post",
+ "operationId": "RestorableTimeRanges_Find",
"produces": [
"application/json"
],
@@ -2015,7 +2021,8 @@
"$ref": "#/parameters/SubscriptionId"
},
{
- "name": "backupInstances",
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
"in": "path",
"required": true,
"type": "string"
@@ -2057,7 +2064,7 @@
"AzureBackupJob"
],
"description": "Gets a job with id in a backup vault",
- "operationId": "Job_Get",
+ "operationId": "Jobs_Get",
"produces": [
"application/json"
],
@@ -2367,9 +2374,7 @@
"AzureBackupFindRestorableTimeRangesRequest": {
"description": "List Restore Ranges Request",
"required": [
- "sourceDataStoreType",
- "startTime",
- "endTime"
+ "sourceDataStoreType"
],
"type": "object",
"properties": {
@@ -2387,11 +2392,11 @@
}
},
"startTime": {
- "description": "Start time for the List Restore Ranges request",
+ "description": "Start time for the List Restore Ranges request. ISO 8601 format.",
"type": "string"
},
"endTime": {
- "description": "End time for the List Restore Ranges request",
+ "description": "End time for the List Restore Ranges request. ISO 8601 format.",
"type": "string"
}
}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/FindRestorableTimeRanges.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/FindRestorableTimeRanges.json
index 5019b2cf6725..7e1fd818feb3 100644
--- a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/FindRestorableTimeRanges.json
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/BackupInstanceOperations/FindRestorableTimeRanges.json
@@ -3,7 +3,7 @@
"subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
"resourceGroupName": "Blob-Backup",
"vaultName": "ZBlobBackupVaultBVTD3",
- "backupInstances": "zblobbackuptestsa58",
+ "backupInstanceName": "zblobbackuptestsa58",
"api-version": "2021-02-01-preview",
"parameters": {
"sourceDataStoreType": "OperationalStore",
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/Operations/List.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/Operations/List.json
new file mode 100644
index 000000000000..c3dfcdf4beb1
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/examples/Operations/List.json
@@ -0,0 +1,403 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DataProtection/locations/getBackupStatus/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Status",
+ "operation": "Check Backup Status for Vault",
+ "description": "Check Backup Status for Recovery Services Vaults"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Create a Backup Instance",
+ "description": "Creates a Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/delete",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Delete Backup Instance",
+ "description": "Deletes the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Get Backup Instance Details",
+ "description": "Returns details of the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Get Backup Instances",
+ "description": "Returns all Backup Instances"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/backup/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Backup Backup Instance",
+ "description": "Performs Backup on the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/sync/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Sync Backup Instance",
+ "description": "Sync operation retries last failed operation on backup instance to bring it to a valid state."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/stopProtection/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Stop Protection of Backup Instance",
+ "description": "Stop Protection operation stops both backup and retention schedules of backup instance. Existing data will be retained forever."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/suspendBackups/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Suspend Backups of Backup Instance",
+ "description": "Suspend Backups operation stops only backups of backup instance. Retention activities will continue and hence data will be ratained as per policy."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/resumeProtection/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Resume Protection of Backup Instance",
+ "description": "Resume protection of a ProtectionStopped BI."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/resumeBackups/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Resume Backups of Backup Instance",
+ "description": "Resume Backups for a BackupsSuspended BI."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/validateRestore/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Validate for Restore of Backup Instance",
+ "description": "Validates for Restore of the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/restore/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Restore Backup Instance",
+ "description": "Triggers restore on the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupPolicies/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Policies",
+ "operation": "Create Backup Policy",
+ "description": "Creates Backup Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupPolicies/delete",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Policies",
+ "operation": "Delete Backup Policy",
+ "description": "Deletes the Backup Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupPolicies/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Policies",
+ "operation": "Get Backup Policy details",
+ "description": "Returns details of the Backup Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupPolicies/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Policies",
+ "operation": "Get Backup Policies",
+ "description": "Returns all Backup Policies"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Recovery Points",
+ "operation": "Get Recovery Point Details",
+ "description": "Returns details of the Recovery Point"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Recovery Points",
+ "operation": "Get Recovery Points",
+ "description": "Returns all Recovery Points"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/findRestorableTimeRanges/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Restorable Time Ranges",
+ "operation": "Find Restorable Time Ranges",
+ "description": "Finds Restorable Time Ranges"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Create Backup Vault",
+ "description": "Create BackupVault operation creates an Azure resource of type 'Backup Vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Create Backup Vault",
+ "description": "Create BackupVault operation creates an Azure resource of type 'Backup Vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/delete",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Create Backup Vault",
+ "description": "Create BackupVault operation creates an Azure resource of type 'Backup Vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/operationResults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Get Operation Result of a Patch Operation for a Backup Vault",
+ "description": "Gets Operation Result of a Patch Operation for a Backup Vault"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/locations/checkNameAvailability/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Check if the requested BackupVault Name is Available",
+ "description": "Checks if the requested BackupVault Name is Available"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Get Backup Vaults in a Resource Group",
+ "description": "Gets list of Backup Vaults in a Resource Group"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Get Backup Vaults in a Subscription",
+ "description": "Gets list of Backup Vaults in a Subscription"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Create ResourceGuard",
+ "description": "Create ResourceGuard operation creates an Azure resource of type 'ResourceGuard'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuard",
+ "description": "The Get ResourceGuard operation gets an object representing the Azure resource of type 'ResourceGuard'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/delete",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Delete ResourceGuard",
+ "description": "The Delete ResourceGuard operation deletes the specified Azure resource of type 'ResourceGuard'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuards in a Resource Group",
+ "description": "Gets list of ResourceGuards in a Resource Group"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/providers/resourceGuards/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuards in a Subscription",
+ "description": "Gets list of ResourceGuards in a Subscription"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Update ResourceGuard",
+ "description": "Update ResouceGuard operation updates an Azure resource of type 'ResourceGuard'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/{operationName}/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuard operation request info",
+ "description": "Gets ResourceGuard operation request info"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/{operationName}/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuard default operation request info",
+ "description": "Gets ResourceGuard default operation request info"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/locations/operationStatus/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Operation Status",
+ "operation": "Get Backup Operation Status",
+ "description": "Returns Backup Operation Status for Backup Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/locations/operationResults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Operation Results",
+ "operation": "Get Backup Operation Result",
+ "description": "Returns Backup Operation Result for Backup Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/validateForBackup/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Validate Backup",
+ "operation": "Validate for backup of Backup Instance",
+ "description": "Validates for backup of Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/providers/operations/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Provider Operation",
+ "operation": "List of Operations",
+ "description": "Operation returns the list of Operations for a Resource Provider"
+ },
+ "origin": "user"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/dataprotection.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/dataprotection.json
new file mode 100644
index 000000000000..891d7750b14d
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/dataprotection.json
@@ -0,0 +1,5045 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-06-01-preview",
+ "title": "DataProtectionBackupClient",
+ "x-ms-code-generation-settings": {
+ "internalConstructors": false
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/backupVaults": {
+ "get": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Returns resource collection belonging to a subscription.",
+ "operationId": "BackupVaults_GetInSubscription",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get BackupVaults in Subscription": {
+ "$ref": "./examples/VaultCRUD/GetBackupVaultsInSubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "GetOperationResult"
+ ],
+ "description": "Gets the operation result for a resource",
+ "operationId": "OperationResult_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "200": {
+ "description": "Contains additional information like job Id",
+ "schema": {
+ "$ref": "#/definitions/OperationJobExtendedInfo"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "summary": "Gets the operation status for a resource.",
+ "x-ms-examples": {
+ "Get OperationResult": {
+ "$ref": "./examples/GetOperationResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/operationStatus/{operationId}": {
+ "get": {
+ "tags": [
+ "OperationStatus"
+ ],
+ "summary": "Gets the operation status for a resource.",
+ "operationId": "OperationStatus_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get OperationStatus": {
+ "$ref": "./examples/GetOperationStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults": {
+ "get": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Returns resource collection belonging to a resource group.",
+ "operationId": "BackupVaults_GetInResourceGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get BackupVaults in ResourceGroup": {
+ "$ref": "./examples/VaultCRUD/GetBackupVaultsInResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}": {
+ "get": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Returns a resource belonging to a resource group.",
+ "operationId": "BackupVaults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get BackupVault": {
+ "$ref": "./examples/VaultCRUD/GetBackupVault.json"
+ },
+ "Get BackupVault With MSI": {
+ "$ref": "./examples/VaultCRUD/GetBackupVaultWithMSI.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Creates or updates a BackupVault resource belonging to a resource group.",
+ "operationId": "BackupVaults_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create BackupVault": {
+ "$ref": "./examples/VaultCRUD/PutBackupVault.json"
+ },
+ "Create BackupVault With MSI": {
+ "$ref": "./examples/VaultCRUD/PutBackupVaultWithMSI.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Deletes a BackupVault resource from the resource group.",
+ "operationId": "BackupVaults_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete BackupVault": {
+ "$ref": "./examples/VaultCRUD/DeleteBackupVault.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Updates a BackupVault resource belonging to a resource group. For example, updating tags for a resource.",
+ "operationId": "BackupVaults_Update",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatchResourceRequestInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ },
+ "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": {
+ "Patch BackupVault": {
+ "$ref": "./examples/VaultCRUD/PatchBackupVault.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "Resources"
+ ],
+ "operationId": "BackupVaultOperationResults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetOperationResult Patch": {
+ "$ref": "./examples/VaultCRUD/GetOperationResultPatch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "summary": "API to check for resource name availability",
+ "operationId": "BackupVaults_CheckNameAvailability",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "The location in which uniqueness will be verified.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Check name availability request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check BackupVaults name availability": {
+ "$ref": "./examples/VaultCRUD/CheckBackupVaultsNameAvailability.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/checkFeatureSupport": {
+ "post": {
+ "tags": [
+ "DppFeatureSupport"
+ ],
+ "summary": "Validates if a feature is supported",
+ "operationId": "DataProtection_CheckFeatureSupport",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Feature support request object",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FeatureValidationRequestBase"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FeatureValidationResponseBase"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check Azure Vm Backup Feature Support": {
+ "$ref": "./examples/CheckfeatureSupport.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DataProtection/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Returns the list of available operations.",
+ "operationId": "DataProtectionOperations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ClientDiscoveryResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "x-ms-examples": {
+ "Returns the list of supported REST operations.": {
+ "$ref": "./examples/Operations/List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies": {
+ "get": {
+ "tags": [
+ "BackupPolicies"
+ ],
+ "description": "Returns list of backup policies belonging to a backup vault",
+ "operationId": "BackupPolicies_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BaseBackupPolicyResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List BackupPolicy": {
+ "$ref": "./examples/PolicyCRUD/ListBackupPolicy.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName}": {
+ "get": {
+ "tags": [
+ "BackupPolicies"
+ ],
+ "operationId": "BackupPolicies_Get",
+ "description": "Gets a backup policy belonging to a backup vault",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BaseBackupPolicyResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "summary": "Gets a backup policy belonging to a backup vault",
+ "x-ms-examples": {
+ "Get BackupPolicy": {
+ "$ref": "./examples/PolicyCRUD/GetBackupPolicy.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupPolicies"
+ ],
+ "operationId": "BackupPolicies_CreateOrUpdate",
+ "summary": "Creates or Updates a backup policy belonging to a backup vault",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupPolicyName",
+ "description": "Name of the policy",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BaseBackupPolicyResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BaseBackupPolicyResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CreateOrUpdate BackupPolicy": {
+ "$ref": "./examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "BackupPolicies"
+ ],
+ "operationId": "BackupPolicies_Delete",
+ "summary": "Deletes a backup policy belonging to a backup vault",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete BackupPolicy": {
+ "$ref": "./examples/PolicyCRUD/DeleteBackupPolicy.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances": {
+ "get": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Gets a backup instances belonging to a backup vault",
+ "operationId": "BackupInstances_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupInstanceResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List BackupInstances in a Vault": {
+ "$ref": "./examples/BackupInstanceOperations/ListBackupInstances.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}": {
+ "get": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Gets a backup instance with name in a backup vault",
+ "operationId": "BackupInstances_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupInstanceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get BackupInstance": {
+ "$ref": "./examples/BackupInstanceOperations/GetBackupInstance.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Create or update a backup instance in a backup vault",
+ "operationId": "BackupInstances_CreateOrUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupInstanceResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupInstanceResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/BackupInstanceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create BackupInstance": {
+ "$ref": "./examples/BackupInstanceOperations/PutBackupInstance.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Delete a backup instance in a backup vault",
+ "operationId": "BackupInstances_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "200": {
+ "description": "Ok"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete BackupInstance": {
+ "$ref": "./examples/BackupInstanceOperations/DeleteBackupInstance.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/backup": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Trigger adhoc backup ",
+ "operationId": "BackupInstances_AdhocBackup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TriggerBackupRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Contains additional information like job Id",
+ "schema": {
+ "$ref": "#/definitions/OperationJobExtendedInfo"
+ }
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Trigger Adhoc Backup": {
+ "$ref": "./examples/BackupInstanceOperations/TriggerBackup.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/validateForBackup": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Validate whether adhoc backup will be successful or not",
+ "operationId": "BackupInstances_ValidateForBackup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateForBackupRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Contains additional information like job Id",
+ "schema": {
+ "$ref": "#/definitions/OperationJobExtendedInfo"
+ }
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Validate For Backup": {
+ "$ref": "./examples/BackupInstanceOperations/ValidateForBackup.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/recoveryPoints": {
+ "get": {
+ "tags": [
+ "RecoveryPoint"
+ ],
+ "description": "Returns a list of Recovery Points for a DataSource in a vault.",
+ "operationId": "RecoveryPoints_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupRecoveryPointResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/RecoveryPointsFilters",
+ "x-ms-examples": {
+ "List Recovery Points in a Vault": {
+ "$ref": "./examples/BackupInstanceOperations/ListRecoveryPoints.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/recoveryPoints/{recoveryPointId}": {
+ "get": {
+ "tags": [
+ "RecoveryPoint"
+ ],
+ "description": "Gets a Recovery Point using recoveryPointId for a Datasource.",
+ "operationId": "RecoveryPoints_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupRecoveryPointResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Recovery Point": {
+ "$ref": "./examples/BackupInstanceOperations/GetRecoveryPoint.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/rehydrate": {
+ "post": {
+ "description": "rehydrate recovery point for restore for a BackupInstance",
+ "operationId": "BackupInstances_TriggerRehydrate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "description": "Request body for operation",
+ "in": "body",
+ "name": "parameters",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AzureBackupRehydrationRequest"
+ }
+ },
+ {
+ "in": "path",
+ "name": "backupInstanceName",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "tags": [
+ "BackupInstances"
+ ],
+ "x-ms-examples": {
+ "Trigger Rehydrate": {
+ "$ref": "./examples/BackupInstanceOperations/TriggerRehydrate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/restore": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Triggers restore for a BackupInstance",
+ "operationId": "BackupInstances_TriggerRestore",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AzureBackupRestoreRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Contains additional information like job Id",
+ "schema": {
+ "$ref": "#/definitions/OperationJobExtendedInfo"
+ }
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Trigger Restore": {
+ "$ref": "./examples/BackupInstanceOperations/TriggerRestore.json"
+ },
+ "Trigger Restore As Files": {
+ "$ref": "./examples/BackupInstanceOperations/TriggerRestoreAsFiles.json"
+ },
+ "Trigger Restore With Rehydration": {
+ "$ref": "./examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/resumeBackups": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "This operation will resume backups for backup instance",
+ "operationId": "BackupInstances_ResumeBackups",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ResumeBackups": {
+ "$ref": "./examples/BackupInstanceOperations/ResumeBackups.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/resumeProtection": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "This operation will resume protection for a stopped backup instance",
+ "operationId": "BackupInstances_ResumeProtection",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ResumeProtection": {
+ "$ref": "./examples/BackupInstanceOperations/ResumeProtection.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/stopProtection": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "This operation will stop protection of a backup instance and data will be held forever",
+ "operationId": "BackupInstances_StopProtection",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "StopProtection": {
+ "$ref": "./examples/BackupInstanceOperations/StopProtection.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/suspendBackups": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "This operation will stop backups for backup instance",
+ "operationId": "BackupInstances_SuspendBackups",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SuspendBackups": {
+ "$ref": "./examples/BackupInstanceOperations/SuspendBackups.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/sync": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Sync backup instance again in case of failure\r\nThis action will retry last failed operation and will bring backup instance to valid state",
+ "operationId": "BackupInstances_SyncBackupInstance",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SyncBackupInstanceRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Sync BackupInstance": {
+ "$ref": "./examples/BackupInstanceOperations/SyncBackupInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/validateRestore": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Validates if Restore can be triggered for a DataSource",
+ "operationId": "BackupInstances_ValidateForRestore",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateRestoreRequestObject"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Contains additional information like job Id",
+ "schema": {
+ "$ref": "#/definitions/OperationJobExtendedInfo"
+ }
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Validate Restore": {
+ "$ref": "./examples/BackupInstanceOperations/ValidateRestore.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs": {
+ "get": {
+ "tags": [
+ "AzureBackupJobs"
+ ],
+ "description": "Returns list of jobs belonging to a backup vault",
+ "operationId": "Jobs_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupJobResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Jobs": {
+ "$ref": "./examples/JobCRUD/ListJobs.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/findRestorableTimeRanges": {
+ "post": {
+ "tags": [
+ "FindRestorableTimeRanges"
+ ],
+ "operationId": "RestorableTimeRanges_Find",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesResponseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Find Restorable Time Ranges": {
+ "$ref": "./examples/BackupInstanceOperations/FindRestorableTimeRanges.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs/{jobId}": {
+ "get": {
+ "tags": [
+ "AzureBackupJob"
+ ],
+ "description": "Gets a job with id in a backup vault",
+ "operationId": "Jobs_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "jobId",
+ "description": "The Job ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupJobResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Job": {
+ "$ref": "./examples/JobCRUD/GetJob.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/exportBackupJobs": {
+ "post": {
+ "tags": [
+ "AzureBackupJob"
+ ],
+ "description": "Triggers export of jobs and returns an OperationID to track.",
+ "operationId": "ExportJobs_Trigger",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Trigger Export Jobs": {
+ "$ref": "./examples/JobCRUD/TriggerExportJobs.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "AzureBackupJob"
+ ],
+ "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also contains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.",
+ "operationId": "ExportJobsOperationResult_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "operationId",
+ "description": "OperationID which represents the export job.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExportJobsResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Export Jobs Operation Result": {
+ "$ref": "./examples/JobCRUD/GetExportJobsOperationResult.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AbsoluteDeleteOption": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeleteOption"
+ }
+ ],
+ "description": "Delete option with duration",
+ "required": [
+ "duration",
+ "objectType"
+ ],
+ "title": "AbsoluteDeleteOption",
+ "type": "object",
+ "x-ms-discriminator-value": "AbsoluteDeleteOption"
+ },
+ "RecoveryPointsFilters": {
+ "type": "object",
+ "properties": {
+ "restorePointDataStoreId": {
+ "type": "string"
+ },
+ "isVisible": {
+ "type": "boolean"
+ },
+ "startDate": {
+ "type": "string"
+ },
+ "endDate": {
+ "type": "string"
+ },
+ "extendedInfo": {
+ "type": "boolean"
+ },
+ "restorePointState": {
+ "type": "string"
+ }
+ }
+ },
+ "AdHocBackupRuleOptions": {
+ "description": "Adhoc backup rules",
+ "properties": {
+ "ruleName": {
+ "type": "string"
+ },
+ "triggerOption": {
+ "$ref": "#/definitions/AdhocBackupTriggerOption"
+ }
+ },
+ "required": [
+ "ruleName",
+ "triggerOption"
+ ],
+ "title": "AdHocBackupRuleOptions",
+ "type": "object"
+ },
+ "AdhocBackupTriggerOption": {
+ "description": "Adhoc backup trigger option",
+ "properties": {
+ "retentionTagOverride": {
+ "type": "string"
+ }
+ },
+ "title": "AdhocBackupTriggerOption",
+ "type": "object"
+ },
+ "AdhocBasedTaggingCriteria": {
+ "description": "Adhoc backup tagging criteria",
+ "properties": {
+ "tagInfo": {
+ "$ref": "#/definitions/RetentionTag",
+ "description": "Retention tag information"
+ }
+ },
+ "title": "AdhocBasedTaggingCriteria",
+ "type": "object"
+ },
+ "AdhocBasedTriggerContext": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/TriggerContext"
+ }
+ ],
+ "description": "Adhoc trigger context",
+ "properties": {
+ "taggingCriteria": {
+ "$ref": "#/definitions/AdhocBasedTaggingCriteria",
+ "description": "Tagging Criteria containing retention tag for adhoc backup."
+ }
+ },
+ "required": [
+ "objectType",
+ "taggingCriteria"
+ ],
+ "title": "AdhocBasedTriggerContext",
+ "type": "object",
+ "x-ms-discriminator-value": "AdhocBasedTriggerContext"
+ },
+ "AuthCredentials": {
+ "description": "Base class for different types of authentication credentials.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string",
+ "readOnly": false
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "AzureBackupDiscreteRecoveryPoint": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureBackupRecoveryPoint"
+ }
+ ],
+ "description": "Azure backup discrete RecoveryPoint",
+ "properties": {
+ "friendlyName": {
+ "type": "string"
+ },
+ "recoveryPointDataStoresDetails": {
+ "items": {
+ "$ref": "#/definitions/RecoveryPointDataStoreDetails"
+ },
+ "type": "array"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "policyName": {
+ "type": "string"
+ },
+ "policyVersion": {
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "type": "string"
+ },
+ "recoveryPointType": {
+ "type": "string"
+ },
+ "retentionTagName": {
+ "type": "string"
+ },
+ "retentionTagVersion": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "recoveryPointTime"
+ ],
+ "title": "AzureBackupDiscreteRecoveryPoint",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupDiscreteRecoveryPoint"
+ },
+ "AzureBackupFindRestorableTimeRangesRequest": {
+ "description": "List Restore Ranges Request",
+ "required": [
+ "sourceDataStoreType"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceDataStoreType": {
+ "description": "Gets or sets the type of the source data store.",
+ "enum": [
+ "OperationalStore",
+ "VaultStore",
+ "ArchiveStore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestoreSourceDataStoreType",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "description": "Start time for the List Restore Ranges request. ISO 8601 format.",
+ "type": "string"
+ },
+ "endTime": {
+ "description": "End time for the List Restore Ranges request. ISO 8601 format.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureBackupFindRestorableTimeRangesRequestResource": {
+ "description": "List Restore Ranges Request",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppWorkerRequest"
+ }
+ ],
+ "properties": {
+ "content": {
+ "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesRequest",
+ "description": "AzureBackupFindRestorableTimeRangesRequestResource content"
+ }
+ }
+ },
+ "AzureBackupFindRestorableTimeRangesResponse": {
+ "description": "List Restore Ranges Response",
+ "type": "object",
+ "properties": {
+ "restorableTimeRanges": {
+ "description": "Returns the Restore Ranges available on the Backup Instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestorableTimeRange"
+ }
+ },
+ "objectType": {
+ "type": "string"
+ }
+ }
+ },
+ "AzureBackupFindRestorableTimeRangesResponseResource": {
+ "description": "List Restore Ranges Response",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesResponse",
+ "description": "AzureBackupFindRestorableTimeRangesResponseResource properties"
+ }
+ }
+ },
+ "AzureBackupJob": {
+ "description": "AzureBackup Job Class",
+ "properties": {
+ "activityID": {
+ "description": "Job Activity Id",
+ "type": "string"
+ },
+ "backupInstanceFriendlyName": {
+ "description": "Name of the Backup Instance",
+ "type": "string"
+ },
+ "backupInstanceId": {
+ "description": "ARM ID of the Backup Instance",
+ "readOnly": true,
+ "type": "string"
+ },
+ "dataSourceId": {
+ "description": "ARM ID of the DataSource",
+ "type": "string"
+ },
+ "dataSourceLocation": {
+ "description": "Location of the DataSource",
+ "type": "string"
+ },
+ "dataSourceName": {
+ "description": "User Friendly Name of the DataSource",
+ "type": "string"
+ },
+ "dataSourceSetName": {
+ "description": "Data Source Set Name of the DataSource",
+ "type": "string"
+ },
+ "dataSourceType": {
+ "description": "Type of DataSource",
+ "type": "string"
+ },
+ "duration": {
+ "description": "Total run time of the job. ISO 8601 format.",
+ "type": "string"
+ },
+ "endTime": {
+ "description": "EndTime of the job(in UTC)",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "errorDetails": {
+ "description": "A List, detailing the errors related to the job",
+ "items": {
+ "$ref": "#/definitions/UserFacingError"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/JobExtendedInfo",
+ "description": "Extended Information about the job",
+ "readOnly": true
+ },
+ "isUserTriggered": {
+ "description": "Indicated that whether the job is adhoc(true) or scheduled(false)",
+ "type": "boolean"
+ },
+ "operation": {
+ "description": "It indicates the type of Job i.e. Backup:full/log/diff ;Restore:ALR/OLR; Tiering:Backup/Archive ; Management:ConfigureProtection/UnConfigure",
+ "type": "string"
+ },
+ "operationCategory": {
+ "description": "It indicates the type of Job i.e. Backup/Restore/Tiering/Management",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "ARM ID of the policy",
+ "readOnly": true,
+ "type": "string"
+ },
+ "policyName": {
+ "description": "Name of the policy",
+ "readOnly": true,
+ "type": "string"
+ },
+ "progressEnabled": {
+ "description": "Indicated whether progress is enabled for the job",
+ "type": "boolean"
+ },
+ "progressUrl": {
+ "description": "Url which contains job's progress",
+ "readOnly": true,
+ "type": "string"
+ },
+ "restoreType": {
+ "description": "It indicates the sub type of operation i.e. in case of Restore it can be ALR/OLR",
+ "readOnly": true,
+ "type": "string"
+ },
+ "sourceResourceGroup": {
+ "description": "Resource Group Name of the Datasource",
+ "type": "string"
+ },
+ "sourceSubscriptionID": {
+ "description": "SubscriptionId corresponding to the DataSource",
+ "type": "string"
+ },
+ "startTime": {
+ "description": "StartTime of the job(in UTC)",
+ "format": "date-time",
+ "type": "string"
+ },
+ "status": {
+ "description": "Status of the job like InProgress/Success/Failed/Cancelled/SuccessWithWarning",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription Id of the corresponding backup vault",
+ "type": "string"
+ },
+ "supportedActions": {
+ "description": "List of supported actions",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vaultName": {
+ "description": "Name of the vault",
+ "type": "string"
+ },
+ "etag": {
+ "type": "string"
+ },
+ "sourceDataStoreName": {
+ "type": "string"
+ },
+ "destinationDataStoreName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "activityID",
+ "subscriptionId",
+ "dataSourceId",
+ "vaultName",
+ "backupInstanceFriendlyName",
+ "sourceResourceGroup",
+ "dataSourceSetName",
+ "dataSourceName",
+ "progressEnabled",
+ "sourceSubscriptionID",
+ "dataSourceLocation",
+ "startTime",
+ "dataSourceType",
+ "operationCategory",
+ "operation",
+ "status",
+ "isUserTriggered",
+ "supportedActions"
+ ],
+ "type": "object"
+ },
+ "AzureBackupJobResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResource"
+ }
+ ],
+ "description": "AzureBackup Job Resource Class",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AzureBackupJob",
+ "description": "AzureBackupJobResource properties",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "AzureBackupJobResourceList": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResourceList"
+ }
+ ],
+ "description": "List of AzureBackup Job resources",
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "items": {
+ "$ref": "#/definitions/AzureBackupJobResource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "AzureBackupParams": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupParameters"
+ }
+ ],
+ "description": "Azure backup parameters",
+ "properties": {
+ "backupType": {
+ "description": "BackupType ; Full/Incremental etc",
+ "type": "string"
+ }
+ },
+ "required": [
+ "backupType",
+ "objectType"
+ ],
+ "title": "AzureBackupParams",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupParams"
+ },
+ "AzureBackupRecoveryPoint": {
+ "description": "Azure backup recoveryPoint",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "AzureBackupRecoveryPoint",
+ "type": "object"
+ },
+ "AzureBackupRecoveryPointBasedRestoreRequest": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureBackupRestoreRequest"
+ }
+ ],
+ "description": "Azure backup recoveryPoint based restore request",
+ "properties": {
+ "recoveryPointId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "recoveryPointId"
+ ],
+ "title": "AzureBackupRecoveryPointBasedRestoreRequest",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupRecoveryPointBasedRestoreRequest"
+ },
+ "AzureBackupRecoveryPointResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResource"
+ }
+ ],
+ "description": "Azure backup recoveryPoint resource",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AzureBackupRecoveryPoint",
+ "description": "AzureBackupRecoveryPointResource properties"
+ }
+ },
+ "title": "AzureBackupRecoveryPointResource"
+ },
+ "AzureBackupRecoveryPointResourceList": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResourceList"
+ }
+ ],
+ "description": "Azure backup recoveryPoint resource list",
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "items": {
+ "$ref": "#/definitions/AzureBackupRecoveryPointResource"
+ },
+ "type": "array"
+ }
+ },
+ "title": "AzureBackupRecoveryPointResourceList",
+ "type": "object"
+ },
+ "AzureBackupRehydrationRequest": {
+ "description": "Azure Backup Rehydrate Request",
+ "properties": {
+ "recoveryPointId": {
+ "description": "Id of the recovery point to be recovered",
+ "type": "string"
+ },
+ "rehydrationPriority": {
+ "description": "Priority to be used for rehydration. Values High or Standard",
+ "$ref": "#/definitions/RehydrationPriority"
+ },
+ "rehydrationRetentionDuration": {
+ "description": "Retention duration in ISO 8601 format i.e P10D .",
+ "type": "string"
+ }
+ },
+ "required": [
+ "recoveryPointId",
+ "rehydrationRetentionDuration"
+ ],
+ "title": "AzureBackupRehydrationRequest",
+ "type": "object"
+ },
+ "AzureBackupRestoreRequest": {
+ "description": "Azure backup restore request",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "type": "string"
+ },
+ "restoreTargetInfo": {
+ "$ref": "#/definitions/RestoreTargetInfoBase",
+ "description": "Gets or sets the restore target information."
+ },
+ "sourceDataStoreType": {
+ "description": "Gets or sets the type of the source data store.",
+ "enum": [
+ "ArchiveStore",
+ "SnapshotStore",
+ "VaultStore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "SourceDataStoreType"
+ }
+ }
+ },
+ "required": [
+ "objectType",
+ "restoreTargetInfo",
+ "sourceDataStoreType"
+ ],
+ "title": "AzureBackupRestoreRequest",
+ "type": "object"
+ },
+ "AzureBackupRestoreWithRehydrationRequest": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureBackupRecoveryPointBasedRestoreRequest"
+ }
+ ],
+ "description": "AzureBackup Restore with Rehydration Request",
+ "properties": {
+ "rehydrationPriority": {
+ "description": "Priority to be used for rehydration. Values High or Standard",
+ "$ref": "#/definitions/RehydrationPriority"
+ },
+ "rehydrationRetentionDuration": {
+ "description": "Retention duration in ISO 8601 format i.e P10D .",
+ "type": "string"
+ }
+ },
+ "required": [
+ "rehydrationPriority",
+ "rehydrationRetentionDuration"
+ ],
+ "title": "AzureBackupRestoreWithRehydrationRequest",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupRestoreWithRehydrationRequest"
+ },
+ "AzureBackupRecoveryTimeBasedRestoreRequest": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureBackupRestoreRequest"
+ }
+ ],
+ "description": "AzureBackup RecoveryPointTime Based Restore Request",
+ "properties": {
+ "recoveryPointTime": {
+ "description": "The recovery time in ISO 8601 format example - 2020-08-14T17:30:00.0000000Z.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "recoveryPointTime"
+ ],
+ "title": "AzureBackupRecoveryTimeBasedRestoreRequest",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupRecoveryTimeBasedRestoreRequest"
+ },
+ "AzureBackupRule": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BasePolicyRule"
+ }
+ ],
+ "description": "Azure backup rule",
+ "properties": {
+ "backupParameters": {
+ "$ref": "#/definitions/BackupParameters"
+ },
+ "dataStore": {
+ "$ref": "#/definitions/DataStoreInfoBase"
+ },
+ "trigger": {
+ "$ref": "#/definitions/TriggerContext"
+ }
+ },
+ "required": [
+ "dataStore",
+ "name",
+ "objectType",
+ "trigger"
+ ],
+ "title": "AzureBackupRule",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupRule"
+ },
+ "AzureOperationalStoreParameters": {
+ "description": "Parameters for Operational-Tier DataStore",
+ "required": [
+ "objectType",
+ "dataStoreType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataStoreParameters"
+ }
+ ],
+ "properties": {
+ "resourceGroupId": {
+ "description": "Gets or sets the Snapshot Resource Group Uri.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureOperationalStoreParameters"
+ },
+ "AzureRetentionRule": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BasePolicyRule"
+ }
+ ],
+ "description": "Azure retention rule",
+ "properties": {
+ "isDefault": {
+ "type": "boolean"
+ },
+ "lifecycles": {
+ "items": {
+ "$ref": "#/definitions/SourceLifeCycle"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "lifecycles",
+ "name",
+ "objectType"
+ ],
+ "title": "AzureRetentionRule",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureRetentionRule"
+ },
+ "BackupCriteria": {
+ "description": "BackupCriteria base class",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "BackupCriteria",
+ "type": "object"
+ },
+ "BackupInstance": {
+ "description": "Backup Instance",
+ "required": [
+ "dataSourceInfo",
+ "policyInfo",
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "Gets or sets the Backup Instance friendly name.",
+ "type": "string"
+ },
+ "dataSourceInfo": {
+ "$ref": "#/definitions/Datasource",
+ "description": "Gets or sets the data source information."
+ },
+ "dataSourceSetInfo": {
+ "$ref": "#/definitions/DatasourceSet",
+ "description": "Gets or sets the data source set information."
+ },
+ "policyInfo": {
+ "$ref": "#/definitions/PolicyInfo",
+ "description": "Gets or sets the policy information."
+ },
+ "protectionStatus": {
+ "$ref": "#/definitions/ProtectionStatusDetails",
+ "description": "Specifies the protection status of the resource",
+ "readOnly": true
+ },
+ "currentProtectionState": {
+ "description": "Specifies the current protection state of the resource",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "ConfiguringProtection",
+ "ProtectionConfigured",
+ "BackupSchedulesSuspended",
+ "RetentionSchedulesSuspended",
+ "ProtectionStopped",
+ "ProtectionError",
+ "ConfiguringProtectionFailed",
+ "SoftDeleting",
+ "SoftDeleted",
+ "UpdatingProtection"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CurrentProtectionState",
+ "modelAsString": true
+ }
+ },
+ "protectionErrorDetails": {
+ "$ref": "#/definitions/UserFacingError",
+ "description": "Specifies the protection error of the resource",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Specifies the provisioning state of the resource i.e. provisioning/updating/Succeeded/Failed",
+ "type": "string",
+ "readOnly": true
+ },
+ "datasourceAuthCredentials": {
+ "$ref": "#/definitions/AuthCredentials",
+ "description": "Credentials to use to authenticate with data source provider."
+ },
+ "objectType": {
+ "type": "string"
+ }
+ }
+ },
+ "BackupInstanceResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResource"
+ }
+ ],
+ "description": "BackupInstance Resource",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupInstance",
+ "description": "BackupInstanceResource properties"
+ }
+ },
+ "title": "BackupInstanceResource"
+ },
+ "BackupInstanceResourceList": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResourceList"
+ }
+ ],
+ "description": "BackupInstance Resource list response",
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "items": {
+ "$ref": "#/definitions/BackupInstanceResource"
+ },
+ "type": "array"
+ }
+ },
+ "title": "BackupInstanceResourceList",
+ "type": "object"
+ },
+ "BackupParameters": {
+ "description": "BackupParameters base",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "BackupParameters",
+ "type": "object"
+ },
+ "BackupPolicy": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BaseBackupPolicy"
+ }
+ ],
+ "description": "Rule based backup policy",
+ "properties": {
+ "policyRules": {
+ "description": "Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc",
+ "items": {
+ "$ref": "#/definitions/BasePolicyRule"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "datasourceTypes",
+ "policyRules"
+ ],
+ "title": "BackupPolicy",
+ "type": "object",
+ "x-ms-discriminator-value": "BackupPolicy"
+ },
+ "BackupSchedule": {
+ "description": "Schedule for backup",
+ "properties": {
+ "repeatingTimeIntervals": {
+ "description": "ISO 8601 repeating time interval format",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "repeatingTimeIntervals"
+ ],
+ "title": "BackupSchedule",
+ "type": "object"
+ },
+ "BackupVault": {
+ "description": "Backup Vault",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the BackupVault resource",
+ "enum": [
+ "Failed",
+ "Provisioning",
+ "Succeeded",
+ "Unknown",
+ "Updating"
+ ],
+ "readOnly": true,
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ProvisioningState"
+ }
+ },
+ "storageSettings": {
+ "description": "Storage Settings",
+ "items": {
+ "$ref": "#/definitions/StorageSetting"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "storageSettings"
+ ],
+ "title": "BackupVault",
+ "type": "object"
+ },
+ "BackupVaultResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppTrackedResource"
+ }
+ ],
+ "description": "Backup Vault Resource",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupVault",
+ "description": "BackupVaultResource properties"
+ }
+ },
+ "required": [
+ "location",
+ "properties"
+ ],
+ "title": "BackupVault Resource"
+ },
+ "BackupVaultResourceList": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResourceList"
+ }
+ ],
+ "description": "List of BackupVault resources",
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "items": {
+ "$ref": "#/definitions/BackupVaultResource"
+ },
+ "type": "array"
+ }
+ },
+ "title": "BackupVaultResourceList",
+ "type": "object"
+ },
+ "BaseBackupPolicy": {
+ "description": "BackupPolicy base",
+ "discriminator": "objectType",
+ "properties": {
+ "datasourceTypes": {
+ "description": "Type of datasource for the backup management",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "objectType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "datasourceTypes",
+ "objectType"
+ ],
+ "title": "BaseBackupPolicy",
+ "type": "object"
+ },
+ "BaseBackupPolicyResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResource"
+ }
+ ],
+ "description": "BaseBackupPolicy resource",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BaseBackupPolicy",
+ "description": "BaseBackupPolicyResource properties"
+ }
+ },
+ "title": "BaseBackupPolicyResource"
+ },
+ "BaseBackupPolicyResourceList": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResourceList"
+ }
+ ],
+ "description": "List of BaseBackupPolicy resources",
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "items": {
+ "$ref": "#/definitions/BaseBackupPolicyResource"
+ },
+ "type": "array"
+ }
+ },
+ "title": "BaseBackupPolicyResourceList",
+ "type": "object"
+ },
+ "BasePolicyRule": {
+ "description": "BasePolicy Rule",
+ "discriminator": "objectType",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "objectType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "objectType"
+ ],
+ "title": "BasePolicyRule",
+ "type": "object"
+ },
+ "CheckNameAvailabilityRequest": {
+ "description": "CheckNameAvailability Request",
+ "properties": {
+ "name": {
+ "description": "Resource name for which availability needs to be checked",
+ "type": "string"
+ },
+ "type": {
+ "description": "Describes the Resource type: Microsoft.DataProtection/BackupVaults",
+ "type": "string"
+ }
+ },
+ "title": "CheckNameAvailabilityRequest",
+ "type": "object"
+ },
+ "CheckNameAvailabilityResult": {
+ "description": "CheckNameAvailability Result",
+ "properties": {
+ "message": {
+ "description": "Gets or sets the message.",
+ "type": "string"
+ },
+ "nameAvailable": {
+ "description": "Gets or sets a value indicating whether [name available].",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "Gets or sets the reason.",
+ "type": "string"
+ }
+ },
+ "title": "CheckNameAvailabilityResult",
+ "type": "object"
+ },
+ "ClientDiscoveryDisplay": {
+ "description": "Localized display information of an operation.",
+ "properties": {
+ "description": {
+ "description": "Description of the operation having details of what operation is about.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operations Name itself.",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Name of the provider for display purposes",
+ "type": "string"
+ },
+ "resource": {
+ "description": "ResourceType for which this Operation can be performed.",
+ "type": "string"
+ }
+ },
+ "title": "ClientDiscoveryDisplay",
+ "type": "object"
+ },
+ "ClientDiscoveryForLogSpecification": {
+ "description": "Class to represent shoebox log specification in json client discovery.",
+ "properties": {
+ "blobDuration": {
+ "description": "blob duration of shoebox log specification",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized display name",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name for shoebox log specification.",
+ "type": "string"
+ }
+ },
+ "title": "ClientDiscoveryForLogSpecification",
+ "type": "object"
+ },
+ "ClientDiscoveryForProperties": {
+ "description": "Class to represent shoebox properties in json client discovery.",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ClientDiscoveryForServiceSpecification",
+ "description": "Operation properties."
+ }
+ },
+ "title": "ClientDiscoveryForProperties",
+ "type": "object"
+ },
+ "ClientDiscoveryForServiceSpecification": {
+ "description": "Class to represent shoebox service specification in json client discovery.",
+ "properties": {
+ "logSpecifications": {
+ "description": "List of log specifications of this operation.",
+ "items": {
+ "$ref": "#/definitions/ClientDiscoveryForLogSpecification"
+ },
+ "type": "array"
+ }
+ },
+ "title": "ClientDiscoveryForServiceSpecification",
+ "type": "object"
+ },
+ "ClientDiscoveryResponse": {
+ "description": "Operations List response which contains list of available APIs.",
+ "properties": {
+ "nextLink": {
+ "description": "Link to the next chunk of Response.",
+ "type": "string"
+ },
+ "value": {
+ "description": "List of available operations.",
+ "items": {
+ "$ref": "#/definitions/ClientDiscoveryValueForSingleApi"
+ },
+ "type": "array"
+ }
+ },
+ "title": "ClientDiscoveryResponse",
+ "type": "object"
+ },
+ "ClientDiscoveryValueForSingleApi": {
+ "description": "Available operation details.",
+ "properties": {
+ "display": {
+ "$ref": "#/definitions/ClientDiscoveryDisplay",
+ "description": "Contains the localized display information for this particular operation"
+ },
+ "name": {
+ "description": "Name of the Operation.",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "origin": {
+ "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/ClientDiscoveryForProperties",
+ "description": "Properties for the given operation."
+ }
+ },
+ "title": "ClientDiscoveryValueForSingleApi",
+ "type": "object"
+ },
+ "CloudError": {
+ "description": "An error response from Azure Backup.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "title": "CloudError",
+ "x-ms-external": true
+ },
+ "CopyOnExpiryOption": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyOption"
+ }
+ ],
+ "description": "Copy on Expiry Option",
+ "required": [
+ "objectType"
+ ],
+ "title": "CopyOnExpiryOption",
+ "type": "object",
+ "x-ms-discriminator-value": "CopyOnExpiryOption"
+ },
+ "CopyOption": {
+ "description": "Options to copy",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "CopyOption",
+ "type": "object"
+ },
+ "CustomCopyOption": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyOption"
+ }
+ ],
+ "description": "Duration based custom options to copy",
+ "properties": {
+ "duration": {
+ "description": "Data copied after given timespan",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "CustomCopyOption",
+ "type": "object",
+ "x-ms-discriminator-value": "CustomCopyOption"
+ },
+ "Datasource": {
+ "description": "Datasource to be backed up",
+ "properties": {
+ "datasourceType": {
+ "description": "DatasourceType of the resource.",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "Type of Datasource object, used to initialize the right inherited type",
+ "type": "string"
+ },
+ "resourceID": {
+ "description": "Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the ID created by backup service via Fabric/Vault.",
+ "type": "string"
+ },
+ "resourceLocation": {
+ "description": "Location of datasource.",
+ "type": "string"
+ },
+ "resourceName": {
+ "description": "Unique identifier of the resource in the context of parent.",
+ "type": "string"
+ },
+ "resourceType": {
+ "description": "Resource Type of Datasource.",
+ "type": "string"
+ },
+ "resourceUri": {
+ "description": "Uri of the resource.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "resourceID"
+ ],
+ "title": "Datasource",
+ "type": "object"
+ },
+ "DatasourceSet": {
+ "description": "DatasourceSet details of datasource to be backed up",
+ "properties": {
+ "datasourceType": {
+ "description": "DatasourceType of the resource.",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "Type of Datasource object, used to initialize the right inherited type",
+ "type": "string"
+ },
+ "resourceID": {
+ "description": "Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the ID created by backup service via Fabric/Vault.",
+ "type": "string"
+ },
+ "resourceLocation": {
+ "description": "Location of datasource.",
+ "type": "string"
+ },
+ "resourceName": {
+ "description": "Unique identifier of the resource in the context of parent.",
+ "type": "string"
+ },
+ "resourceType": {
+ "description": "Resource Type of Datasource.",
+ "type": "string"
+ },
+ "resourceUri": {
+ "description": "Uri of the resource.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "resourceID"
+ ],
+ "title": "DatasourceSet",
+ "type": "object"
+ },
+ "DataStoreInfoBase": {
+ "description": "DataStoreInfo base",
+ "properties": {
+ "dataStoreType": {
+ "description": "type of datastore; Operational/Vault/Archive",
+ "enum": [
+ "OperationalStore",
+ "VaultStore",
+ "ArchiveStore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "DataStoreTypes"
+ }
+ },
+ "objectType": {
+ "description": "Type of Datasource object, used to initialize the right inherited type",
+ "readOnly": false,
+ "type": "string"
+ }
+ },
+ "required": [
+ "dataStoreType",
+ "objectType"
+ ],
+ "title": "DataStoreInfoBase",
+ "type": "object"
+ },
+ "DataStoreParameters": {
+ "description": "Parameters for DataStore",
+ "required": [
+ "objectType",
+ "dataStoreType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string",
+ "readOnly": false
+ },
+ "dataStoreType": {
+ "description": "type of datastore; Operational/Vault/Archive",
+ "enum": [
+ "OperationalStore",
+ "VaultStore",
+ "ArchiveStore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataStoreTypes",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "Day": {
+ "description": "Day of the week",
+ "properties": {
+ "date": {
+ "description": "Date of the month",
+ "format": "int32",
+ "type": "integer"
+ },
+ "isLast": {
+ "description": "Whether Date is last date of month",
+ "type": "boolean"
+ }
+ },
+ "title": "Day",
+ "type": "object"
+ },
+ "DeleteOption": {
+ "description": "Delete Option",
+ "discriminator": "objectType",
+ "properties": {
+ "duration": {
+ "description": "Duration of deletion after given timespan",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "required": [
+ "duration",
+ "objectType"
+ ],
+ "title": "DeleteOption",
+ "type": "object"
+ },
+ "DppIdentityDetails": {
+ "description": "Identity details",
+ "properties": {
+ "principalId": {
+ "description": "The object ID of the service principal object for the managed identity that is used to grant role-based access to an Azure resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "A Globally Unique Identifier (GUID) that represents the Azure AD tenant where the resource is now a member.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "The identityType which can be either SystemAssigned or None",
+ "type": "string"
+ }
+ },
+ "title": "DppIdentityDetails",
+ "type": "object"
+ },
+ "DppResource": {
+ "description": "Resource class",
+ "properties": {
+ "id": {
+ "description": "Resource Id represents the complete path to the resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "Resource name associated with the resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
+ "readOnly": true,
+ "type": "string"
+ },
+ "systemData": {
+ "$ref": "#/definitions/systemData"
+ }
+ },
+ "title": "DppResource",
+ "type": "object",
+ "x-ms-azure-resource": true
+ },
+ "DppResourceList": {
+ "description": "ListResource",
+ "properties": {
+ "nextLink": {
+ "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.",
+ "type": "string"
+ }
+ },
+ "title": "List Resource",
+ "type": "object"
+ },
+ "DppTrackedResource": {
+ "properties": {
+ "eTag": {
+ "description": "Optional ETag.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Resource Id represents the complete path to the resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "identity": {
+ "$ref": "#/definitions/DppIdentityDetails",
+ "description": "Input Managed Identity Details"
+ },
+ "location": {
+ "description": "Resource location.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Resource name associated with the resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags.",
+ "type": "object"
+ },
+ "type": {
+ "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
+ "readOnly": true,
+ "type": "string"
+ },
+ "systemData": {
+ "$ref": "#/definitions/systemData"
+ }
+ },
+ "type": "object",
+ "x-ms-azure-resource": true
+ },
+ "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."
+ }
+ }
+ },
+ "DppTrackedResourceList": {
+ "properties": {
+ "nextLink": {
+ "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DppWorkerRequest": {
+ "type": "object",
+ "properties": {
+ "subscriptionId": {
+ "type": "string"
+ },
+ "uri": {
+ "type": "string"
+ },
+ "headers": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "supportedGroupVersions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cultureInfo": {
+ "type": "string"
+ },
+ "parameters": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "httpMethod": {
+ "type": "string"
+ }
+ }
+ },
+ "Error": {
+ "description": "The resource management error response.",
+ "properties": {
+ "additionalInfo": {
+ "description": "The error additional info.",
+ "items": {
+ "$ref": "#/definitions/ErrorAdditionalInfo"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "code": {
+ "description": "The error code.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "details": {
+ "description": "The error details.",
+ "items": {
+ "$ref": "#/definitions/Error"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "message": {
+ "description": "The error message.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "target": {
+ "description": "The error target.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "ErrorAdditionalInfo": {
+ "description": "The resource management error additional info.",
+ "properties": {
+ "info": {
+ "description": "The additional info.",
+ "readOnly": true,
+ "type": "object"
+ },
+ "type": {
+ "description": "The additional info type.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "ExportJobsResult": {
+ "description": "The result for export jobs containing blob details.",
+ "properties": {
+ "blobUrl": {
+ "description": "URL of the blob into which the serialized string of list of jobs is exported.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "blobSasKey": {
+ "description": "SAS key to access the blob.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "excelFileBlobUrl": {
+ "description": "URL of the blob into which the ExcelFile is uploaded.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "excelFileBlobSasKey": {
+ "description": "SAS key to access the ExcelFile blob.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "title": "ExportJobsResult",
+ "type": "object"
+ },
+ "FeatureValidationRequest": {
+ "description": "Base class for feature object",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FeatureValidationRequestBase"
+ }
+ ],
+ "properties": {
+ "featureType": {
+ "description": "backup support feature type.",
+ "enum": [
+ "Invalid",
+ "DataSourceType"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FeatureType",
+ "modelAsString": true
+ }
+ },
+ "featureName": {
+ "description": "backup support feature name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "FeatureValidationRequest"
+ },
+ "FeatureValidationRequestBase": {
+ "description": "Base class for Backup Feature support",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string",
+ "readOnly": false
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "FeatureValidationResponse": {
+ "description": "Feature Validation Response",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FeatureValidationResponseBase"
+ }
+ ],
+ "properties": {
+ "featureType": {
+ "description": "backup support feature type.",
+ "enum": [
+ "Invalid",
+ "DataSourceType"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FeatureType",
+ "modelAsString": true
+ }
+ },
+ "features": {
+ "description": "Response features",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SupportedFeature"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "FeatureValidationResponse"
+ },
+ "FeatureValidationResponseBase": {
+ "description": "Base class for Backup Feature support",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string",
+ "readOnly": false
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "ImmediateCopyOption": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyOption"
+ }
+ ],
+ "description": "Immediate copy Option",
+ "required": [
+ "objectType"
+ ],
+ "title": "ImmediateCopyOption",
+ "type": "object",
+ "x-ms-discriminator-value": "ImmediateCopyOption"
+ },
+ "InnerError": {
+ "description": "Inner Error",
+ "properties": {
+ "additionalInfo": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Any Key value pairs that can be provided to the client for additional verbose information.",
+ "type": "object"
+ },
+ "code": {
+ "description": "Unique code for this error",
+ "type": "string"
+ },
+ "embeddedInnerError": {
+ "$ref": "#/definitions/InnerError",
+ "description": "Child Inner Error, to allow Nesting."
+ }
+ },
+ "title": "InnerError",
+ "type": "object"
+ },
+ "ItemLevelRestoreCriteria": {
+ "description": "Class to contain criteria for item level restore",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "ItemLevelRestoreTargetInfo": {
+ "description": "Restore target info for Item level restore operation",
+ "required": [
+ "restoreCriteria",
+ "datasourceInfo",
+ "recoveryOption"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreTargetInfoBase"
+ }
+ ],
+ "properties": {
+ "restoreCriteria": {
+ "description": "Restore Criteria",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ItemLevelRestoreCriteria"
+ }
+ },
+ "datasourceInfo": {
+ "$ref": "#/definitions/Datasource",
+ "description": "Information of target DS"
+ },
+ "datasourceSetInfo": {
+ "$ref": "#/definitions/DatasourceSet",
+ "description": "Information of target DS Set"
+ },
+ "datasourceAuthCredentials": {
+ "$ref": "#/definitions/AuthCredentials",
+ "description": "Credentials to use to authenticate with data source provider."
+ }
+ },
+ "x-ms-discriminator-value": "ItemLevelRestoreTargetInfo"
+ },
+ "JobExtendedInfo": {
+ "description": "Extended Information about the job",
+ "properties": {
+ "additionalDetails": {
+ "additionalProperties": {
+ "readOnly": true,
+ "type": "string"
+ },
+ "description": "Job's Additional Details"
+ },
+ "backupInstanceState": {
+ "description": "State of the Backup Instance",
+ "readOnly": true,
+ "type": "string"
+ },
+ "dataTransferredInBytes": {
+ "description": "Number of bytes transferred",
+ "format": "double",
+ "readOnly": true,
+ "type": "number"
+ },
+ "recoveryDestination": {
+ "description": "Destination where restore is done",
+ "readOnly": true,
+ "type": "string"
+ },
+ "sourceRecoverPoint": {
+ "$ref": "#/definitions/RestoreJobRecoveryPointDetails",
+ "description": "Details of the Source Recovery Point",
+ "readOnly": true
+ },
+ "subTasks": {
+ "description": "List of Sub Tasks of the job",
+ "items": {
+ "$ref": "#/definitions/JobSubTask"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "targetRecoverPoint": {
+ "$ref": "#/definitions/RestoreJobRecoveryPointDetails",
+ "description": "Details of the Target Recovery Point",
+ "readOnly": true
+ }
+ },
+ "type": "object"
+ },
+ "JobSubTask": {
+ "description": "Details of Job's Sub Task",
+ "properties": {
+ "additionalDetails": {
+ "additionalProperties": {
+ "readOnly": true,
+ "type": "string"
+ },
+ "description": "Additional details of Sub Tasks"
+ },
+ "taskId": {
+ "description": "Task Id of the Sub Task",
+ "format": "int32",
+ "type": "integer"
+ },
+ "taskName": {
+ "description": "Name of the Sub Task",
+ "type": "string"
+ },
+ "taskProgress": {
+ "description": "Progress of the Sub Task",
+ "readOnly": true,
+ "type": "string"
+ },
+ "taskStatus": {
+ "description": "Status of the Sub Task",
+ "type": "string"
+ }
+ },
+ "required": [
+ "taskId",
+ "taskName",
+ "taskStatus"
+ ],
+ "type": "object"
+ },
+ "OperationExtendedInfo": {
+ "description": "Operation Extended Info",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "title": "OperationExtendedInfo",
+ "type": "object"
+ },
+ "OperationJobExtendedInfo": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationExtendedInfo"
+ }
+ ],
+ "description": "Operation Job Extended Info",
+ "properties": {
+ "jobId": {
+ "description": "Arm Id of the job created for this operation.",
+ "type": "string"
+ }
+ },
+ "title": "OperationJobExtendedInfo",
+ "type": "object",
+ "x-ms-discriminator-value": "OperationJobExtendedInfo"
+ },
+ "OperationResource": {
+ "description": "Operation Resource",
+ "properties": {
+ "endTime": {
+ "description": "End time of the operation",
+ "format": "date-time",
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Required if status == failed or status == canceled. This is the OData v4 error format, used by the RPC and will go into the v2.2 Azure REST API guidelines.\r\nThe full set of optional properties (e.g. inner errors / details) can be found in the \"Error Response\" section."
+ },
+ "id": {
+ "description": "It should match what is used to GET the operation result",
+ "type": "string"
+ },
+ "name": {
+ "description": "It must match the last segment of the \"id\" field, and will typically be a GUID / system generated value",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationExtendedInfo",
+ "description": "End time of the operation"
+ },
+ "startTime": {
+ "description": "Start time of the operation",
+ "format": "date-time",
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ }
+ },
+ "title": "OperationResource",
+ "type": "object"
+ },
+ "PatchResourceRequestInput": {
+ "description": "Patch Request content for Microsoft.DataProtection resources",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/DppIdentityDetails",
+ "description": "Input Managed Identity Details"
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags.",
+ "type": "object"
+ }
+ },
+ "title": "PatchResourceRequestInput",
+ "type": "object"
+ },
+ "PolicyInfo": {
+ "description": "Policy Info in backupInstance",
+ "properties": {
+ "policyId": {
+ "type": "string"
+ },
+ "policyVersion": {
+ "readOnly": true,
+ "type": "string"
+ },
+ "policyParameters": {
+ "$ref": "#/definitions/PolicyParameters",
+ "description": "Policy parameters for the backup instance"
+ }
+ },
+ "required": [
+ "policyId"
+ ],
+ "title": "PolicyInfo",
+ "type": "object"
+ },
+ "PolicyParameters": {
+ "description": "Parameters in Policy",
+ "type": "object",
+ "properties": {
+ "dataStoreParametersList": {
+ "description": "Gets or sets the DataStore Parameters",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataStoreParameters"
+ }
+ }
+ }
+ },
+ "ProtectionStatusDetails": {
+ "description": "Protection status details",
+ "properties": {
+ "errorDetails": {
+ "$ref": "#/definitions/UserFacingError",
+ "description": "Specifies the protection status error of the resource"
+ },
+ "status": {
+ "description": "Specifies the protection status of the resource",
+ "enum": [
+ "ConfiguringProtection",
+ "ConfiguringProtectionFailed",
+ "ProtectionConfigured",
+ "ProtectionStopped",
+ "SoftDeleted",
+ "SoftDeleting"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "Status"
+ }
+ }
+ },
+ "title": "ProtectionStatusDetails",
+ "type": "object"
+ },
+ "RangeBasedItemLevelRestoreCriteria": {
+ "description": "Item Level target info for restore operation",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ItemLevelRestoreCriteria"
+ }
+ ],
+ "properties": {
+ "minMatchingValue": {
+ "description": "minimum value for range prefix match",
+ "type": "string"
+ },
+ "maxMatchingValue": {
+ "description": "maximum value for range prefix match",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "RangeBasedItemLevelRestoreCriteria"
+ },
+ "RecoveryPointDataStoreDetails": {
+ "description": "RecoveryPoint datastore details",
+ "properties": {
+ "creationTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "expiryTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "metaData": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "visible": {
+ "type": "boolean"
+ },
+ "rehydrationExpiryTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "rehydrationStatus": {
+ "readOnly": true,
+ "enum": [
+ "CREATE_IN_PROGRESS",
+ "COMPLETED",
+ "DELETE_IN_PROGRESS",
+ "DELETED",
+ "FAILED"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "RehydrationStatus"
+ }
+ }
+ },
+ "title": "RecoveryPointDataStoreDetails",
+ "type": "object"
+ },
+ "RehydrationPriority": {
+ "description": "Priority to be used for rehydration. Values High or Standard",
+ "enum": [
+ "Invalid",
+ "High",
+ "Standard"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "RehydrationPriority"
+ }
+ },
+ "RestoreFilesTargetInfo": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreTargetInfoBase"
+ }
+ ],
+ "description": "Class encapsulating restore as files target parameters",
+ "properties": {
+ "targetDetails": {
+ "$ref": "#/definitions/TargetDetails",
+ "description": "Destination of RestoreAsFiles operation, when destination is not a datasource"
+ }
+ },
+ "required": [
+ "recoveryOption",
+ "targetDetails"
+ ],
+ "type": "object",
+ "x-ms-discriminator-value": "RestoreFilesTargetInfo"
+ },
+ "RestoreJobRecoveryPointDetails": {
+ "properties": {
+ "recoveryPointID": {
+ "type": "string"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RestoreTargetInfo": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreTargetInfoBase"
+ }
+ ],
+ "description": "Class encapsulating restore target parameters",
+ "properties": {
+ "datasourceInfo": {
+ "$ref": "#/definitions/Datasource",
+ "description": "Information of target DS"
+ },
+ "datasourceSetInfo": {
+ "$ref": "#/definitions/DatasourceSet",
+ "description": "Information of target DS Set"
+ },
+ "datasourceAuthCredentials": {
+ "$ref": "#/definitions/AuthCredentials",
+ "description": "Credentials to use to authenticate with data source provider."
+ }
+ },
+ "required": [
+ "datasourceInfo",
+ "recoveryOption"
+ ],
+ "type": "object",
+ "x-ms-discriminator-value": "RestoreTargetInfo"
+ },
+ "RestoreTargetInfoBase": {
+ "description": "Base class common to RestoreTargetInfo and RestoreFilesTargetInfo",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "description": "Type of Datasource object, used to initialize the right inherited type",
+ "type": "string"
+ },
+ "recoveryOption": {
+ "description": "Recovery Option",
+ "enum": [
+ "FailIfExists"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "RecoveryOption"
+ }
+ },
+ "restoreLocation": {
+ "description": "Target Restore region",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType",
+ "recoveryOption"
+ ],
+ "type": "object"
+ },
+ "RestorableTimeRange": {
+ "required": [
+ "startTime",
+ "endTime"
+ ],
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "description": "Start time for the available restore range",
+ "type": "string"
+ },
+ "endTime": {
+ "description": "End time for the available restore range",
+ "type": "string"
+ },
+ "objectType": {
+ "type": "string"
+ }
+ }
+ },
+ "RetentionTag": {
+ "description": "Retention tag",
+ "properties": {
+ "eTag": {
+ "description": "Retention Tag version.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "id": {
+ "description": "Retention Tag version.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "tagName": {
+ "description": "Retention Tag Name to relate it to retention rule.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tagName"
+ ],
+ "title": "RetentionTag",
+ "type": "object"
+ },
+ "ScheduleBasedBackupCriteria": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupCriteria"
+ }
+ ],
+ "description": "Schedule based backup criteria",
+ "properties": {
+ "absoluteCriteria": {
+ "description": "it contains absolute values like \"AllBackup\" / \"FirstOfDay\" / \"FirstOfWeek\" / \"FirstOfMonth\"\r\nand should be part of AbsoluteMarker enum",
+ "items": {
+ "enum": [
+ "AllBackup",
+ "FirstOfDay",
+ "FirstOfMonth",
+ "FirstOfWeek",
+ "FirstOfYear"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "AbsoluteMarker"
+ }
+ },
+ "type": "array"
+ },
+ "daysOfMonth": {
+ "description": "This is day of the month from 1 to 28 other wise last of month",
+ "items": {
+ "$ref": "#/definitions/Day"
+ },
+ "type": "array"
+ },
+ "daysOfTheWeek": {
+ "description": "It should be Sunday/Monday/T..../Saturday",
+ "items": {
+ "enum": [
+ "Friday",
+ "Monday",
+ "Saturday",
+ "Sunday",
+ "Thursday",
+ "Tuesday",
+ "Wednesday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "DayOfWeek"
+ }
+ },
+ "type": "array"
+ },
+ "monthsOfYear": {
+ "description": "It should be January/February/....../December",
+ "items": {
+ "enum": [
+ "April",
+ "August",
+ "December",
+ "February",
+ "January",
+ "July",
+ "June",
+ "March",
+ "May",
+ "November",
+ "October",
+ "September"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "Month"
+ }
+ },
+ "type": "array"
+ },
+ "scheduleTimes": {
+ "description": "List of schedule times for backup",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "weeksOfTheMonth": {
+ "description": "It should be First/Second/Third/Fourth/Last",
+ "items": {
+ "enum": [
+ "First",
+ "Fourth",
+ "Last",
+ "Second",
+ "Third"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "WeekNumber"
+ }
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "ScheduleBasedBackupCriteria",
+ "type": "object",
+ "x-ms-discriminator-value": "ScheduleBasedBackupCriteria"
+ },
+ "ScheduleBasedTriggerContext": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/TriggerContext"
+ }
+ ],
+ "description": "Schedule based trigger context",
+ "properties": {
+ "schedule": {
+ "$ref": "#/definitions/BackupSchedule",
+ "description": "Schedule for this backup"
+ },
+ "taggingCriteria": {
+ "description": "List of tags that can be applicable for given schedule.",
+ "items": {
+ "$ref": "#/definitions/TaggingCriteria"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "objectType",
+ "schedule",
+ "taggingCriteria"
+ ],
+ "title": "ScheduleBasedTriggerContext",
+ "type": "object",
+ "x-ms-discriminator-value": "ScheduleBasedTriggerContext"
+ },
+ "SecretStoreBasedAuthCredentials": {
+ "description": "Secret store based authentication credentials.",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AuthCredentials"
+ }
+ ],
+ "properties": {
+ "secretStoreResource": {
+ "$ref": "#/definitions/SecretStoreResource",
+ "description": "Secret store resource"
+ }
+ },
+ "x-ms-discriminator-value": "SecretStoreBasedAuthCredentials"
+ },
+ "SecretStoreResource": {
+ "description": "Class representing a secret store resource.",
+ "required": [
+ "secretStoreType"
+ ],
+ "type": "object",
+ "properties": {
+ "uri": {
+ "description": "Uri to get to the resource",
+ "type": "string"
+ },
+ "secretStoreType": {
+ "description": "Gets or sets the type of secret store",
+ "enum": [
+ "Invalid",
+ "AzureKeyVault"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SecretStoreType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "SourceLifeCycle": {
+ "description": "Source LifeCycle",
+ "properties": {
+ "deleteAfter": {
+ "$ref": "#/definitions/DeleteOption"
+ },
+ "sourceDataStore": {
+ "$ref": "#/definitions/DataStoreInfoBase"
+ },
+ "targetDataStoreCopySettings": {
+ "items": {
+ "$ref": "#/definitions/TargetCopySetting"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "deleteAfter",
+ "sourceDataStore"
+ ],
+ "title": "SourceLifeCycle",
+ "type": "object"
+ },
+ "StorageSetting": {
+ "description": "Storage setting",
+ "properties": {
+ "datastoreType": {
+ "description": "Gets or sets the type of the datastore.",
+ "enum": [
+ "ArchiveStore",
+ "SnapshotStore",
+ "VaultStore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "StorageSettingStoreTypes"
+ }
+ },
+ "type": {
+ "description": "Gets or sets the type.",
+ "enum": [
+ "GeoRedundant",
+ "LocallyRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "StorageSettingTypes"
+ }
+ }
+ },
+ "title": "StorageSetting",
+ "type": "object"
+ },
+ "SupportedFeature": {
+ "description": "Elements class for feature request",
+ "type": "object",
+ "properties": {
+ "featureName": {
+ "description": "support feature type.",
+ "type": "string"
+ },
+ "supportStatus": {
+ "description": "feature support status",
+ "enum": [
+ "Invalid",
+ "NotSupported",
+ "AlphaPreview",
+ "PrivatePreview",
+ "PublicPreview",
+ "GenerallyAvailable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FeatureSupportStatus",
+ "modelAsString": true
+ }
+ },
+ "exposureControlledFeatures": {
+ "description": "support feature type.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SyncBackupInstanceRequest": {
+ "description": "Sync BackupInstance Request",
+ "type": "object",
+ "properties": {
+ "syncType": {
+ "description": "Field indicating sync type e.g. to sync only in case of failure or in all cases",
+ "enum": [
+ "Default",
+ "ForceResync"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SyncType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "TaggingCriteria": {
+ "description": "Tagging criteria",
+ "properties": {
+ "criteria": {
+ "description": "Criteria which decides whether the tag can be applied to a triggered backup.",
+ "items": {
+ "$ref": "#/definitions/BackupCriteria"
+ },
+ "type": "array"
+ },
+ "isDefault": {
+ "description": "Specifies if tag is default.",
+ "type": "boolean"
+ },
+ "taggingPriority": {
+ "description": "Retention Tag priority.",
+ "format": "int64",
+ "type": "integer"
+ },
+ "tagInfo": {
+ "$ref": "#/definitions/RetentionTag",
+ "description": "Retention tag information"
+ }
+ },
+ "required": [
+ "isDefault",
+ "tagInfo",
+ "taggingPriority"
+ ],
+ "title": "TaggingCriteria",
+ "type": "object"
+ },
+ "TargetCopySetting": {
+ "description": "Target copy settings",
+ "properties": {
+ "copyAfter": {
+ "$ref": "#/definitions/CopyOption",
+ "description": "It can be CustomCopyOption or ImmediateCopyOption."
+ },
+ "dataStore": {
+ "$ref": "#/definitions/DataStoreInfoBase",
+ "description": "Info of target datastore"
+ }
+ },
+ "required": [
+ "copyAfter",
+ "dataStore"
+ ],
+ "title": "TargetCopySetting",
+ "type": "object"
+ },
+ "TargetDetails": {
+ "description": "Class encapsulating target details, used where the destination is not a datasource",
+ "properties": {
+ "filePrefix": {
+ "description": "Restore operation may create multiple files inside location pointed by Url\r\nBelow will be the common prefix for all of them",
+ "type": "string"
+ },
+ "restoreTargetLocationType": {
+ "description": "Denotes the target location where the data will be restored,\r\nstring value for the enum {Microsoft.Internal.AzureBackup.DataProtection.Common.Interface.RestoreTargetLocationType}",
+ "enum": [
+ "Invalid",
+ "AzureBlobs",
+ "AzureFiles"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestoreTargetLocationType",
+ "modelAsString": true
+ }
+ },
+ "url": {
+ "description": "Url denoting the restore destination. It can point to container / file share etc",
+ "type": "string"
+ }
+ },
+ "required": [
+ "filePrefix",
+ "restoreTargetLocationType",
+ "url"
+ ],
+ "type": "object"
+ },
+ "TriggerBackupRequest": {
+ "description": "Trigger backup request",
+ "properties": {
+ "backupRuleOptions": {
+ "$ref": "#/definitions/AdHocBackupRuleOptions",
+ "description": "Name for the Rule of the Policy which needs to be applied for this backup"
+ }
+ },
+ "required": [
+ "backupRuleOptions"
+ ],
+ "title": "TriggerBackupRequest",
+ "type": "object"
+ },
+ "TriggerContext": {
+ "description": "Trigger context",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "TriggerContext",
+ "type": "object"
+ },
+ "UserFacingError": {
+ "description": "Error object used by layers that have access to localized content, and propagate that to user",
+ "properties": {
+ "code": {
+ "description": "Unique code for this error",
+ "type": "string"
+ },
+ "details": {
+ "description": "Additional related Errors",
+ "items": {
+ "$ref": "#/definitions/UserFacingError"
+ },
+ "type": "array"
+ },
+ "innerError": {
+ "$ref": "#/definitions/InnerError",
+ "description": "Inner Error"
+ },
+ "isRetryable": {
+ "description": "Whether the operation will be retryable or not",
+ "type": "boolean"
+ },
+ "isUserError": {
+ "description": "Whether the operation is due to a user error or service error",
+ "type": "boolean"
+ },
+ "properties": {
+ "description": "Any key value pairs that can be injected inside error object",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "message": {
+ "type": "string"
+ },
+ "recommendedAction": {
+ "description": "RecommendedAction � localized.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "target": {
+ "description": "Target of the error.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ValidateForBackupRequest": {
+ "description": "Validate for backup request",
+ "properties": {
+ "backupInstance": {
+ "$ref": "#/definitions/BackupInstance"
+ }
+ },
+ "required": [
+ "backupInstance"
+ ],
+ "title": "ValidateForBackupRequest",
+ "type": "object"
+ },
+ "ValidateRestoreRequestObject": {
+ "description": "Validate restore request object",
+ "properties": {
+ "restoreRequestObject": {
+ "$ref": "#/definitions/AzureBackupRestoreRequest",
+ "description": "Gets or sets the restore request object."
+ }
+ },
+ "required": [
+ "restoreRequestObject"
+ ],
+ "title": "ValidateRestoreRequestObject",
+ "type": "object"
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription Id.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group where the backup vault is present.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "VaultName": {
+ "name": "vaultName",
+ "in": "path",
+ "description": "The name of the backup vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account."
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/DeleteBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/DeleteBackupInstance.json
new file mode 100644
index 000000000000..29b0e798cf32
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/DeleteBackupInstance.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "backupInstanceName": "testInstance1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/FindRestorableTimeRanges.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/FindRestorableTimeRanges.json
new file mode 100644
index 000000000000..0c25fd77a94b
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/FindRestorableTimeRanges.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "Blob-Backup",
+ "vaultName": "ZBlobBackupVaultBVTD3",
+ "backupInstanceName": "zblobbackuptestsa58",
+ "api-version": "2021-06-01-preview",
+ "parameters": {
+ "sourceDataStoreType": "OperationalStore",
+ "startTime": "2021-02-17T23:28:17.6829685Z",
+ "endTime": "2021-06-24T00:35:17.6829685Z"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "zblobbackuptestsa58",
+ "type": "Microsoft.DataProtection/backupVaults/backupInstances/findRestorableTimeRanges",
+ "properties": {
+ "restorableTimeRanges": [
+ {
+ "startTime": "2021-06-23T18:33:51.6349708Z",
+ "endTime": "2021-06-24T00:35:17.0000000Z",
+ "objectType": "RestorableTimeRange"
+ }
+ ],
+ "objectType": "AzureBackupFindRestorableTimeRangesResponse"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/GetBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/GetBackupInstance.json
new file mode 100644
index 000000000000..fc1f1fdd02e2
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/GetBackupInstance.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-06-01-preview",
+ "backupInstanceName": "testInstance1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2",
+ "name": "harshitbi2",
+ "type": "Microsoft.DataProtection/backupVaults/backupInstances",
+ "properties": {
+ "friendlyName": "harshitbi2",
+ "dataSourceInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "testdb",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "Datasource"
+ },
+ "dataSourceSetInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "viveksipgtest",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "DatasourceSet"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1",
+ "policyVersion": "3.2"
+ },
+ "protectionStatus": {
+ "status": "NotProtected"
+ },
+ "provisioningState": "Provisioning",
+ "objectType": "BackupInstance"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/GetRecoveryPoint.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/GetRecoveryPoint.json
new file mode 100644
index 000000000000..422dab6bee10
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/GetRecoveryPoint.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-06-01-preview",
+ "backupInstanceName": "testInstance1",
+ "recoveryPointId": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints",
+ "properties": {
+ "objectType": "AzureBackupDiscreteRecoveryPoint",
+ "recoveryPointTime": "2019-03-01T13:00:00Z",
+ "recoveryPointType": "Full",
+ "friendlyName": "panbha4",
+ "recoveryPointDataStoresDetails": [
+ {
+ "id": "0ff03512-b333-4509-a6c7-12164c8b1dce",
+ "type": "Snapshot",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ },
+ {
+ "id": "5d8cfd30-722e-4bab-85f6-4a9d01ffc6f1",
+ "type": "BackupStorage",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ListBackupInstances.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ListBackupInstances.json
new file mode 100644
index 000000000000..10d78a41e566
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ListBackupInstances.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2",
+ "name": "harshitbi2",
+ "type": "Microsoft.DataProtection/backupVaults/backupInstances",
+ "properties": {
+ "friendlyName": "harshitbi2",
+ "dataSourceInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "testdb",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "Datasource"
+ },
+ "dataSourceSetInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "viveksipgtest",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "DatasourceSet"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1",
+ "policyVersion": "3.2"
+ },
+ "protectionStatus": {
+ "status": "NotProtected"
+ },
+ "provisioningState": "Provisioning",
+ "objectType": "BackupInstance"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ListRecoveryPoints.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ListRecoveryPoints.json
new file mode 100644
index 000000000000..28fc75238e13
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ListRecoveryPoints.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-06-01-preview",
+ "backupInstanceName": "testInstance1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5e35",
+ "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints",
+ "properties": {
+ "objectType": "AzureBackupDiscreteRecoveryPoint",
+ "recoveryPointTime": "2019-03-01T13:00:00Z",
+ "recoveryPointType": "Full",
+ "friendlyName": "panbha4",
+ "recoveryPointDataStoresDetails": [
+ {
+ "id": "0ff03512-b333-4509-a6c7-12164c8b1dce",
+ "type": "Snapshot",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ },
+ {
+ "id": "5d8cfd30-722e-4bab-85f6-4a9d01ffc6f1",
+ "type": "BackupStorage",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints",
+ "properties": {
+ "objectType": "AzureBackupDiscreteRecoveryPoint",
+ "recoveryPointTime": "2019-03-01T13:00:00Z",
+ "recoveryPointType": "Full",
+ "friendlyName": "panbha4",
+ "recoveryPointDataStoresDetails": [
+ {
+ "id": "808cfd30-722e-4bab-85f6-4a9d01ffc6f2",
+ "type": "Snapshot",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ },
+ {
+ "id": "798cfd30-722e-4bab-85f6-4a9d01ffc6f3",
+ "type": "BackupStorage",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/PutBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/PutBackupInstance.json
new file mode 100644
index 000000000000..390df288e0e2
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/PutBackupInstance.json
@@ -0,0 +1,150 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-06-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "properties": {
+ "objectType": "BackupInstance",
+ "friendlyName": "harshitbi2",
+ "dataSourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "dataSourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceName": "testdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "datasourceAuthCredentials": {
+ "secretStoreResource": {
+ "uri": "https://samplevault.vault.azure.net/secrets/credentials",
+ "secretStoreType": "AzureKeyVault"
+ },
+ "objectType": "SecretStoreBasedAuthCredentials"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/Backupvaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1",
+ "policyParameters": {
+ "dataStoreParametersList": [
+ {
+ "objectType": "AzureOperationalStoreParameters",
+ "dataStoreType": "OperationalStore",
+ "resourceGroupId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Retry-After": "60"
+ },
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2",
+ "name": "harshitbi2",
+ "type": "Microsoft.DataProtection/backupVaults/backupInstances",
+ "properties": {
+ "friendlyName": "harshitbi2",
+ "dataSourceInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "testdb",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "Datasource"
+ },
+ "dataSourceSetInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "viveksipgtest",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "DatasourceSet"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1",
+ "policyVersion": "3.2",
+ "policyParameters": {
+ "dataStoreParametersList": [
+ {
+ "objectType": "AzureOperationalStoreParameters",
+ "dataStoreType": "OperationalStore",
+ "resourceGroupId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest"
+ }
+ ]
+ }
+ },
+ "protectionStatus": {
+ "status": "NotProtected"
+ },
+ "provisioningState": "Provisioning",
+ "objectType": "BackupInstance"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2",
+ "name": "harshitbi2",
+ "type": "Microsoft.DataProtection/backupVaults/backupInstances",
+ "properties": {
+ "friendlyName": "harshitbi2",
+ "dataSourceInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "testdb",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "Datasource"
+ },
+ "dataSourceSetInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "viveksipgtest",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "DatasourceSet"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1",
+ "policyVersion": "3.2",
+ "policyParameters": {
+ "dataStoreParametersList": [
+ {
+ "objectType": "AzureOperationalStoreParameters",
+ "dataStoreType": "OperationalStore",
+ "resourceGroupId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest"
+ }
+ ]
+ }
+ },
+ "protectionStatus": {
+ "status": "NotProtected"
+ },
+ "provisioningState": "Provisioned",
+ "objectType": "BackupInstance"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ResumeBackups.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ResumeBackups.json
new file mode 100644
index 000000000000..4fd466f40b07
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ResumeBackups.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "testrg",
+ "vaultName": "testvault",
+ "backupInstanceName": "testbi",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupInstances/testbi/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ResumeProtection.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ResumeProtection.json
new file mode 100644
index 000000000000..4fd466f40b07
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ResumeProtection.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "testrg",
+ "vaultName": "testvault",
+ "backupInstanceName": "testbi",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupInstances/testbi/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/StopProtection.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/StopProtection.json
new file mode 100644
index 000000000000..4fd466f40b07
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/StopProtection.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "testrg",
+ "vaultName": "testvault",
+ "backupInstanceName": "testbi",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupInstances/testbi/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/SuspendBackups.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/SuspendBackups.json
new file mode 100644
index 000000000000..4fd466f40b07
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/SuspendBackups.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "testrg",
+ "vaultName": "testvault",
+ "backupInstanceName": "testbi",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupInstances/testbi/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/SyncBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/SyncBackupInstance.json
new file mode 100644
index 000000000000..6e14707f2dd8
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/SyncBackupInstance.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "testrg",
+ "vaultName": "testvault",
+ "backupInstanceName": "testbi",
+ "api-version": "2021-06-01-preview",
+ "parameters": {
+ "syncType": "Default"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/testrg/providers/Microsoft.DataProtection/backupInstances/testbi/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/TriggerBackup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/TriggerBackup.json
new file mode 100644
index 000000000000..3d2c6aa12d35
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/TriggerBackup.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-06-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "backupRuleOptions": {
+ "ruleName": "BackupWeekly",
+ "triggerOption": {
+ "retentionTagOverride": "yearly"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/TriggerRehydrate.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/TriggerRehydrate.json
new file mode 100644
index 000000000000..3446fca5d0bd
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/TriggerRehydrate.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-06-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "recoveryPointId": "hardcodedRP",
+ "rehydrationRetentionDuration": "7D",
+ "rehydrationPriority": "High"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/TriggerRestore.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/TriggerRestore.json
new file mode 100644
index 000000000000..6339323af14c
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/TriggerRestore.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-06-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
+ "recoveryPointId": "hardcodedRP",
+ "sourceDataStoreType": "VaultStore",
+ "restoreTargetInfo": {
+ "objectType": "RestoreTargetInfo",
+ "recoveryOption": "FailIfExists",
+ "datasourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "datasourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceName": "testdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "datasourceAuthCredentials": {
+ "secretStoreResource": {
+ "uri": "https://samplevault.vault.azure.net/secrets/credentials",
+ "secretStoreType": "AzureKeyVault"
+ },
+ "objectType": "SecretStoreBasedAuthCredentials"
+ },
+ "restoreLocation": "southeastasia"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/TriggerRestoreAsFiles.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/TriggerRestoreAsFiles.json
new file mode 100644
index 000000000000..f4e2c26e5c4b
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/TriggerRestoreAsFiles.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PrivatePreviewVault1",
+ "api-version": "2021-06-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
+ "recoveryPointId": "hardcodedRP",
+ "sourceDataStoreType": "VaultStore",
+ "restoreTargetInfo": {
+ "targetDetails": {
+ "url": "https://teststorage.blob.core.windows.net/restoretest",
+ "filePrefix": "restoredblob",
+ "restoreTargetLocationType": "AzureBlobs"
+ },
+ "restoreLocation": "southeastasia",
+ "recoveryOption": "FailIfExists",
+ "objectType": "RestoreFilesTargetInfo"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/testInstance1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json
new file mode 100644
index 000000000000..ac91cc477a56
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-06-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "objectType": "AzureBackupRestoreWithRehydrationRequest",
+ "recoveryPointId": "hardcodedRP",
+ "rehydrationRetentionDuration": "7D",
+ "rehydrationPriority": "High",
+ "sourceDataStoreType": "VaultStore",
+ "restoreTargetInfo": {
+ "objectType": "RestoreTargetInfo",
+ "recoveryOption": "FailIfExists",
+ "datasourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "datasourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceName": "testdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "restoreLocation": "southeastasia"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ValidateForBackup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ValidateForBackup.json
new file mode 100644
index 000000000000..5f2c81f0469e
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ValidateForBackup.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-06-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "backupInstance": {
+ "objectType": "BackupInstance",
+ "friendlyName": "harshitbi2",
+ "dataSourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "dataSourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceName": "testdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "datasourceAuthCredentials": {
+ "secretStoreResource": {
+ "uri": "https://samplevault.vault.azure.net/secrets/credentials",
+ "secretStoreType": "AzureKeyVault"
+ },
+ "objectType": "SecretStoreBasedAuthCredentials"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/Backupvaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ValidateRestore.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ValidateRestore.json
new file mode 100644
index 000000000000..6ef81263da6f
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/BackupInstanceOperations/ValidateRestore.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-06-01-preview",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "restoreRequestObject": {
+ "objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
+ "recoveryPointId": "hardcodedRP",
+ "sourceDataStoreType": "VaultStore",
+ "restoreTargetInfo": {
+ "objectType": "RestoreTargetInfo",
+ "recoveryOption": "FailIfExists",
+ "datasourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "datasourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceName": "testdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "datasourceAuthCredentials": {
+ "secretStoreResource": {
+ "uri": "https://samplevault.vault.azure.net/secrets/credentials",
+ "secretStoreType": "AzureKeyVault"
+ },
+ "objectType": "SecretStoreBasedAuthCredentials"
+ },
+ "restoreLocation": "southeastasia"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/CheckfeatureSupport.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/CheckfeatureSupport.json
new file mode 100644
index 000000000000..de752b16ca28
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/CheckfeatureSupport.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "location": "WestUS",
+ "api-version": "2021-06-01-preview",
+ "parameters": {
+ "featureType": "DataSourceType",
+ "objectType": "FeatureValidationRequest"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "featureType": "DataSourceType",
+ "features": [
+ {
+ "featureName": "Microsoft.Storage/storageAccounts/blobServices",
+ "supportStatus": "PrivatePreview",
+ "exposureControlledFeatures": []
+ },
+ {
+ "featureName": "Microsoft.DBforPostgreSQL/servers/databases",
+ "supportStatus": "PublicPreview",
+ "exposureControlledFeatures": []
+ }
+ ],
+ "objectType": "FeatureValidationResponse"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/GetOperationResult.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/GetOperationResult.json
new file mode 100644
index 000000000000..786f67699ba0
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/GetOperationResult.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "location": "WestUS",
+ "operationId": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-06-01-preview",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/GetOperationStatus.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/GetOperationStatus.json
new file mode 100644
index 000000000000..9be179dc0579
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/GetOperationStatus.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "location": "WestUS",
+ "operationId": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/providers/Microsoft.DataProtection/locations/WestUS/operationStatus/MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "name": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "status": "Succeeded",
+ "startTime": "2019-11-20T09:49:44.0478496Z",
+ "endTime": "2019-11-20T09:49:46Z"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/JobCRUD/GetExportJobsOperationResult.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/JobCRUD/GetExportJobsOperationResult.json
new file mode 100644
index 000000000000..7392227ce258
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/JobCRUD/GetExportJobsOperationResult.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreport00000000-0000-0000-0000-000000000000",
+ "blobSasKey": "someKey",
+ "excelFileBlobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreport00000000-0000-0000-0000-000000000000_ExcelFile.xlsx",
+ "excelFileBlobSasKey": "someKey"
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 60,
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.DataProtection/backupVaults/NetSDKTestRsVault/backupJobs/operations/00000000-0000-0000-0000-000000000000?api-version=2021-06-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/JobCRUD/GetJob.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/JobCRUD/GetJob.json
new file mode 100644
index 000000000000..b1b5a90a042d
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/JobCRUD/GetJob.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "resourceGroupName": "BugBash1",
+ "vaultName": "BugBashVaultForCCYv11",
+ "jobId": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "activityID": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/28460a9d-707a-45f3-ace6-b16284c2900e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetdailypolicy",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb2",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb2",
+ "policyName": "jakavetdailypolicy",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb2",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-17T03:00:03.7604146Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Started",
+ "isUserTriggered": false,
+ "supportedActions": [],
+ "duration": "00:00:00",
+ "dataSourceLocation": "centraluseuap",
+ "extendedInfo": {
+ "subTasks": [
+ {
+ "taskId": 1,
+ "taskName": "Trigger Backup",
+ "taskStatus": "Started"
+ }
+ ],
+ "additionalDetails": {
+ "RetentionTag": "Default",
+ "PolicyRuleName": "BackupWeekly",
+ "TaskId": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9"
+ }
+ }
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "name": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/JobCRUD/ListJobs.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/JobCRUD/ListJobs.json
new file mode 100644
index 000000000000..20183a823420
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/JobCRUD/ListJobs.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "resourceGroupName": "BugBash1",
+ "vaultName": "BugBashVaultForCCYv11",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "activityID": "932925c4-3d81-4550-8105-c7f7b0a934c5",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/3048870f-b1b7-44c4-b078-368da3fd000e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy2",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb4",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb4",
+ "policyName": "jakavetPolicy2",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb4",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-16T05:00:08.1746833Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Started",
+ "isUserTriggered": false,
+ "supportedActions": [],
+ "duration": "00:00:00",
+ "dataSourceLocation": "centraluseuap"
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/8989416e-7573-4836-8cf1-0e90954f1002",
+ "name": "8989416e-7573-4836-8cf1-0e90954f1002",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ },
+ {
+ "properties": {
+ "activityID": "b4f32e03-ded0-46fc-9afc-91853878efcd",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/943c60db-c033-4d93-bb00-66048474e00e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy3",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb5",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb5",
+ "policyName": "jakavetPolicy3",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb5",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-16T18:00:03.6660733Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Started",
+ "isUserTriggered": false,
+ "supportedActions": [],
+ "duration": "00:00:00",
+ "dataSourceLocation": "centraluseuap"
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/ad218c05-242a-47c2-b7b7-c16bd0f8870c",
+ "name": "ad218c05-242a-47c2-b7b7-c16bd0f8870c",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ },
+ {
+ "properties": {
+ "activityID": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/28460a9d-707a-45f3-ace6-b16284c2900e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetdailypolicy",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb2",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb2",
+ "policyName": "jakavetdailypolicy",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb2",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-17T03:00:03.7604146Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Started",
+ "isUserTriggered": false,
+ "supportedActions": [],
+ "duration": "00:00:00",
+ "dataSourceLocation": "centraluseuap"
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "name": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ },
+ {
+ "properties": {
+ "activityID": "94052cf1-a47f-4c1b-93e7-79e07b2bd008-Tue Mar 17 2021 11:11:48 GMT+0530 (India Standard Time)-Ibz",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/0b247869-b8be-4885-b832-8ac4cdf5b00e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy1",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb3",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb3",
+ "policyName": "jakavetPolicy1",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb3",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-17T11:11:50.5595259Z",
+ "endTime": "2021-03-17T11:14:02.5319646Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Succeeded",
+ "isUserTriggered": true,
+ "supportedActions": [
+ ""
+ ],
+ "duration": "00:02:11.9724387",
+ "dataSourceLocation": "centraluseuap"
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/43252662-1b43-44fd-a856-0055665cb097",
+ "name": "43252662-1b43-44fd-a856-0055665cb097",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/JobCRUD/TriggerExportJobs.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/JobCRUD/TriggerExportJobs.json
new file mode 100644
index 000000000000..064b523cba51
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/JobCRUD/TriggerExportJobs.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.DataProtection/backupVaults/NetSDKTestRsVault/backupJobs/operations/00000000-0000-0000-0000-000000000000?api-version=2021-06-01-preview",
+ "Retry-After": 60
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/Operations/List.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/Operations/List.json
new file mode 100644
index 000000000000..c3dfcdf4beb1
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/Operations/List.json
@@ -0,0 +1,403 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DataProtection/locations/getBackupStatus/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Status",
+ "operation": "Check Backup Status for Vault",
+ "description": "Check Backup Status for Recovery Services Vaults"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Create a Backup Instance",
+ "description": "Creates a Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/delete",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Delete Backup Instance",
+ "description": "Deletes the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Get Backup Instance Details",
+ "description": "Returns details of the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Get Backup Instances",
+ "description": "Returns all Backup Instances"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/backup/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Backup Backup Instance",
+ "description": "Performs Backup on the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/sync/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Sync Backup Instance",
+ "description": "Sync operation retries last failed operation on backup instance to bring it to a valid state."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/stopProtection/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Stop Protection of Backup Instance",
+ "description": "Stop Protection operation stops both backup and retention schedules of backup instance. Existing data will be retained forever."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/suspendBackups/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Suspend Backups of Backup Instance",
+ "description": "Suspend Backups operation stops only backups of backup instance. Retention activities will continue and hence data will be ratained as per policy."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/resumeProtection/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Resume Protection of Backup Instance",
+ "description": "Resume protection of a ProtectionStopped BI."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/resumeBackups/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Resume Backups of Backup Instance",
+ "description": "Resume Backups for a BackupsSuspended BI."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/validateRestore/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Validate for Restore of Backup Instance",
+ "description": "Validates for Restore of the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/restore/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Restore Backup Instance",
+ "description": "Triggers restore on the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupPolicies/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Policies",
+ "operation": "Create Backup Policy",
+ "description": "Creates Backup Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupPolicies/delete",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Policies",
+ "operation": "Delete Backup Policy",
+ "description": "Deletes the Backup Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupPolicies/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Policies",
+ "operation": "Get Backup Policy details",
+ "description": "Returns details of the Backup Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupPolicies/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Policies",
+ "operation": "Get Backup Policies",
+ "description": "Returns all Backup Policies"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Recovery Points",
+ "operation": "Get Recovery Point Details",
+ "description": "Returns details of the Recovery Point"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Recovery Points",
+ "operation": "Get Recovery Points",
+ "description": "Returns all Recovery Points"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/findRestorableTimeRanges/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Restorable Time Ranges",
+ "operation": "Find Restorable Time Ranges",
+ "description": "Finds Restorable Time Ranges"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Create Backup Vault",
+ "description": "Create BackupVault operation creates an Azure resource of type 'Backup Vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Create Backup Vault",
+ "description": "Create BackupVault operation creates an Azure resource of type 'Backup Vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/delete",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Create Backup Vault",
+ "description": "Create BackupVault operation creates an Azure resource of type 'Backup Vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/operationResults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Get Operation Result of a Patch Operation for a Backup Vault",
+ "description": "Gets Operation Result of a Patch Operation for a Backup Vault"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/locations/checkNameAvailability/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Check if the requested BackupVault Name is Available",
+ "description": "Checks if the requested BackupVault Name is Available"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Get Backup Vaults in a Resource Group",
+ "description": "Gets list of Backup Vaults in a Resource Group"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Get Backup Vaults in a Subscription",
+ "description": "Gets list of Backup Vaults in a Subscription"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Create ResourceGuard",
+ "description": "Create ResourceGuard operation creates an Azure resource of type 'ResourceGuard'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuard",
+ "description": "The Get ResourceGuard operation gets an object representing the Azure resource of type 'ResourceGuard'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/delete",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Delete ResourceGuard",
+ "description": "The Delete ResourceGuard operation deletes the specified Azure resource of type 'ResourceGuard'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuards in a Resource Group",
+ "description": "Gets list of ResourceGuards in a Resource Group"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/providers/resourceGuards/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuards in a Subscription",
+ "description": "Gets list of ResourceGuards in a Subscription"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Update ResourceGuard",
+ "description": "Update ResouceGuard operation updates an Azure resource of type 'ResourceGuard'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/{operationName}/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuard operation request info",
+ "description": "Gets ResourceGuard operation request info"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/{operationName}/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuard default operation request info",
+ "description": "Gets ResourceGuard default operation request info"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/locations/operationStatus/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Operation Status",
+ "operation": "Get Backup Operation Status",
+ "description": "Returns Backup Operation Status for Backup Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/locations/operationResults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Operation Results",
+ "operation": "Get Backup Operation Result",
+ "description": "Returns Backup Operation Result for Backup Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/validateForBackup/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Validate Backup",
+ "operation": "Validate for backup of Backup Instance",
+ "description": "Validates for backup of Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/providers/operations/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Provider Operation",
+ "operation": "List of Operations",
+ "description": "Operation returns the list of Operations for a Resource Provider"
+ },
+ "origin": "user"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json
new file mode 100644
index 000000000000..649bb151fcc1
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json
@@ -0,0 +1,200 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PrivatePreviewVault",
+ "backupPolicyName": "OSSDBPolicy",
+ "api-version": "2021-06-01-preview",
+ "parameters": {
+ "properties": {
+ "policyRules": [
+ {
+ "backupParameters": {
+ "backupType": "Full",
+ "objectType": "AzureBackupParams"
+ },
+ "trigger": {
+ "schedule": {
+ "repeatingTimeIntervals": [
+ "R/2019-11-20T08:00:00-08:00/P1W"
+ ]
+ },
+ "taggingCriteria": [
+ {
+ "tagInfo": {
+ "tagName": "Default"
+ },
+ "taggingPriority": 99,
+ "isDefault": true
+ },
+ {
+ "tagInfo": {
+ "tagName": "Weekly"
+ },
+ "taggingPriority": 20,
+ "isDefault": false,
+ "criteria": [
+ {
+ "scheduleTimes": [
+ "2019-03-01T13:00:00Z"
+ ],
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "objectType": "ScheduleBasedBackupCriteria"
+ }
+ ]
+ }
+ ],
+ "objectType": "ScheduleBasedTriggerContext"
+ },
+ "dataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "name": "BackupWeekly",
+ "objectType": "AzureBackupRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P1W"
+ }
+ }
+ ],
+ "isDefault": true,
+ "name": "Default",
+ "objectType": "AzureRetentionRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P12W"
+ }
+ }
+ ],
+ "isDefault": false,
+ "name": "Weekly",
+ "objectType": "AzureRetentionRule"
+ }
+ ],
+ "datasourceTypes": [
+ "OssDB"
+ ],
+ "objectType": "BackupPolicy"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PrivatePreviewVault/backupPolicies/OSSDBPolicy",
+ "name": "OSSDBPolicy",
+ "type": "Microsoft.DataProtection/backupVaults/backupPolicies",
+ "properties": {
+ "policyRules": [
+ {
+ "backupParameters": {
+ "backupType": "Full",
+ "objectType": "AzureBackupParams"
+ },
+ "trigger": {
+ "schedule": {
+ "repeatingTimeIntervals": [
+ "R/2019-11-20T08:00:00-08:00/P1W"
+ ]
+ },
+ "taggingCriteria": [
+ {
+ "tagInfo": {
+ "tagName": "Default",
+ "id": "Default_"
+ },
+ "taggingPriority": 99,
+ "isDefault": true
+ },
+ {
+ "tagInfo": {
+ "tagName": "Weekly",
+ "id": "Weekly_"
+ },
+ "taggingPriority": 20,
+ "isDefault": false,
+ "criteria": [
+ {
+ "scheduleTimes": [
+ "2019-03-01T13:00:00Z"
+ ],
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "objectType": "ScheduleBasedBackupCriteria"
+ }
+ ]
+ }
+ ],
+ "objectType": "ScheduleBasedTriggerContext"
+ },
+ "dataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "name": "BackupWeekly",
+ "objectType": "AzureBackupRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P1W"
+ }
+ }
+ ],
+ "isDefault": true,
+ "name": "Default",
+ "objectType": "AzureRetentionRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P12W"
+ }
+ }
+ ],
+ "isDefault": false,
+ "name": "Weekly",
+ "objectType": "AzureRetentionRule"
+ }
+ ],
+ "datasourceTypes": [
+ "OssDB"
+ ],
+ "objectType": "BackupPolicy"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/PolicyCRUD/DeleteBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/PolicyCRUD/DeleteBackupPolicy.json
new file mode 100644
index 000000000000..4b69a1041b13
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/PolicyCRUD/DeleteBackupPolicy.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PrivatePreviewVault",
+ "backupPolicyName": "OSSDBPolicy",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/PolicyCRUD/GetBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/PolicyCRUD/GetBackupPolicy.json
new file mode 100644
index 000000000000..12707a41b67e
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/PolicyCRUD/GetBackupPolicy.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PrivatePreviewVault",
+ "backupPolicyName": "OSSDBPolicy",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PrivatePreviewVault/backupPolicies/OSSDBPolicy",
+ "name": "OSSDBPolicy",
+ "type": "Microsoft.DataProtection/backupVaults/backupPolicies",
+ "properties": {
+ "policyRules": [
+ {
+ "backupParameters": {
+ "backupType": "Full",
+ "objectType": "AzureBackupParams"
+ },
+ "trigger": {
+ "schedule": {
+ "repeatingTimeIntervals": [
+ "R/2019-11-20T08:00:00-08:00/P1W"
+ ]
+ },
+ "taggingCriteria": [
+ {
+ "tagInfo": {
+ "tagName": "Default",
+ "id": "Default_"
+ },
+ "taggingPriority": 99,
+ "isDefault": true
+ },
+ {
+ "tagInfo": {
+ "tagName": "Weekly",
+ "id": "Weekly_"
+ },
+ "taggingPriority": 20,
+ "isDefault": false,
+ "criteria": [
+ {
+ "scheduleTimes": [
+ "2019-03-01T13:00:00Z"
+ ],
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "objectType": "ScheduleBasedBackupCriteria"
+ }
+ ]
+ }
+ ],
+ "objectType": "ScheduleBasedTriggerContext"
+ },
+ "dataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "name": "BackupWeekly",
+ "objectType": "AzureBackupRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P1W"
+ }
+ }
+ ],
+ "isDefault": true,
+ "name": "Default",
+ "objectType": "AzureRetentionRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P12W"
+ }
+ }
+ ],
+ "isDefault": false,
+ "name": "Weekly",
+ "objectType": "AzureRetentionRule"
+ }
+ ],
+ "datasourceTypes": [
+ "OssDB"
+ ],
+ "objectType": "BackupPolicy"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/PolicyCRUD/ListBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/PolicyCRUD/ListBackupPolicy.json
new file mode 100644
index 000000000000..aa8af89aa9b2
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/PolicyCRUD/ListBackupPolicy.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PrivatePreviewVault",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PrivatePreviewVault/backupPolicies/OSSDBPolicy",
+ "name": "OSSDBPolicy",
+ "type": "Microsoft.DataProtection/backupVaults/backupPolicies",
+ "properties": {
+ "policyRules": [
+ {
+ "backupParameters": {
+ "backupType": "Full",
+ "objectType": "AzureBackupParams"
+ },
+ "trigger": {
+ "schedule": {
+ "repeatingTimeIntervals": [
+ "R/2019-11-20T08:00:00-08:00/P1W"
+ ]
+ },
+ "taggingCriteria": [
+ {
+ "tagInfo": {
+ "tagName": "Default",
+ "id": "Default_"
+ },
+ "taggingPriority": 99,
+ "isDefault": true
+ },
+ {
+ "tagInfo": {
+ "tagName": "Weekly",
+ "id": "Weekly_"
+ },
+ "taggingPriority": 20,
+ "isDefault": false,
+ "criteria": [
+ {
+ "scheduleTimes": [
+ "2019-03-01T13:00:00Z"
+ ],
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "objectType": "ScheduleBasedBackupCriteria"
+ }
+ ]
+ }
+ ],
+ "objectType": "ScheduleBasedTriggerContext"
+ },
+ "dataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "name": "BackupWeekly",
+ "objectType": "AzureBackupRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P1W"
+ }
+ }
+ ],
+ "isDefault": true,
+ "name": "Default",
+ "objectType": "AzureRetentionRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P12W"
+ }
+ }
+ ],
+ "isDefault": false,
+ "name": "Weekly",
+ "objectType": "AzureRetentionRule"
+ }
+ ],
+ "datasourceTypes": [
+ "OssDB"
+ ],
+ "objectType": "BackupPolicy"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/CheckBackupVaultsNameAvailability.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/CheckBackupVaultsNameAvailability.json
new file mode 100644
index 000000000000..836e7d976fa2
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/CheckBackupVaultsNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "location": "westus",
+ "api-version": "2021-06-01-preview",
+ "parameters": {
+ "type": "Microsoft.DataProtection/BackupVaults",
+ "name": "swaggerExample"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/DeleteBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/DeleteBackupVault.json
new file mode 100644
index 000000000000..8448263e1c13
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/DeleteBackupVault.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "202": {
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/West%20US/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-06-01-preview",
+ "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-06-01-preview"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/GetBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/GetBackupVault.json
new file mode 100644
index 000000000000..efd251330ef2
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/GetBackupVault.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/GetBackupVaultWithMSI.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/GetBackupVaultWithMSI.json
new file mode 100644
index 000000000000..2edacb6a91c9
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/GetBackupVaultWithMSI.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "principalId": "c009b9a0-0024-417c-83cd-025d3776045d",
+ "tenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/GetBackupVaultsInResourceGroup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/GetBackupVaultsInResourceGroup.json
new file mode 100644
index 000000000000..ff31570cd58c
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/GetBackupVaultsInResourceGroup.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/BackupVaults/ExampleVault1",
+ "name": "ExampleVault1",
+ "type": "Microsoft.DataProtection/BackupVaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ },
+ {
+ "identity": {
+ "principalId": "c009b9a0-0024-417c-83cd-025d3776045d",
+ "tenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/BackupVaults/ExampleVault2",
+ "name": "ExampleVault2",
+ "type": "Microsoft.DataProtection/BackupVaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/GetBackupVaultsInSubscription.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/GetBackupVaultsInSubscription.json
new file mode 100644
index 000000000000..33dc1acfe359
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/GetBackupVaultsInSubscription.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup2/providers/Microsoft.DataProtection/BackupVaults/ExampleVault1",
+ "name": "ExampleVault1",
+ "type": "Microsoft.DataProtection/BackupVaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ },
+ {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/BackupVaults/ExampleVault2",
+ "name": "ExampleVault2",
+ "type": "Microsoft.DataProtection/BackupVaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/GetOperationResultPatch.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/GetOperationResultPatch.json
new file mode 100644
index 000000000000..30ec477d0a0a
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/GetOperationResultPatch.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/West%20US/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-06-01-preview",
+ "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-06-01-preview"
+ },
+ "body": {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/PatchBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/PatchBackupVault.json
new file mode 100644
index 000000000000..dc2d4546af90
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/PatchBackupVault.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-06-01-preview",
+ "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==",
+ "parameters": {
+ "tags": {
+ "newKey": "newVal"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/West%20US/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-06-01-preview",
+ "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-06-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "newKey": "newVal"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/PutBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/PutBackupVault.json
new file mode 100644
index 000000000000..72fcc5aedfb1
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/PutBackupVault.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-06-01-preview",
+ "parameters": {
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "properties": {
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Provisioning",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ },
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/West%20US/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-06-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/PutBackupVaultWithMSI.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/PutBackupVaultWithMSI.json
new file mode 100644
index 000000000000..cb359668b51c
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/examples/VaultCRUD/PutBackupVaultWithMSI.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-06-01-preview",
+ "parameters": {
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "identity": {
+ "type": "systemAssigned"
+ },
+ "properties": {
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Provisioning",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ },
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/West%20US/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-06-01-preview"
+ }
+ },
+ "200": {
+ "body": {
+ "identity": {
+ "principalId": "c009b9a0-0024-417c-83cd-025d3776045d",
+ "tenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/dataprotection.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/dataprotection.json
index b07d7b3bc7e2..26a7833efde7 100644
--- a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/dataprotection.json
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/dataprotection.json
@@ -24,7 +24,7 @@
"BackupVaults"
],
"description": "Returns resource collection belonging to a subscription.",
- "operationId": "BackupVaults_GetResourcesInSubscription",
+ "operationId": "BackupVaults_GetInSubscription",
"produces": [
"application/json"
],
@@ -136,7 +136,7 @@
"OperationStatus"
],
"summary": "Gets the operation status for a resource.",
- "operationId": "GetOperationStatus",
+ "operationId": "OperationStatus_Get",
"produces": [
"application/json"
],
@@ -187,7 +187,7 @@
"BackupVaults"
],
"description": "Returns resource collection belonging to a resource group.",
- "operationId": "BackupVaults_GetResourcesInResourceGroup",
+ "operationId": "BackupVaults_GetInResourceGroup",
"produces": [
"application/json"
],
@@ -389,7 +389,7 @@
"BackupVaults"
],
"description": "Updates a BackupVault resource belonging to a resource group. For example, updating tags for a resource.",
- "operationId": "BackupVaults_Patch",
+ "operationId": "BackupVaults_Update",
"produces": [
"application/json"
],
@@ -446,7 +446,7 @@
"tags": [
"Resources"
],
- "operationId": "GetOperationResultPatch",
+ "operationId": "BackupVaultOperationResults_Get",
"produces": [
"application/json"
],
@@ -555,7 +555,7 @@
"DppFeatureSupport"
],
"summary": "Validates if a feature is supported",
- "operationId": "CheckFeatureSupport",
+ "operationId": "DataProtection_CheckFeatureSupport",
"produces": [
"application/json"
],
@@ -609,7 +609,7 @@
"Operations"
],
"description": "Returns the list of available operations.",
- "operationId": "Operations_List",
+ "operationId": "DataProtectionOperations_List",
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
@@ -632,6 +632,11 @@
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "value"
+ },
+ "x-ms-examples": {
+ "Returns the list of supported REST operations.": {
+ "$ref": "./examples/Operations/List.json"
+ }
}
}
},
@@ -758,6 +763,7 @@
},
{
"name": "backupPolicyName",
+ "description": "Name of the policy",
"in": "path",
"required": true,
"type": "string"
@@ -1236,7 +1242,7 @@
"RecoveryPoint"
],
"description": "Returns a list of Recovery Points for a DataSource in a vault.",
- "operationId": "RecoveryPoints_GetList",
+ "operationId": "RecoveryPoints_List",
"produces": [
"application/json"
],
@@ -1306,7 +1312,7 @@
"RecoveryPoint"
],
"description": "Gets a Recovery Point using recoveryPointId for a Datasource.",
- "operationId": "RecoveryPoint_Get",
+ "operationId": "RecoveryPoints_Get",
"produces": [
"application/json"
],
@@ -1526,7 +1532,7 @@
"BackupInstances"
],
"description": "Validates if Restore can be triggered for a DataSource",
- "operationId": "BackupInstances_ValidateRestore",
+ "operationId": "BackupInstances_ValidateForRestore",
"produces": [
"application/json"
],
@@ -1648,12 +1654,12 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstances}/findRestorableTimeRanges": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/findRestorableTimeRanges": {
"post": {
"tags": [
"FindRestorableTimeRanges"
],
- "operationId": "FindRestorableTimeRanges_Post",
+ "operationId": "RestorableTimeRanges_Find",
"produces": [
"application/json"
],
@@ -1671,7 +1677,8 @@
"$ref": "#/parameters/SubscriptionId"
},
{
- "name": "backupInstances",
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
"in": "path",
"required": true,
"type": "string"
@@ -1713,7 +1720,7 @@
"AzureBackupJob"
],
"description": "Gets a job with id in a backup vault",
- "operationId": "Job_Get",
+ "operationId": "Jobs_Get",
"produces": [
"application/json"
],
@@ -2023,9 +2030,7 @@
"AzureBackupFindRestorableTimeRangesRequest": {
"description": "List Restore Ranges Request",
"required": [
- "sourceDataStoreType",
- "startTime",
- "endTime"
+ "sourceDataStoreType"
],
"type": "object",
"properties": {
@@ -2043,11 +2048,11 @@
}
},
"startTime": {
- "description": "Start time for the List Restore Ranges request",
+ "description": "Start time for the List Restore Ranges request. ISO 8601 format.",
"type": "string"
},
"endTime": {
- "description": "End time for the List Restore Ranges request",
+ "description": "End time for the List Restore Ranges request. ISO 8601 format.",
"type": "string"
}
}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/FindRestorableTimeRanges.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/FindRestorableTimeRanges.json
index e50e8a20f945..4efd81f74b40 100644
--- a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/FindRestorableTimeRanges.json
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/FindRestorableTimeRanges.json
@@ -3,7 +3,7 @@
"subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
"resourceGroupName": "Blob-Backup",
"vaultName": "ZBlobBackupVaultBVTD3",
- "backupInstances": "zblobbackuptestsa58",
+ "backupInstanceName": "zblobbackuptestsa58",
"api-version": "2021-01-01",
"parameters": {
"sourceDataStoreType": "OperationalStore",
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/Operations/List.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/Operations/List.json
new file mode 100644
index 000000000000..cf150a7e1d56
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/Operations/List.json
@@ -0,0 +1,403 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DataProtection/locations/getBackupStatus/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Status",
+ "operation": "Check Backup Status for Vault",
+ "description": "Check Backup Status for Recovery Services Vaults"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Create a Backup Instance",
+ "description": "Creates a Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/delete",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Delete Backup Instance",
+ "description": "Deletes the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Get Backup Instance Details",
+ "description": "Returns details of the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Get Backup Instances",
+ "description": "Returns all Backup Instances"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/backup/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Backup Backup Instance",
+ "description": "Performs Backup on the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/sync/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Sync Backup Instance",
+ "description": "Sync operation retries last failed operation on backup instance to bring it to a valid state."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/stopProtection/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Stop Protection of Backup Instance",
+ "description": "Stop Protection operation stops both backup and retention schedules of backup instance. Existing data will be retained forever."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/suspendBackups/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Suspend Backups of Backup Instance",
+ "description": "Suspend Backups operation stops only backups of backup instance. Retention activities will continue and hence data will be ratained as per policy."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/resumeProtection/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Resume Protection of Backup Instance",
+ "description": "Resume protection of a ProtectionStopped BI."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/resumeBackups/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Resume Backups of Backup Instance",
+ "description": "Resume Backups for a BackupsSuspended BI."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/validateRestore/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Validate for Restore of Backup Instance",
+ "description": "Validates for Restore of the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/restore/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Instance",
+ "operation": "Restore Backup Instance",
+ "description": "Triggers restore on the Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupPolicies/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Policies",
+ "operation": "Create Backup Policy",
+ "description": "Creates Backup Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupPolicies/delete",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Policies",
+ "operation": "Delete Backup Policy",
+ "description": "Deletes the Backup Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupPolicies/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Policies",
+ "operation": "Get Backup Policy details",
+ "description": "Returns details of the Backup Policy"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupPolicies/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Policies",
+ "operation": "Get Backup Policies",
+ "description": "Returns all Backup Policies"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Recovery Points",
+ "operation": "Get Recovery Point Details",
+ "description": "Returns details of the Recovery Point"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/recoveryPoints/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Recovery Points",
+ "operation": "Get Recovery Points",
+ "description": "Returns all Recovery Points"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/backupInstances/findRestorableTimeRanges/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Restorable Time Ranges",
+ "operation": "Find Restorable Time Ranges",
+ "description": "Finds Restorable Time Ranges"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Create Backup Vault",
+ "description": "Create BackupVault operation creates an Azure resource of type 'Backup Vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Create Backup Vault",
+ "description": "Create BackupVault operation creates an Azure resource of type 'Backup Vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/delete",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Create Backup Vault",
+ "description": "Create BackupVault operation creates an Azure resource of type 'Backup Vault'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/operationResults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Get Operation Result of a Patch Operation for a Backup Vault",
+ "description": "Gets Operation Result of a Patch Operation for a Backup Vault"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/locations/checkNameAvailability/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Check if the requested BackupVault Name is Available",
+ "description": "Checks if the requested BackupVault Name is Available"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Get Backup Vaults in a Resource Group",
+ "description": "Gets list of Backup Vaults in a Resource Group"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Vaults",
+ "operation": "Get Backup Vaults in a Subscription",
+ "description": "Gets list of Backup Vaults in a Subscription"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Create ResourceGuard",
+ "description": "Create ResourceGuard operation creates an Azure resource of type 'ResourceGuard'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuard",
+ "description": "The Get ResourceGuard operation gets an object representing the Azure resource of type 'ResourceGuard'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/delete",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Delete ResourceGuard",
+ "description": "The Delete ResourceGuard operation deletes the specified Azure resource of type 'ResourceGuard'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuards in a Resource Group",
+ "description": "Gets list of ResourceGuards in a Resource Group"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/providers/resourceGuards/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuards in a Subscription",
+ "description": "Gets list of ResourceGuards in a Subscription"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/write",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Update ResourceGuard",
+ "description": "Update ResouceGuard operation updates an Azure resource of type 'ResourceGuard'"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/{operationName}/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuard operation request info",
+ "description": "Gets ResourceGuard operation request info"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/subscriptions/resourceGroups/providers/resourceGuards/{operationName}/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Guards",
+ "operation": "Get ResourceGuard default operation request info",
+ "description": "Gets ResourceGuard default operation request info"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/locations/operationStatus/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Operation Status",
+ "operation": "Get Backup Operation Status",
+ "description": "Returns Backup Operation Status for Backup Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/locations/operationResults/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Backup Operation Results",
+ "operation": "Get Backup Operation Result",
+ "description": "Returns Backup Operation Result for Backup Vault."
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/backupVaults/validateForBackup/action",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Validate Backup",
+ "operation": "Validate for backup of Backup Instance",
+ "description": "Validates for backup of Backup Instance"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataProtection/providers/operations/read",
+ "display": {
+ "provider": "Microsoft.DataProtection",
+ "resource": "Resource Provider Operation",
+ "operation": "List of Operations",
+ "description": "Operation returns the list of Operations for a Resource Provider"
+ },
+ "origin": "user"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/readme.go.md b/specification/dataprotection/resource-manager/readme.go.md
index d5a424541c96..83d186dfb6e7 100644
--- a/specification/dataprotection/resource-manager/readme.go.md
+++ b/specification/dataprotection/resource-manager/readme.go.md
@@ -13,6 +13,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-06-preview
- tag: package-2021-02-preview
- tag: package-2021-01
```
@@ -34,3 +35,12 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2021-06-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/dataprotection/mgmt/2021-06-01-preview/$(namespace)
+```
diff --git a/specification/dataprotection/resource-manager/readme.java.md b/specification/dataprotection/resource-manager/readme.java.md
index 18a57ddb8f12..cc701deef3de 100644
--- a/specification/dataprotection/resource-manager/readme.java.md
+++ b/specification/dataprotection/resource-manager/readme.java.md
@@ -17,6 +17,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-dataprotection
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2021-06-preview
- tag: package-2021-02-preview
- tag: package-2021-01
```
@@ -46,3 +47,16 @@ java:
regenerate-manager: true
generate-interface: true
```
+
+### Tag: package-2021-06-preview and java
+
+These settings apply only when `--tag=package-2021-06-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2021-06-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.dataprotection.v2021_06_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/dataprotection/resource-manager/v2021_06_01_preview
+regenerate-manager: true
+generate-interface: true
+```
diff --git a/specification/dataprotection/resource-manager/readme.md b/specification/dataprotection/resource-manager/readme.md
index acf9d6e4e243..f7edd374d664 100644
--- a/specification/dataprotection/resource-manager/readme.md
+++ b/specification/dataprotection/resource-manager/readme.md
@@ -63,6 +63,15 @@ These settings apply only when `--tag=package-2021-02-preview` is specified on t
input-file:
- Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json
```
+
+### Tag: package-2021-06-preview
+
+These settings apply only when `--tag=package-2021-06-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-06-preview'
+input-file:
+- Microsoft.DataProtection/preview/2021-06-01-preview/dataprotection.json
+```
---
# Code Generation
@@ -122,7 +131,8 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
- Microsoft.DataProtection/stable/2021-01-01/dataprotection.json
- - Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json
+ - Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json
+ - Microsoft.DataProtection/preview/2021-06-01-preview/dataprotection.json
```
If there are files that should not be in the `all-api-versions` set,
diff --git a/specification/dataprotection/resource-manager/readme.ruby.md b/specification/dataprotection/resource-manager/readme.ruby.md
index 8bf032fd146b..34810f4abacd 100644
--- a/specification/dataprotection/resource-manager/readme.ruby.md
+++ b/specification/dataprotection/resource-manager/readme.ruby.md
@@ -12,6 +12,7 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2021-06-preview
- tag: package-2021-02-preview
```
@@ -24,3 +25,13 @@ Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-06-preview' && $(ruby)
+namespace: "Azure::DataProtection::Mgmt::V2021_06_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_data_protection/lib
+```
diff --git a/specification/datashare/resource-manager/readme.md b/specification/datashare/resource-manager/readme.md
index 584f9e203462..d16c0aef9fa1 100644
--- a/specification/datashare/resource-manager/readme.md
+++ b/specification/datashare/resource-manager/readme.md
@@ -78,7 +78,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-go
- repo: azure-cli-extensions
diff --git a/specification/datashare/resource-manager/readme.python.md b/specification/datashare/resource-manager/readme.python.md
index 9bbfc58e2633..e8eac3df6c68 100644
--- a/specification/datashare/resource-manager/readme.python.md
+++ b/specification/datashare/resource-manager/readme.python.md
@@ -3,37 +3,15 @@
These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-```yaml $(python) && !$(track2)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.datashare
- package-name: azure-mgmt-datashare
- package-version: 2019-11-01
- clear-output-folder: true
-```
```yaml $(python) && $(track2)
-python-mode: create
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
namespace: azure.mgmt.datashare
package-name: azure-mgmt-datashare
-package-version: 2019-11-01
+package-version: 1.0.0b1
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/datashare/azure-mgmt-datashare/azure/mgmt/datashare
-```
-``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/datashare/azure-mgmt-datashare
-```
``` yaml $(python) && $(python-mode) == 'update' && $(track2)
no-namespace-folders: true
output-folder: $(python-sdks-folder)/datashare/azure-mgmt-datashare/azure/mgmt/datashare
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/desktopvirtualization.json
new file mode 100644
index 000000000000..f3e38068dc6f
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/desktopvirtualization.json
@@ -0,0 +1,6835 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-05-13-preview",
+ "title": "Desktop Virtualization API Client"
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "host": "management.azure.com",
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.DesktopVirtualization/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "List all of the available operations the Desktop Virtualization resource provider supports.",
+ "x-ms-examples": {
+ "OperationDescription_List": {
+ "$ref": "./examples/OperationDescription_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved operations.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderOperationList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}": {
+ "get": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_Get",
+ "description": "Get a workspace.",
+ "x-ms-examples": {
+ "Workspace_Get": {
+ "$ref": "./examples/Workspace_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_CreateOrUpdate",
+ "description": "Create or update a workspace.",
+ "x-ms-examples": {
+ "Workspace_Create": {
+ "$ref": "./examples/Workspace_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "name": "workspace",
+ "description": "Object containing Workspace definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "201": {
+ "description": "Successfully created workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_Delete",
+ "description": "Remove a workspace.",
+ "x-ms-examples": {
+ "Workspace_Delete": {
+ "$ref": "./examples/Workspace_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted workspace."
+ },
+ "204": {
+ "description": "Workspace does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_Update",
+ "description": "Update a workspace.",
+ "x-ms-examples": {
+ "Workspace_Update": {
+ "$ref": "./examples/Workspace_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "name": "workspace",
+ "description": "Object containing Workspace definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/WorkspacePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces": {
+ "get": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_ListByResourceGroup",
+ "description": "List workspaces.",
+ "x-ms-examples": {
+ "Workspace_ListByResourceGroup": {
+ "$ref": "./examples/Workspace_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved workspaces in resource group.",
+ "schema": {
+ "$ref": "#/definitions/WorkspaceList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces": {
+ "get": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_ListBySubscription",
+ "description": "List workspaces in subscription.",
+ "x-ms-examples": {
+ "Workspace_ListBySubscription": {
+ "$ref": "./examples/Workspace_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved workspaces in subscription.",
+ "schema": {
+ "$ref": "#/definitions/WorkspaceList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}": {
+ "get": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_Get",
+ "description": "Get a scaling plan.",
+ "x-ms-examples": {
+ "ScalingPlans_Get": {
+ "$ref": "./examples/ScalingPlan_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved scaling plan.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_Create",
+ "description": "Create or update a scaling plan.",
+ "x-ms-examples": {
+ "ScalingPlans_Create": {
+ "$ref": "./examples/ScalingPlan_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "name": "scalingPlan",
+ "description": "Object containing scaling plan definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated scaling plan.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "201": {
+ "description": "Successfully created scaling plan.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_Delete",
+ "description": "Remove a scaling plan.",
+ "x-ms-examples": {
+ "ScalingPlans_Delete": {
+ "$ref": "./examples/ScalingPlan_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted scaling plan."
+ },
+ "204": {
+ "description": "Scaling plan does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_Update",
+ "description": "Update a scaling plan.",
+ "x-ms-examples": {
+ "ScalingPlans_Update": {
+ "$ref": "./examples/ScalingPlan_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "name": "scalingPlan",
+ "description": "Object containing scaling plan definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated scaling plan.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans": {
+ "get": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_ListByResourceGroup",
+ "description": "List scaling plans.",
+ "x-ms-examples": {
+ "ScalingPlans_ListByResourceGroup": {
+ "$ref": "./examples/ScalingPlan_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved scaling plans in resource group.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/scalingPlans": {
+ "get": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_ListBySubscription",
+ "description": "List scaling plans in subscription.",
+ "x-ms-examples": {
+ "ScalingPlans_ListBySubscription": {
+ "$ref": "./examples/ScalingPlan_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved scaling plans in subscription.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}": {
+ "get": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_Get",
+ "description": "Get an application group.",
+ "x-ms-examples": {
+ "ApplicationGroup_Get": {
+ "$ref": "./examples/ApplicationGroup_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_CreateOrUpdate",
+ "description": "Create or update an applicationGroup.",
+ "x-ms-examples": {
+ "ApplicationGroup_Create": {
+ "$ref": "./examples/ApplicationGroup_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "name": "applicationGroup",
+ "description": "Object containing ApplicationGroup definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "201": {
+ "description": "Successfully created application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_Delete",
+ "description": "Remove an applicationGroup.",
+ "x-ms-examples": {
+ "ApplicationGroup_Delete": {
+ "$ref": "./examples/ApplicationGroup_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed application group."
+ },
+ "204": {
+ "description": "Application group does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_Update",
+ "description": "Update an applicationGroup.",
+ "x-ms-examples": {
+ "ApplicationGroups_Update": {
+ "$ref": "./examples/ApplicationGroup_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "name": "applicationGroup",
+ "description": "Object containing ApplicationGroup definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroupPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups": {
+ "get": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_ListByResourceGroup",
+ "description": "List applicationGroups.",
+ "x-ms-examples": {
+ "ApplicationGroup_ListByResourceGroup": {
+ "$ref": "./examples/ApplicationGroup_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are applicationGroupType."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved application groups in resource group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroupList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups": {
+ "get": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_ListBySubscription",
+ "description": "List applicationGroups in subscription.",
+ "x-ms-examples": {
+ "ApplicationGroup_List": {
+ "$ref": "./examples/ApplicationGroup_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are applicationGroupType."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved application groups in subscription.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroupList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems": {
+ "get": {
+ "tags": [
+ "StartMenuItem"
+ ],
+ "operationId": "StartMenuItems_List",
+ "description": "List start menu items in the given application group.",
+ "x-ms-examples": {
+ "StartMenuItem_List": {
+ "$ref": "./examples/StartMenuItem_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved start menu items in application group.",
+ "schema": {
+ "$ref": "#/definitions/StartMenuItemList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}": {
+ "get": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_Get",
+ "description": "Get an application.",
+ "x-ms-examples": {
+ "Application_Get": {
+ "$ref": "./examples/Application_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_CreateOrUpdate",
+ "description": "Create or update an application.",
+ "x-ms-examples": {
+ "Application_Create": {
+ "$ref": "./examples/Application_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "name": "application",
+ "description": "Object containing Application definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "201": {
+ "description": "Successfully created application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_Delete",
+ "description": "Remove an application.",
+ "x-ms-examples": {
+ "Application_Delete": {
+ "$ref": "./examples/Application_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed application."
+ },
+ "204": {
+ "description": "Application does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_Update",
+ "description": "Update an application.",
+ "x-ms-examples": {
+ "Application_Update": {
+ "$ref": "./examples/Application_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "name": "application",
+ "description": "Object containing Application definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ApplicationPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications": {
+ "get": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_List",
+ "description": "List applications.",
+ "x-ms-examples": {
+ "Applications_List": {
+ "$ref": "./examples/Application_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved applications in application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}": {
+ "get": {
+ "tags": [
+ "Desktop"
+ ],
+ "operationId": "Desktops_Get",
+ "description": "Get a desktop.",
+ "x-ms-examples": {
+ "Desktop_Get": {
+ "$ref": "./examples/Desktop_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DesktopNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved desktop.",
+ "schema": {
+ "$ref": "#/definitions/Desktop"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Desktop"
+ ],
+ "operationId": "Desktops_Update",
+ "description": "Update a desktop.",
+ "x-ms-examples": {
+ "Desktop_Update": {
+ "$ref": "./examples/Desktop_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DesktopNameParameter"
+ },
+ {
+ "name": "desktop",
+ "description": "Object containing Desktop definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/DesktopPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated desktop.",
+ "schema": {
+ "$ref": "#/definitions/Desktop"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops": {
+ "get": {
+ "tags": [
+ "Desktop"
+ ],
+ "operationId": "Desktops_List",
+ "description": "List desktops.",
+ "x-ms-examples": {
+ "Desktop_List": {
+ "$ref": "./examples/Desktop_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved desktops in application group.",
+ "schema": {
+ "$ref": "#/definitions/DesktopList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}": {
+ "get": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_Get",
+ "description": "Get a host pool.",
+ "x-ms-examples": {
+ "HostPool_Get": {
+ "$ref": "./examples/HostPool_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool.",
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_CreateOrUpdate",
+ "description": "Create or update a host pool.",
+ "x-ms-examples": {
+ "HostPool_Create": {
+ "$ref": "./examples/HostPool_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "hostPool",
+ "description": "Object containing HostPool definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated host pool.",
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "201": {
+ "description": "Successfully created host pool.",
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_Delete",
+ "description": "Remove a host pool.",
+ "x-ms-examples": {
+ "HostPool_Delete": {
+ "$ref": "./examples/HostPool_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force flag to delete sessionHost."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed host pool."
+ },
+ "204": {
+ "description": "Host pool does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_Update",
+ "description": "Update a host pool.",
+ "x-ms-examples": {
+ "HostPool_Update": {
+ "$ref": "./examples/HostPool_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "hostPool",
+ "description": "Object containing HostPool definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/HostPoolPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated host pool.",
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools": {
+ "get": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_ListByResourceGroup",
+ "description": "List hostPools.",
+ "x-ms-examples": {
+ "HostPool_ListByResourceGroup": {
+ "$ref": "./examples/HostPool_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool in resource group.",
+ "schema": {
+ "$ref": "#/definitions/HostPoolList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools": {
+ "get": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_List",
+ "description": "List hostPools in subscription.",
+ "x-ms-examples": {
+ "HostPool_List": {
+ "$ref": "./examples/HostPool_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool in subscription.",
+ "schema": {
+ "$ref": "#/definitions/HostPoolList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostConfigurations/default": {
+ "get": {
+ "tags": [
+ "SessionHostConfiguration"
+ ],
+ "operationId": "SessionHostConfigurations_Get",
+ "description": "Get a SessionHostConfiguration.",
+ "x-ms-examples": {
+ "SessionHostConfigurations_Get": {
+ "$ref": "./examples/SessionHostConfigurations_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool.",
+ "schema": {
+ "$ref": "#/definitions/SessionHostConfiguration"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SessionHostConfiguration"
+ ],
+ "operationId": "SessionHostConfigurations_CreateOrUpdate",
+ "description": "Create or update a SessionHostConfiguration.",
+ "x-ms-examples": {
+ "SessionHostConfigurations_Create": {
+ "$ref": "./examples/SessionHostConfigurations_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "sessionHostConfiguration",
+ "description": "Object containing HostPool definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SessionHostConfiguration"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated SessionHostConfiguration.",
+ "schema": {
+ "$ref": "#/definitions/SessionHostConfiguration"
+ }
+ },
+ "201": {
+ "description": "Successfully created SessionHostConfiguration.",
+ "schema": {
+ "$ref": "#/definitions/SessionHostConfiguration"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SessionHostConfiguration"
+ ],
+ "operationId": "SessionHostConfigurations_Delete",
+ "description": "Remove a SessionHostConfiguration.",
+ "x-ms-examples": {
+ "SessionHostConfigurations_Delete": {
+ "$ref": "./examples/SessionHostConfigurations_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed host pool.",
+ "schema": {
+ "$ref": "#/definitions/SessionHostConfiguration"
+ }
+ },
+ "204": {
+ "description": "Host pool does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SessionHostConfiguration"
+ ],
+ "operationId": "SessionHostConfigurations_Update",
+ "description": "Update a SessionHostConfiguration.",
+ "x-ms-examples": {
+ "SessionHostConfigurations_Update": {
+ "$ref": "./examples/SessionHostConfigurations_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "hostPool",
+ "description": "Object containing HostPool definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/HostPoolPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated SessionHostConfiguration.",
+ "schema": {
+ "$ref": "#/definitions/SessionHostConfiguration"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostConfigurations": {
+ "get": {
+ "tags": [
+ "SessionHostConfiguration"
+ ],
+ "operationId": "SessionHostConfigurations_ListByHostPool",
+ "description": "List sessionHostConfigurations.",
+ "x-ms-examples": {
+ "SessionHostConfigurations_ListByHostPool": {
+ "$ref": "./examples/SessionHostConfigurations_ListByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool in resource group.",
+ "schema": {
+ "$ref": "#/definitions/SessionHostConfigurationList"
+ }
+ },
+ "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}/update": {
+ "post": {
+ "tags": [
+ "HostPoolUpdate"
+ ],
+ "operationId": "HostPoolPost_Update",
+ "description": "Initiate update of a hostpool.",
+ "x-ms-examples": {
+ "HostPools_Update_Post": {
+ "$ref": "./examples/HostPools_Update_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "hostPoolUpdate",
+ "description": "Object containing HostPool update definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/HostPoolUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Successfully initiated hostpool update."
+ },
+ "default": {
+ "description": "Automation 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.DesktopVirtualization/hostPools/{hostPoolName}/controlUpdate": {
+ "post": {
+ "tags": [
+ "HostPoolUpdate"
+ ],
+ "operationId": "HostPools_ControlUpdate",
+ "description": "Control update of a hostpool.",
+ "x-ms-examples": {
+ "HostPools_ControlUpdate_Post": {
+ "$ref": "./examples/HostPools_ControlUpdate_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "hostPoolControlParameter",
+ "description": "Object containing control action for hostpool update.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/HostPoolControlParameter"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successfully controlled hostpool update."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/updateDetails": {
+ "get": {
+ "tags": [
+ "HostPoolUpdate"
+ ],
+ "operationId": "UpdateDetails_List",
+ "description": "Operation status of a validate hostpool update.",
+ "x-ms-examples": {
+ "UpdateDetails_List": {
+ "$ref": "./examples/UpdateDetails_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Hostpool update full properties including session host config, hostpool update parameters, and migration progress.",
+ "schema": {
+ "$ref": "#/definitions/UpdateStatusList"
+ }
+ },
+ "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}/updateDetails/default": {
+ "get": {
+ "tags": [
+ "HostPoolUpdate"
+ ],
+ "operationId": "UpdateDetails_Get",
+ "description": "Operation status of a validate hostpool update.",
+ "x-ms-examples": {
+ "UpdateDetails_Get": {
+ "$ref": "./examples/UpdateDetails_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Hostpool update full properties including session host config, hostpool update parameters, and migration progress.",
+ "schema": {
+ "$ref": "#/definitions/UpdateStatus"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/updateValidationOperationResults/default": {
+ "get": {
+ "tags": [
+ "HostPoolUpdate"
+ ],
+ "operationId": "UpdateValidationOperationResults_Get",
+ "description": "Operation status of a validate hostpool update.",
+ "x-ms-examples": {
+ "UpdateValidationOperationResults_Get": {
+ "$ref": "./examples/UpdateValidationOperationResults_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Errors and warnings returned by hostpool update validation.",
+ "schema": {
+ "$ref": "#/definitions/HostPoolUpdateValidationResponse"
+ }
+ },
+ "202": {
+ "description": "Async operation in progress."
+ },
+ "default": {
+ "description": "Automation 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.DesktopVirtualization/hostPools/{hostPoolName}/updateOperationResults/default": {
+ "get": {
+ "tags": [
+ "HostPoolUpdate"
+ ],
+ "operationId": "UpdateOperationResults_Get",
+ "description": "Operation status of a validate hostpool update.",
+ "x-ms-examples": {
+ "UpdateOperationResults_Get": {
+ "$ref": "./examples/UpdateOperationResults_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Hostpool update full properties including session host config, hostpool update parameters, and migration progress.",
+ "schema": {
+ "$ref": "#/definitions/HostPoolUpdateFullProperties"
+ }
+ },
+ "202": {
+ "description": "Async operation in progress."
+ },
+ "default": {
+ "description": "Automation 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.DesktopVirtualization/hostPools/{hostPoolName}/retrieveRegistrationToken": {
+ "post": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_RetrieveRegistrationToken",
+ "description": "Registration token of the host pool.",
+ "x-ms-examples": {
+ "HostPools_RetrieveRegistrationToken_Post": {
+ "$ref": "./examples/HostPools_RetrieveRegistrationToken_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool in resource group.",
+ "schema": {
+ "$ref": "#/definitions/RegistrationInfo"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions": {
+ "get": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_ListByHostPool",
+ "description": "List userSessions.",
+ "x-ms-examples": {
+ "UserSession_ListByHostPool": {
+ "$ref": "./examples/UserSession_ListByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are userprincipalname and sessionstate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved user sessions in host pool.",
+ "schema": {
+ "$ref": "#/definitions/UserSessionList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}": {
+ "get": {
+ "tags": [
+ "SessionHost"
+ ],
+ "operationId": "SessionHosts_Get",
+ "description": "Get a session host.",
+ "x-ms-examples": {
+ "SessionHost_Get": {
+ "$ref": "./examples/SessionHost_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved session host.",
+ "schema": {
+ "$ref": "#/definitions/SessionHost"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SessionHost"
+ ],
+ "operationId": "SessionHosts_Delete",
+ "description": "Remove a SessionHost.",
+ "x-ms-examples": {
+ "SessionHost_Delete": {
+ "$ref": "./examples/SessionHost_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force flag to force sessionHost deletion even when userSession exists."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed session host."
+ },
+ "204": {
+ "description": "Session host does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SessionHost"
+ ],
+ "operationId": "SessionHosts_Update",
+ "description": "Update a session host.",
+ "x-ms-examples": {
+ "SessionHost_Update": {
+ "$ref": "./examples/SessionHost_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "name": "sessionHost",
+ "description": "Object containing SessionHost definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/SessionHostPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated session host.",
+ "schema": {
+ "$ref": "#/definitions/SessionHost"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts": {
+ "get": {
+ "tags": [
+ "SessionHost"
+ ],
+ "operationId": "SessionHosts_List",
+ "description": "List sessionHosts.",
+ "x-ms-examples": {
+ "SessionHost_List": {
+ "$ref": "./examples/SessionHost_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved session hosts in host pool.",
+ "schema": {
+ "$ref": "#/definitions/SessionHostList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages/{msixPackageFullName}": {
+ "get": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_Get",
+ "description": "Get a msixpackage.",
+ "x-ms-examples": {
+ "MSIXPackage_Get": {
+ "$ref": "./examples/MsixPackage_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MSIXPackageFullNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved MSIX Package.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_CreateOrUpdate",
+ "description": "Create or update a MSIX package.",
+ "x-ms-examples": {
+ "MSIXPackage_Create": {
+ "$ref": "./examples/MsixPackage_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MSIXPackageFullNameParameter"
+ },
+ {
+ "name": "msixPackage",
+ "description": "Object containing MSIX Package definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated MSIX Package.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "201": {
+ "description": "Successfully created MSIX Package.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_Delete",
+ "description": "Remove an MSIX Package.",
+ "x-ms-examples": {
+ "MSIXPackage_Delete": {
+ "$ref": "./examples/MsixPackage_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MSIXPackageFullNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed MSIX Package."
+ },
+ "204": {
+ "description": "MSIX Package does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_Update",
+ "description": "Update an MSIX Package.",
+ "x-ms-examples": {
+ "MSIXPackage_Update": {
+ "$ref": "./examples/MsixPackage_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MSIXPackageFullNameParameter"
+ },
+ {
+ "name": "msixPackage",
+ "description": "Object containing MSIX Package definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/MSIXPackagePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated MSIX Package.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages": {
+ "get": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_List",
+ "description": "List MSIX packages in hostpool.",
+ "x-ms-examples": {
+ "MSIXPackage_List": {
+ "$ref": "./examples/MsixPackage_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved MSIX Packages in hostpool.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackageList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/expandMsixImage": {
+ "post": {
+ "tags": [
+ "MsixImage"
+ ],
+ "operationId": "MsixImages_Expand",
+ "description": "Expands and Lists MSIX packages in an Image, given the Image Path.",
+ "x-ms-examples": {
+ "MsixImage_Expand": {
+ "$ref": "./examples/MsixImage_Expand_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "msixImageURI",
+ "description": "Object containing URI to MSIX Image",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MSIXImageURI"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved MSIX packages in specified Image Path.",
+ "schema": {
+ "$ref": "#/definitions/ExpandMsixImageList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}": {
+ "get": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_Get",
+ "description": "Get a userSession.",
+ "x-ms-examples": {
+ "UserSession_Get": {
+ "$ref": "./examples/UserSession_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSessionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved user session.",
+ "schema": {
+ "$ref": "#/definitions/UserSession"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_Delete",
+ "description": "Remove a userSession.",
+ "x-ms-examples": {
+ "UserSession_Delete": {
+ "$ref": "./examples/UserSession_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSessionIdParameter"
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force flag to login off userSession."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed user session."
+ },
+ "204": {
+ "description": "User session does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions": {
+ "get": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_List",
+ "description": "List userSessions.",
+ "x-ms-examples": {
+ "UserSession_List": {
+ "$ref": "./examples/UserSession_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved user sessions in session host.",
+ "schema": {
+ "$ref": "#/definitions/UserSessionList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect": {
+ "post": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_Disconnect",
+ "description": "Disconnect a userSession.",
+ "x-ms-examples": {
+ "UserSession_Disconnect_Post": {
+ "$ref": "./examples/UserSession_Disconnect_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSessionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully disconnected user session."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage": {
+ "post": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_SendMessage",
+ "description": "Send a message to a user.",
+ "x-ms-examples": {
+ "UserSession_SendMessage_Post": {
+ "$ref": "./examples/UserSession_SendMessage_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSessionIdParameter"
+ },
+ {
+ "name": "sendMessage",
+ "description": "Object containing message includes title and message body",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/SendMessage"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully sent message to user session."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/scalingPlans": {
+ "get": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_ListByHostPool",
+ "description": "List scaling plan associated with hostpool.",
+ "x-ms-examples": {
+ "ScalingPlan_ListByHostPool": {
+ "$ref": "./examples/ScalingPlan_ListByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved scaling plan associated with hostpool.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateEndpointConnections_ListByHostPool",
+ "description": "List private endpoint connections associated with hostpool.",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_ListByHostPool": {
+ "$ref": "./examples/PrivateEndpointConnection_ListByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved connection list.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResultWithSystemData"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateEndpointConnections_GetByHostPool",
+ "description": "Get a private endpoint connection.",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_GetByHostPool": {
+ "$ref": "./examples/PrivateEndpointConnection_GetByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the connection.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateEndpointConnections_DeleteByHostPool",
+ "description": "Remove a connection.",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_DeleteByHostPool": {
+ "$ref": "./examples/PrivateEndpointConnection_DeleteByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed."
+ },
+ "204": {
+ "description": "Connection does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateEndpointConnections_UpdateByHostPool",
+ "description": "Approve or reject a private endpoint connection.",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_UpdateByHostPool": {
+ "$ref": "./examples/PrivateEndpointConnection_UpdateByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ },
+ {
+ "name": "connection",
+ "description": "Object containing the updated connection.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateLinkResources_ListByHostPool",
+ "description": "List the private link resources available for this hostpool.",
+ "x-ms-examples": {
+ "PrivateLinkResources_ListByHostPool": {
+ "$ref": "./examples/PrivateLinkResources_ListByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateEndpointConnections_ListByWorkspace",
+ "description": "List private endpoint connections.",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_ListByWorkspace": {
+ "$ref": "./examples/PrivateEndpointConnection_ListByWorkspace.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved connection list.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResultWithSystemData"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateEndpointConnections_GetByWorkspace",
+ "description": "Get a private endpoint connection.",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_GetByWorkspace": {
+ "$ref": "./examples/PrivateEndpointConnection_GetByWorkspace.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the connection.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateEndpointConnections_DeleteByWorkspace",
+ "description": "Remove a connection.",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_DeleteByWorkspace": {
+ "$ref": "./examples/PrivateEndpointConnection_DeleteByWorkspace.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed."
+ },
+ "204": {
+ "description": "Connection does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateEndpointConnections_UpdateByWorkspace",
+ "description": "Approve or reject a private endpoint connection.",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_UpdateByWorkspace": {
+ "$ref": "./examples/PrivateEndpointConnection_UpdateByWorkspace.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName"
+ },
+ {
+ "name": "connection",
+ "description": "Object containing the updated connection.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLink"
+ ],
+ "operationId": "PrivateLinkResources_ListByWorkspace",
+ "description": "List the private link resources available for this workspace.",
+ "x-ms-examples": {
+ "PrivateLinkResources_ListByWorkspace": {
+ "$ref": "./examples/PrivateLinkResources_ListByWorkspace.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorProperties"
+ }
+ }
+ },
+ "CloudErrorProperties": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceProviderOperationList": {
+ "description": "Result of the request to list operations.",
+ "readOnly": true,
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceProviderOperation"
+ },
+ "description": "List of operations supported by this resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ResourceProviderOperation": {
+ "description": "Supported operation of this resource provider.",
+ "readOnly": true,
+ "properties": {
+ "name": {
+ "description": "Operation name, in format of {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "Display metadata associated with the operation.",
+ "properties": {
+ "provider": {
+ "description": "Resource provider: Microsoft Desktop Virtualization.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of operation: get, read, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of this operation.",
+ "type": "string"
+ }
+ }
+ },
+ "isDataAction": {
+ "description": "Is a data action.",
+ "type": "boolean"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Properties of the operation",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification"
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "Service specification payload",
+ "type": "object",
+ "properties": {
+ "logSpecifications": {
+ "description": "Specifications of the Log for Azure Monitoring",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogSpecification"
+ }
+ }
+ }
+ },
+ "LogSpecification": {
+ "description": "Specifications of the Log for Azure Monitoring",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the log",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized friendly display name of the log",
+ "type": "string"
+ },
+ "blobDuration": {
+ "description": "Blob duration of the log",
+ "type": "string"
+ }
+ }
+ },
+ "Workspace": {
+ "type": "object",
+ "description": "Represents a Workspace definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for Workspace",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WorkspaceProperties"
+ }
+ }
+ },
+ "WorkspaceProperties": {
+ "description": "Schema for Workspace properties.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of Workspace. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of Workspace."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Workspace."
+ },
+ "applicationGroupReferences": {
+ "type": "array",
+ "description": "List of applicationGroup resource Ids.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cloudPcResource": {
+ "type": "boolean",
+ "description": "Is cloud pc resource.",
+ "readOnly": true
+ },
+ "publicNetworkAccess": {
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints",
+ "x-nullable": false
+ }
+ }
+ },
+ "WorkspaceList": {
+ "type": "object",
+ "title": "WorkspaceList",
+ "description": "List of Workspace definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Workspace definitions.",
+ "items": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "WorkspacePatch": {
+ "type": "object",
+ "description": "Workspace properties that can be patched.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "Detailed properties for Workspace",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WorkspacePatchProperties"
+ }
+ }
+ },
+ "WorkspacePatchProperties": {
+ "description": "Workspace properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of Workspace."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Workspace."
+ },
+ "applicationGroupReferences": {
+ "type": "array",
+ "description": "List of applicationGroup links.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "publicNetworkAccess": {
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Enabled to allow this resource to be access from the public network"
+ }
+ }
+ },
+ "ApplicationGroup": {
+ "type": "object",
+ "description": "Represents a ApplicationGroup definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for ApplicationGroup",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGroupProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "ApplicationGroupProperties": {
+ "description": "Schema for ApplicationGroup properties.",
+ "type": "object",
+ "required": [
+ "hostPoolArmPath",
+ "applicationGroupType"
+ ],
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of ApplicationGroup. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of ApplicationGroup."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of ApplicationGroup."
+ },
+ "hostPoolArmPath": {
+ "type": "string",
+ "description": "HostPool arm path of ApplicationGroup.",
+ "x-nullable": false
+ },
+ "workspaceArmPath": {
+ "type": "string",
+ "description": "Workspace arm path of ApplicationGroup.",
+ "readOnly": true
+ },
+ "applicationGroupType": {
+ "enum": [
+ "RemoteApp",
+ "Desktop"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGroupType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Resource Type of ApplicationGroup.",
+ "x-nullable": false
+ },
+ "migrationRequest": {
+ "$ref": "#/definitions/MigrationRequestProperties",
+ "description": "The registration info of HostPool."
+ },
+ "cloudPcResource": {
+ "type": "boolean",
+ "description": "Is cloud pc resource.",
+ "readOnly": true
+ }
+ }
+ },
+ "ApplicationGroupPatch": {
+ "type": "object",
+ "description": "ApplicationGroup properties that can be patched.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "ApplicationGroup properties that can be patched.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGroupPatchProperties"
+ }
+ }
+ },
+ "ApplicationGroupPatchProperties": {
+ "description": "ApplicationGroup properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of ApplicationGroup."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of ApplicationGroup."
+ }
+ }
+ },
+ "ApplicationGroupList": {
+ "type": "object",
+ "title": "ApplicationGroupList",
+ "description": "List of ApplicationGroup definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of ApplicationGroup definitions.",
+ "items": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "HostPool": {
+ "type": "object",
+ "description": "Represents a HostPool definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for HostPool",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HostPoolProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "HostPoolProperties": {
+ "description": "Properties of HostPool.",
+ "type": "object",
+ "required": [
+ "hostPoolType",
+ "loadBalancerType",
+ "preferredAppGroupType"
+ ],
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of HostPool. (internal use)",
+ "readOnly": true
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of HostPool."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of HostPool."
+ },
+ "hostPoolType": {
+ "enum": [
+ "Personal",
+ "Pooled",
+ "BYODesktop"
+ ],
+ "x-ms-enum": {
+ "name": "HostPoolType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Personal",
+ "description": "Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost."
+ },
+ {
+ "value": "Pooled",
+ "description": "Users get a new (random) SessionHost every time it connects to the HostPool."
+ },
+ {
+ "value": "BYODesktop",
+ "description": "Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "HostPool type for desktop.",
+ "x-nullable": false
+ },
+ "personalDesktopAssignmentType": {
+ "enum": [
+ "Automatic",
+ "Direct"
+ ],
+ "x-ms-enum": {
+ "name": "PersonalDesktopAssignmentType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "PersonalDesktopAssignment type for HostPool."
+ },
+ "customRdpProperty": {
+ "type": "string",
+ "description": "Custom rdp property of HostPool."
+ },
+ "maxSessionLimit": {
+ "type": "integer",
+ "description": "The max session limit of HostPool."
+ },
+ "loadBalancerType": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst",
+ "Persistent"
+ ],
+ "x-ms-enum": {
+ "name": "LoadBalancerType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of the load balancer.",
+ "x-nullable": false
+ },
+ "ring": {
+ "type": "integer",
+ "description": "The ring number of HostPool."
+ },
+ "validationEnvironment": {
+ "type": "boolean",
+ "description": "Is validation environment."
+ },
+ "registrationInfo": {
+ "$ref": "#/definitions/RegistrationInfo",
+ "description": "The registration info of HostPool."
+ },
+ "vmTemplate": {
+ "type": "string",
+ "description": "VM template for sessionhosts configuration within hostpool."
+ },
+ "applicationGroupReferences": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of applicationGroup links.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ssoadfsAuthority": {
+ "type": "string",
+ "description": "URL to customer ADFS server for signing WVD SSO certificates."
+ },
+ "ssoClientId": {
+ "type": "string",
+ "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates."
+ },
+ "ssoClientSecretKeyVaultPath": {
+ "type": "string",
+ "description": "Path to Azure KeyVault storing the secret used for communication to ADFS."
+ },
+ "ssoSecretType": {
+ "enum": [
+ "SharedKey",
+ "Certificate",
+ "SharedKeyInKeyVault",
+ "CertificateInKeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "SSOSecretType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of single sign on Secret Type."
+ },
+ "preferredAppGroupType": {
+ "enum": [
+ "None",
+ "Desktop",
+ "RailApplications"
+ ],
+ "x-ms-enum": {
+ "name": "PreferredAppGroupType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of preferred application group type, default to Desktop Application Group",
+ "x-nullable": false
+ },
+ "startVMOnConnect": {
+ "type": "boolean",
+ "description": "The flag to turn on/off StartVMOnConnect feature."
+ },
+ "migrationRequest": {
+ "$ref": "#/definitions/MigrationRequestProperties",
+ "description": "The registration info of HostPool."
+ },
+ "cloudPcResource": {
+ "type": "boolean",
+ "description": "Is cloud pc resource.",
+ "readOnly": true
+ },
+ "publicNetworkAccess": {
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints",
+ "x-nullable": false
+ },
+ "sessionHostComponentUpdateConfiguration": {
+ "$ref": "#/definitions/SessionHostComponentUpdateConfigurationProperties",
+ "description": "The session host configuration for updating agent, monitoring agent, and stack component."
+ }
+ }
+ },
+ "HostPoolPatch": {
+ "type": "object",
+ "description": "HostPool properties that can be patched.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "HostPool properties that can be patched.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HostPoolPatchProperties"
+ }
+ }
+ },
+ "HostPoolPatchProperties": {
+ "description": "Properties of HostPool.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of HostPool."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of HostPool."
+ },
+ "customRdpProperty": {
+ "type": "string",
+ "description": "Custom rdp property of HostPool."
+ },
+ "maxSessionLimit": {
+ "type": "integer",
+ "description": "The max session limit of HostPool."
+ },
+ "personalDesktopAssignmentType": {
+ "enum": [
+ "Automatic",
+ "Direct"
+ ],
+ "x-ms-enum": {
+ "name": "PersonalDesktopAssignmentType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "PersonalDesktopAssignment type for HostPool."
+ },
+ "loadBalancerType": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst",
+ "Persistent"
+ ],
+ "x-ms-enum": {
+ "name": "LoadBalancerType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of the load balancer."
+ },
+ "ring": {
+ "type": "integer",
+ "description": "The ring number of HostPool."
+ },
+ "validationEnvironment": {
+ "type": "boolean",
+ "description": "Is validation environment."
+ },
+ "registrationInfo": {
+ "$ref": "#/definitions/RegistrationInfoPatch",
+ "description": "The registration info of HostPool."
+ },
+ "vmTemplate": {
+ "type": "string",
+ "description": "VM template for sessionhosts configuration within hostpool."
+ },
+ "ssoadfsAuthority": {
+ "type": "string",
+ "description": "URL to customer ADFS server for signing WVD SSO certificates."
+ },
+ "ssoClientId": {
+ "type": "string",
+ "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates."
+ },
+ "ssoClientSecretKeyVaultPath": {
+ "type": "string",
+ "description": "Path to Azure KeyVault storing the secret used for communication to ADFS."
+ },
+ "ssoSecretType": {
+ "enum": [
+ "SharedKey",
+ "Certificate",
+ "SharedKeyInKeyVault",
+ "CertificateInKeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "SSOSecretType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of single sign on Secret Type."
+ },
+ "preferredAppGroupType": {
+ "enum": [
+ "None",
+ "Desktop",
+ "RailApplications"
+ ],
+ "x-ms-enum": {
+ "name": "PreferredAppGroupType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of preferred application group type, default to Desktop Application Group"
+ },
+ "startVMOnConnect": {
+ "type": "boolean",
+ "description": "The flag to turn on/off StartVMOnConnect feature."
+ },
+ "publicNetworkAccess": {
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Enabled to allow this resource to be access from the public network"
+ },
+ "sessionHostComponentUpdateConfiguration": {
+ "$ref": "#/definitions/SessionHostComponentUpdateConfigurationProperties",
+ "description": "The session host configuration for updating agent, monitoring agent, and stack component."
+ }
+ }
+ },
+ "SessionHostConfigurationList": {
+ "type": "object",
+ "title": "SessionHostConfigurationList",
+ "description": "List of SessionHostConfiguration definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of SessionHostConfiguration definitions.",
+ "items": {
+ "$ref": "#/definitions/SessionHostConfiguration"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "SessionHostConfiguration": {
+ "type": "object",
+ "description": "Represents a SessionHostConfiguration definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for SessionHostConfiguration",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SessionHostConfigurationProperties"
+ }
+ }
+ },
+ "SessionHostConfigurationProperties": {
+ "description": "Session host configurations of HostPool.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when session host configuration was last modified and something was changed.",
+ "readOnly": true
+ },
+ "vMSizeId": {
+ "type": "string",
+ "description": "The id of the size of a virtual machine connected to a hostpool."
+ },
+ "diskType": {
+ "type": "string",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS",
+ "UltraSSD_LRS"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachineDiskType",
+ "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 disk type used by virtual machine in hostpool session host."
+ },
+ "vmCustomConfigurationUri": {
+ "type": "string",
+ "description": "The uri to the storage blob containing scripts to be run on the virtual machine after provisioning."
+ },
+ "imageInfo": {
+ "$ref": "#/definitions/ImageInfoProperties",
+ "description": "Image configurations of HostPool."
+ },
+ "domainInfo": {
+ "$ref": "#/definitions/DomainInfoProperties",
+ "description": "Domain configurations of session hosts."
+ }
+ }
+ },
+ "ImageInfoProperties": {
+ "description": "Image configurations of session host in a HostPool.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "enum": [
+ "Gallery",
+ "StorageBlob",
+ "CustomImage"
+ ],
+ "x-ms-enum": {
+ "name": "ImageType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Gallery",
+ "description": "Using default gallery images offered by Azure Marketplace."
+ },
+ {
+ "value": "StorageBlob",
+ "description": "Using a VHD stored in a storage blob."
+ },
+ {
+ "value": "CustomImage",
+ "description": "Using custom image or custom shared image."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "The type of image session hosts use in the hostpool.",
+ "x-nullable": false
+ },
+ "marketPlaceInfo": {
+ "$ref": "#/definitions/MarketPlaceInfoProperties",
+ "description": "The values to uniquely identify a gallery image."
+ },
+ "storageBlobUri": {
+ "type": "string",
+ "description": "The uri to the storage blob which contains the VHD. Image type must be StorageBlob."
+ },
+ "customId": {
+ "type": "string",
+ "description": "The resource id of the custom image or shared image. Image type must be CustomImage."
+ }
+ }
+ },
+ "MarketPlaceInfoProperties": {
+ "description": "Image configurations of HostPool.",
+ "type": "object",
+ "properties": {
+ "offer": {
+ "type": "string",
+ "description": "The offer of the image."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The publisher of the image."
+ },
+ "sku": {
+ "type": "string",
+ "description": "The sku of the image."
+ },
+ "exactVersion": {
+ "type": "string",
+ "description": "The exact version of the image."
+ }
+ }
+ },
+ "DomainInfoProperties": {
+ "description": "Domain configurations of session hosts.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The domain a virtual machine connected to a hostpool will join."
+ },
+ "joinType": {
+ "enum": [
+ "ActiveDirectory",
+ "AzureActiveDirectory"
+ ],
+ "x-ms-enum": {
+ "name": "DomainJoinType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "ActiveDirectory",
+ "description": "Using microsoft active directory."
+ },
+ {
+ "value": "AzureActiveDirectory",
+ "description": "Using microsoft azure active directory."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "The type of domain join done by the virtual machine.",
+ "x-nullable": false
+ },
+ "mdmProviderGuid": {
+ "type": "string",
+ "description": "The MDM Provider GUID used during MDM enrollment for Azure AD joined virtual machines."
+ },
+ "credentials": {
+ "$ref": "#/definitions/CredentialsProperties",
+ "description": "Credentials needed to create the virtual machine."
+ }
+ }
+ },
+ "CredentialsProperties": {
+ "description": "Credentials needed to create the virtual machine.",
+ "type": "object",
+ "properties": {
+ "localAdmin": {
+ "$ref": "#/definitions/KeyVaultCredentialProperties",
+ "description": "The local admin credentials."
+ },
+ "domainAdmin": {
+ "$ref": "#/definitions/KeyVaultCredentialProperties",
+ "description": "The domain admin credentials."
+ }
+ }
+ },
+ "KeyVaultCredentialProperties": {
+ "description": "Credentials kept in the keyvault.",
+ "type": "object",
+ "properties": {
+ "userName": {
+ "type": "string",
+ "description": "The user name to the account."
+ },
+ "passwordKeyVaultResourceId": {
+ "type": "string",
+ "description": "The keyvault resource id to the keyvault secrets."
+ },
+ "passwordSecretName": {
+ "type": "string",
+ "description": "The keyvault secret name the password is stored in."
+ }
+ }
+ },
+ "HostPoolUpdate": {
+ "description": "Properties for a hostpool update.",
+ "type": "object",
+ "properties": {
+ "validateOnly": {
+ "type": "boolean",
+ "description": "When validateOnly is true this will run validations and return warnings and errors if any, hostpool will not be updated."
+ },
+ "parameters": {
+ "$ref": "#/definitions/HostPoolUpdateConfigurationProperties",
+ "description": "Parameters for a hostpool update."
+ }
+ }
+ },
+ "HostPoolUpdateConfigurationProperties": {
+ "description": "The configurations of a hostpool update.",
+ "type": "object",
+ "properties": {
+ "saveOriginalDisk": {
+ "type": "boolean",
+ "description": "Whether to save original disk. False by default."
+ },
+ "maxVMsRemovedDuringUpdate": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum virtual machines to be removed during hostpool update."
+ },
+ "maintenanceAlerts": {
+ "type": "array",
+ "description": "The alerts given to customers for hostpool update.",
+ "items": {
+ "$ref": "#/definitions/MaintenanceAlertsProperties"
+ }
+ },
+ "logOffDelaySeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Grace period before logging off users in seconds."
+ },
+ "logOffMessage": {
+ "type": "string",
+ "description": "Log off message sent to user for logoff."
+ },
+ "scheduledTime": {
+ "$ref": "#/definitions/ScheduledTimeProperties",
+ "description": "When set schedules the hostpool update at specific time."
+ }
+ }
+ },
+ "MaintenanceAlertsProperties": {
+ "type": "object",
+ "description": "Properties for host pool update maintenance alerts.",
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "The path to the legacy object to migrate."
+ },
+ "duration": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The time maintenance notification will be sent relative to before/after the update kickoff in minutes."
+ },
+ "beforeKickOff": {
+ "type": "boolean",
+ "description": "Whether to send maintenance alert after or before hostpool update. False by default."
+ }
+ }
+ },
+ "ScheduledTimeProperties": {
+ "type": "object",
+ "description": "When set schedules the hostpool update at specific time.",
+ "properties": {
+ "dateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time the hostpool update is schedule for."
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true."
+ }
+ }
+ },
+ "UpdateStatusList": {
+ "type": "object",
+ "title": "UpdateStatusList",
+ "description": "List of UpdateStatus definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of UpdateStatus definitions.",
+ "items": {
+ "$ref": "#/definitions/UpdateStatus"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "UpdateStatus": {
+ "type": "object",
+ "description": "Represents a Update Status definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for Update Status",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HostPoolUpdateFullProperties"
+ }
+ }
+ },
+ "HostPoolControlParameter": {
+ "description": "Represents properties for a hostpool update.",
+ "type": "object",
+ "properties": {
+ "action": {
+ "enum": [
+ "Start",
+ "Pause",
+ "Cancel",
+ "Retry",
+ "Resume"
+ ],
+ "x-ms-enum": {
+ "name": "HostPoolUpdateAction",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Start",
+ "description": "Start the hostpool update."
+ },
+ {
+ "value": "Pause",
+ "description": "Pause the hostpool update."
+ },
+ {
+ "value": "Cancel",
+ "description": "Cancel the hostpool update."
+ },
+ {
+ "value": "Retry",
+ "description": "Retry the hostpool update."
+ },
+ {
+ "value": "Resume",
+ "description": "Resume the hostpool update."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "Action types for controlling hostpool update.",
+ "x-nullable": false
+ },
+ "message": {
+ "type": "string",
+ "description": "The cancel message sent to the user on the session host."
+ }
+ }
+ },
+ "HostPoolUpdateProgress": {
+ "description": "Properties of host pool update progress.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "timeCreated": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The hostpool update create time."
+ },
+ "timeStarted": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The hostpool update start time."
+ },
+ "timeFailed": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The hostpool update fail time."
+ },
+ "timeEnded": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The hostpool update end time."
+ },
+ "errors": {
+ "type": "array",
+ "description": "The alerts given to customers for hostpool update.",
+ "items": {
+ "$ref": "#/definitions/HostPoolUpdateFault"
+ }
+ },
+ "progressPercentage": {
+ "type": "number",
+ "format": "float",
+ "description": "The progress percentage."
+ },
+ "sessionHostsToUpdate": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of session hosts to update by hostpool update."
+ },
+ "sessionHostsUpdating": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of session hosts updating by hostpool update."
+ },
+ "sessionHostsUpdated": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of session hosts updated by hostpool update."
+ },
+ "sessionHostsRollbackFailed": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of session hosts that failed to rollback."
+ }
+ }
+ },
+ "HostPoolUpdateFullPropertiesList": {
+ "type": "object",
+ "title": "HostPoolUpdateFullPropertiesList",
+ "description": "List of HostPoolUpdateFullPropertiesList definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of HostPoolUpdateFullPropertiesList definitions.",
+ "items": {
+ "$ref": "#/definitions/HostPoolUpdateFullProperties"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "HostPoolUpdateFullProperties": {
+ "description": "Hostpool update full properties including session host config, hostpool update parameters, and update progress.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "updateStatus": {
+ "enum": [
+ "Scheduled",
+ "InProgress",
+ "Pausing",
+ "Paused",
+ "StartFailed",
+ "UpdateFailed",
+ "Cancelling",
+ "Canceled",
+ "Completed"
+ ],
+ "x-ms-enum": {
+ "name": "HostPoolUpdateStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Scheduled",
+ "description": "Hostpool update scheduled."
+ },
+ {
+ "value": "InProgress",
+ "description": "Hostpool update in progress."
+ },
+ {
+ "value": "Pausing",
+ "description": "Hostpool update pausing."
+ },
+ {
+ "value": "Paused",
+ "description": "Hostpool update paused."
+ },
+ {
+ "value": "StartFailed",
+ "description": "Hostpool update start failed."
+ },
+ {
+ "value": "UpdateFailed",
+ "description": "Hostpool update update failed."
+ },
+ {
+ "value": "Cancelling",
+ "description": "Hostpool update cancelling."
+ },
+ {
+ "value": "Canceled",
+ "description": "Hostpool update canceled."
+ },
+ {
+ "value": "Completed",
+ "description": "Hostpool update completed."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "State of hostpool update.",
+ "x-nullable": false
+ },
+ "version": {
+ "type": "string",
+ "description": "The version of hostpool update."
+ },
+ "hostPoolResourceId": {
+ "type": "string",
+ "description": "The resourceId of hostpool."
+ },
+ "correlationId": {
+ "type": "string",
+ "description": "The correlationId of the hostpool update."
+ },
+ "updateProgress": {
+ "$ref": "#/definitions/HostPoolUpdateProgress",
+ "description": "Properties of host pool update progress."
+ },
+ "hostPoolUpdateConfiguration": {
+ "$ref": "#/definitions/HostPoolUpdateConfigurationProperties",
+ "description": "The configurations of a hostpool update."
+ },
+ "sessionHostConfiguration": {
+ "$ref": "#/definitions/SessionHostConfigurationProperties",
+ "description": "The session host configurations of a host pool."
+ }
+ }
+ },
+ "HostPoolUpdateValidationResponse": {
+ "description": "Errors and warnings returned by hostpool update validation.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "warnings": {
+ "type": "array",
+ "description": "Warnings from the hostpool update validation.",
+ "items": {
+ "$ref": "#/definitions/HostPoolUpdateFault"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors from the hostpool update validation.",
+ "items": {
+ "$ref": "#/definitions/HostPoolUpdateFault"
+ }
+ }
+ }
+ },
+ "HostPoolUpdateFault": {
+ "description": "Hostpool update fault information.",
+ "type": "object",
+ "properties": {
+ "faultType": {
+ "type": "string",
+ "description": "Hostpool update fault type. Either ServiceError or UserError."
+ },
+ "faultCode": {
+ "type": "string",
+ "description": "Hostpool update fault code."
+ },
+ "faultText": {
+ "type": "string",
+ "description": "Hostpool update fault text."
+ },
+ "faultContext": {
+ "type": "string",
+ "description": "Hostpool update fault context."
+ }
+ }
+ },
+ "SessionHostComponentUpdateConfigurationProperties": {
+ "description": "The session host configuration for updating agent, monitoring agent, and stack component.",
+ "type": "object",
+ "properties": {
+ "maintenanceType": {
+ "type": "string",
+ "description": "The type of maintenance for session host components.",
+ "enum": [
+ "Default",
+ "TenantAdminControlled"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostComponentUpdateType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Default",
+ "description": "Agent and other agent side components are delivery schedule is controlled by WVD Infra."
+ },
+ {
+ "value": "TenantAdminControlled",
+ "description": "TenantAdmin have opted in for Scheduled Component Update feature."
+ }
+ ]
+ }
+ },
+ "useSessionHostLocalTime": {
+ "type": "boolean",
+ "description": "Whether to use localTime of the virtual machine."
+ },
+ "maintenanceWindowTimeZone": {
+ "type": "string",
+ "description": "Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true."
+ },
+ "primaryWindow": {
+ "$ref": "#/definitions/MaintenanceWindowProperties",
+ "description": "Primary Window of the maintenance. Maintenance windows are 2 hours long. We try to push component update in this window first."
+ },
+ "secondaryWindow": {
+ "$ref": "#/definitions/SecondaryWindowProperties",
+ "description": "Secondary maintenance windows. Maintenance windows are 2 hours long. We try to exercise this only when the primary window update fails."
+ }
+ }
+ },
+ "MaintenanceWindowProperties": {
+ "description": "Maintenance window starting hour and day of week.",
+ "type": "object",
+ "properties": {
+ "hour": {
+ "format": "int32",
+ "type": "integer",
+ "description": "The update start hour of the day. (0 - 23)"
+ },
+ "dayOfWeek": {
+ "type": "string",
+ "description": "Day of the week.",
+ "enum": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday",
+ "Sunday"
+ ],
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "SecondaryWindowProperties": {
+ "description": "Secondary maintenance windows is a list of days at one specific hour. Maintenance windows are 2 hours long. We try to exercise this only when the primary window update fails.",
+ "type": "object",
+ "properties": {
+ "hour": {
+ "format": "int32",
+ "type": "integer",
+ "description": "The update start hour of the day. (0 - 23)"
+ },
+ "daysOfWeek": {
+ "type": "array",
+ "description": "Set of days of the week on which this schedule is active.",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string"
+ }
+ }
+ }
+ },
+ "RegistrationInfo": {
+ "description": "Represents a RegistrationInfo definition.",
+ "type": "object",
+ "properties": {
+ "expirationTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Expiration time of registration token."
+ },
+ "token": {
+ "type": "string",
+ "description": "The registration token base64 encoded string."
+ },
+ "registrationTokenOperation": {
+ "enum": [
+ "Delete",
+ "None",
+ "Update"
+ ],
+ "x-ms-enum": {
+ "name": "RegistrationTokenOperation",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of resetting the token.",
+ "x-nullable": false
+ }
+ }
+ },
+ "RegistrationInfoPatch": {
+ "description": "Represents a RegistrationInfo definition.",
+ "type": "object",
+ "properties": {
+ "expirationTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Expiration time of registration token."
+ },
+ "registrationTokenOperation": {
+ "enum": [
+ "Delete",
+ "None",
+ "Update"
+ ],
+ "x-ms-enum": {
+ "name": "RegistrationTokenOperation",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of resetting the token."
+ }
+ }
+ },
+ "SendMessage": {
+ "description": "Represents message sent to a UserSession.",
+ "type": "object",
+ "properties": {
+ "messageTitle": {
+ "type": "string",
+ "description": "Title of message."
+ },
+ "messageBody": {
+ "type": "string",
+ "description": "Body of message."
+ }
+ }
+ },
+ "HostPoolList": {
+ "type": "object",
+ "title": "HostPoolList",
+ "description": "List of HostPool definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of HostPool definitions.",
+ "items": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "MSIXPackage": {
+ "description": "Schema for MSIX Package properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for MSIX Package",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MSIXPackageProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "MSIXPackageProperties": {
+ "description": "Schema for MSIX Package properties.",
+ "type": "object",
+ "properties": {
+ "imagePath": {
+ "type": "string",
+ "description": "VHD/CIM image path on Network Share.",
+ "x-nullable": false
+ },
+ "packageName": {
+ "type": "string",
+ "description": "Package Name from appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageFamilyName": {
+ "type": "string",
+ "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ",
+ "x-nullable": false
+ },
+ "displayName": {
+ "type": "string",
+ "description": "User friendly Name to be displayed in the portal. ",
+ "x-nullable": true
+ },
+ "packageRelativePath": {
+ "type": "string",
+ "description": "Relative Path to the package inside the image. ",
+ "x-nullable": false
+ },
+ "isRegularRegistration": {
+ "type": "boolean",
+ "description": "Specifies how to register Package in feed.",
+ "x-nullable": false
+ },
+ "isActive": {
+ "type": "boolean",
+ "description": "Make this version of the package the active one across the hostpool. ",
+ "x-nullable": false
+ },
+ "packageDependencies": {
+ "type": "array",
+ "description": "List of package dependencies. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageDependencies"
+ }
+ },
+ "version": {
+ "type": "string",
+ "description": "Package Version found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "lastUpdated": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Date Package was last updated, found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageApplications": {
+ "type": "array",
+ "description": "List of package applications. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageApplications"
+ },
+ "x-nullable": false
+ }
+ }
+ },
+ "MSIXPackagePatch": {
+ "type": "object",
+ "description": "MSIX Package properties that can be patched.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for MSIX Package",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MSIXPackagePatchProperties"
+ }
+ }
+ },
+ "MSIXPackagePatchProperties": {
+ "description": "MSIX Package properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "isActive": {
+ "type": "boolean",
+ "description": "Set a version of the package to be active across hostpool. "
+ },
+ "isRegularRegistration": {
+ "type": "boolean",
+ "description": "Set Registration mode. Regular or Delayed."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name for MSIX Package."
+ }
+ }
+ },
+ "MsixPackageApplications": {
+ "description": "Schema for MSIX Package Application properties.",
+ "type": "object",
+ "properties": {
+ "appId": {
+ "type": "string",
+ "description": "Package Application Id, found in appxmanifest.xml.",
+ "x-nullable": false
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of Package Application.",
+ "x-nullable": false
+ },
+ "appUserModelID": {
+ "type": "string",
+ "description": "Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml.",
+ "x-nullable": false
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "User friendly name.",
+ "x-nullable": false
+ },
+ "iconImageName": {
+ "type": "string",
+ "description": "User friendly name.",
+ "x-nullable": false
+ },
+ "rawIcon": {
+ "type": "string",
+ "format": "byte",
+ "description": "the icon a 64 bit string as a byte array."
+ },
+ "rawPng": {
+ "type": "string",
+ "format": "byte",
+ "description": "the icon a 64 bit string as a byte array."
+ }
+ }
+ },
+ "MsixPackageDependencies": {
+ "description": "Schema for MSIX Package Dependencies properties.",
+ "type": "object",
+ "properties": {
+ "dependencyName": {
+ "type": "string",
+ "description": "Name of package dependency.",
+ "x-nullable": false
+ },
+ "publisher": {
+ "type": "string",
+ "description": "Name of dependency publisher.",
+ "x-nullable": false
+ },
+ "minVersion": {
+ "type": "string",
+ "description": "Dependency version required.",
+ "x-nullable": false
+ }
+ }
+ },
+ "MSIXPackageList": {
+ "type": "object",
+ "title": "MsixPackageList",
+ "description": "List of MSIX Package definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of MSIX Package definitions.",
+ "items": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "Application": {
+ "description": "Schema for Application properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for Application",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "ApplicationProperties": {
+ "description": "Schema for Application properties.",
+ "type": "object",
+ "required": [
+ "commandLineSetting"
+ ],
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of Application. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of Application."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Application."
+ },
+ "filePath": {
+ "type": "string",
+ "description": "Specifies a path for the executable file for the application."
+ },
+ "msixPackageFamilyName": {
+ "type": "string",
+ "description": "Specifies the package family name for MSIX applications",
+ "x-nullable": true,
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "msixPackageApplicationId": {
+ "type": "string",
+ "description": "Specifies the package application Id for MSIX applications",
+ "x-nullable": true,
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "applicationType": {
+ "enum": [
+ "InBuilt",
+ "MsixApplication"
+ ],
+ "x-ms-enum": {
+ "name": "RemoteApplicationType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Resource Type of Application.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "commandLineSetting": {
+ "enum": [
+ "DoNotAllow",
+ "Allow",
+ "Require"
+ ],
+ "x-ms-enum": {
+ "name": "CommandLineSetting",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.",
+ "x-nullable": false
+ },
+ "commandLineArguments": {
+ "type": "string",
+ "description": "Command Line Arguments for Application."
+ },
+ "showInPortal": {
+ "type": "boolean",
+ "description": "Specifies whether to show the RemoteApp program in the RD Web Access server."
+ },
+ "iconPath": {
+ "type": "string",
+ "description": "Path to icon."
+ },
+ "iconIndex": {
+ "type": "integer",
+ "description": "Index of the icon."
+ },
+ "iconHash": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Hash of the icon."
+ },
+ "iconContent": {
+ "readOnly": true,
+ "type": "string",
+ "format": "byte",
+ "description": "the icon a 64 bit string as a byte array."
+ }
+ }
+ },
+ "ApplicationList": {
+ "type": "object",
+ "title": "ApplicationList",
+ "description": "List of Application definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Application definitions.",
+ "items": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ApplicationPatch": {
+ "type": "object",
+ "description": "Application properties that can be patched.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "Detailed properties for Application",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationPatchProperties"
+ }
+ }
+ },
+ "ApplicationPatchProperties": {
+ "description": "Application properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of Application."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Application."
+ },
+ "filePath": {
+ "type": "string",
+ "description": "Specifies a path for the executable file for the application."
+ },
+ "commandLineSetting": {
+ "enum": [
+ "DoNotAllow",
+ "Allow",
+ "Require"
+ ],
+ "x-ms-enum": {
+ "name": "CommandLineSetting",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all."
+ },
+ "commandLineArguments": {
+ "type": "string",
+ "description": "Command Line Arguments for Application."
+ },
+ "showInPortal": {
+ "type": "boolean",
+ "description": "Specifies whether to show the RemoteApp program in the RD Web Access server."
+ },
+ "iconPath": {
+ "type": "string",
+ "description": "Path to icon."
+ },
+ "iconIndex": {
+ "type": "integer",
+ "description": "Index of the icon."
+ },
+ "msixPackageFamilyName": {
+ "type": "string",
+ "description": "Specifies the package family name for MSIX applications",
+ "x-nullable": true
+ },
+ "msixPackageApplicationId": {
+ "type": "string",
+ "description": "Specifies the package application Id for MSIX applications",
+ "x-nullable": true
+ },
+ "applicationType": {
+ "enum": [
+ "InBuilt",
+ "MsixApplication"
+ ],
+ "x-ms-enum": {
+ "name": "RemoteApplicationType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Resource Type of Application."
+ }
+ }
+ },
+ "Desktop": {
+ "description": "Schema for Desktop properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for Desktop",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DesktopProperties"
+ }
+ }
+ },
+ "DesktopProperties": {
+ "description": "Schema for Desktop properties.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of Desktop. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of Desktop."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Desktop."
+ },
+ "iconHash": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Hash of the icon."
+ },
+ "iconContent": {
+ "readOnly": true,
+ "type": "string",
+ "format": "byte",
+ "description": "The icon a 64 bit string as a byte array."
+ }
+ }
+ },
+ "DesktopList": {
+ "type": "object",
+ "title": "DesktopList",
+ "description": "List of Desktop definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Desktop definitions.",
+ "items": {
+ "$ref": "#/definitions/Desktop"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "DesktopPatch": {
+ "type": "object",
+ "description": "Desktop properties that can be patched.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "Detailed properties for Desktop",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DesktopPatchProperties"
+ }
+ }
+ },
+ "DesktopPatchProperties": {
+ "description": "Desktop properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of Desktop."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Desktop."
+ }
+ }
+ },
+ "StartMenuItemProperties": {
+ "description": "Schema for StartMenuItem properties.",
+ "type": "object",
+ "properties": {
+ "appAlias": {
+ "type": "string",
+ "description": "Alias of StartMenuItem."
+ },
+ "filePath": {
+ "type": "string",
+ "description": "Path to the file of StartMenuItem."
+ },
+ "commandLineArguments": {
+ "type": "string",
+ "description": "Command line arguments for StartMenuItem."
+ },
+ "iconPath": {
+ "type": "string",
+ "description": "Path to the icon."
+ },
+ "iconIndex": {
+ "type": "integer",
+ "description": "Index of the icon."
+ }
+ }
+ },
+ "StartMenuItem": {
+ "type": "object",
+ "description": "Represents a StartMenuItem definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for StartMenuItem",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/StartMenuItemProperties"
+ }
+ }
+ },
+ "StartMenuItemList": {
+ "type": "object",
+ "title": "StartMenuItemList",
+ "description": "List of StartMenuItem definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of StartMenuItem definitions.",
+ "items": {
+ "$ref": "#/definitions/StartMenuItem"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ExpandMsixImageProperties": {
+ "description": "Schema for Expand MSIX Image properties.",
+ "type": "object",
+ "properties": {
+ "packageAlias": {
+ "type": "string",
+ "description": "Alias of MSIX Package."
+ },
+ "imagePath": {
+ "type": "string",
+ "description": "VHD/CIM image path on Network Share.",
+ "x-nullable": false
+ },
+ "packageName": {
+ "type": "string",
+ "description": "Package Name from appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageFamilyName": {
+ "type": "string",
+ "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ",
+ "x-nullable": false
+ },
+ "packageFullName": {
+ "type": "string",
+ "description": "Package Full Name from appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "displayName": {
+ "type": "string",
+ "description": "User friendly Name to be displayed in the portal. ",
+ "x-nullable": true
+ },
+ "packageRelativePath": {
+ "type": "string",
+ "description": "Relative Path to the package inside the image. ",
+ "x-nullable": false
+ },
+ "isRegularRegistration": {
+ "type": "boolean",
+ "description": "Specifies how to register Package in feed.",
+ "x-nullable": false
+ },
+ "isActive": {
+ "type": "boolean",
+ "description": "Make this version of the package the active one across the hostpool. ",
+ "x-nullable": false
+ },
+ "packageDependencies": {
+ "type": "array",
+ "description": "List of package dependencies. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageDependencies"
+ },
+ "x-nullable": true
+ },
+ "version": {
+ "type": "string",
+ "description": "Package Version found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "lastUpdated": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Date Package was last updated, found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageApplications": {
+ "type": "array",
+ "description": "List of package applications. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageApplications"
+ },
+ "x-nullable": false
+ }
+ }
+ },
+ "ExpandMsixImage": {
+ "type": "object",
+ "description": "Represents the definition of contents retrieved after expanding the MSIX Image. ",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for ExpandMsixImage",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpandMsixImageProperties"
+ }
+ }
+ },
+ "ExpandMsixImageList": {
+ "type": "object",
+ "title": "ExpandMsixImageList",
+ "description": "List of MSIX package properties retrieved from MSIX Image expansion.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of MSIX package properties from give MSIX Image.",
+ "items": {
+ "$ref": "#/definitions/ExpandMsixImage"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "MSIXImageURI": {
+ "description": "Represents URI referring to MSIX Image",
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI to Image"
+ }
+ }
+ },
+ "SessionHost": {
+ "type": "object",
+ "description": "Represents a SessionHost definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for SessionHost",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SessionHostProperties"
+ }
+ }
+ },
+ "SessionHostProperties": {
+ "description": "Schema for SessionHost properties.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of SessionHost. (internal use)",
+ "readOnly": true
+ },
+ "lastHeartBeat": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Last heart beat from SessionHost."
+ },
+ "sessions": {
+ "type": "integer",
+ "description": "Number of sessions on SessionHost."
+ },
+ "agentVersion": {
+ "type": "string",
+ "description": "Version of agent on SessionHost."
+ },
+ "allowNewSession": {
+ "type": "boolean",
+ "description": "Allow a new session."
+ },
+ "virtualMachineId": {
+ "type": "string",
+ "description": "Virtual Machine Id of SessionHost's underlying virtual machine.",
+ "readOnly": true
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Resource Id of SessionHost's underlying virtual machine.",
+ "readOnly": true
+ },
+ "assignedUser": {
+ "type": "string",
+ "description": "User assigned to SessionHost."
+ },
+ "status": {
+ "enum": [
+ "Available",
+ "Unavailable",
+ "Shutdown",
+ "Disconnected",
+ "Upgrading",
+ "UpgradeFailed",
+ "NoHeartbeat",
+ "NotJoinedToDomain",
+ "DomainTrustRelationshipLost",
+ "SxSStackListenerNotReady",
+ "FSLogixNotHealthy",
+ "NeedsAssistance"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Available",
+ "description": "Session Host has passed all the health checks and is available to handle connections."
+ },
+ {
+ "value": "Unavailable",
+ "description": "Session Host is either turned off or has failed critical health checks which is causing service not to be able to route connections to this session host. Note this replaces previous 'NoHeartBeat' status."
+ },
+ {
+ "value": "Shutdown",
+ "description": "Session Host is shutdown - RD Agent reported session host to be stopped or deallocated."
+ },
+ {
+ "value": "Disconnected",
+ "description": "The Session Host is unavailable because it is currently disconnected."
+ },
+ {
+ "value": "Upgrading",
+ "description": "Session Host is unavailable because currently an upgrade of RDAgent/side-by-side stack is in progress. Note: this state will be removed once the upgrade completes and the host is able to accept connections."
+ },
+ {
+ "value": "UpgradeFailed",
+ "description": "Session Host is unavailable because the critical component upgrade (agent, side-by-side stack, etc.) failed."
+ },
+ {
+ "value": "NoHeartbeat",
+ "description": "The Session Host is not heart beating."
+ },
+ {
+ "value": "NotJoinedToDomain",
+ "description": "SessionHost is not joined to domain."
+ },
+ {
+ "value": "DomainTrustRelationshipLost",
+ "description": "SessionHost's domain trust relationship lost"
+ },
+ {
+ "value": "SxSStackListenerNotReady",
+ "description": "SxS stack installed on the SessionHost is not ready to receive connections."
+ },
+ {
+ "value": "FSLogixNotHealthy",
+ "description": "FSLogix is in an unhealthy state on the session host."
+ },
+ {
+ "value": "NeedsAssistance",
+ "description": "New status to inform admins that the health on their endpoint needs to be fixed. The connections might not fail, as these issues are not fatal."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "Status for a SessionHost."
+ },
+ "statusTimestamp": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The timestamp of the status.",
+ "readOnly": true
+ },
+ "osVersion": {
+ "type": "string",
+ "description": "The version of the OS on the session host."
+ },
+ "sxSStackVersion": {
+ "type": "string",
+ "description": "The version of the side by side stack on the session host."
+ },
+ "updateState": {
+ "enum": [
+ "Initial",
+ "Pending",
+ "Started",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "UpdateState",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Update state of a SessionHost."
+ },
+ "lastUpdateTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The timestamp of the last update.",
+ "readOnly": true
+ },
+ "updateErrorMessage": {
+ "type": "string",
+ "description": "The error message."
+ },
+ "sessionHostHealthCheckResults": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of SessionHostHealthCheckReports",
+ "items": {
+ "$ref": "#/definitions/SessionHostHealthCheckReport"
+ }
+ },
+ "lastSessionHostUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last time update was completed.",
+ "readOnly": true
+ },
+ "sessionHostConfigurationLastUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "This time will match the time in the session host configuration for when the update was initiated.",
+ "readOnly": true
+ },
+ "imageResourceId": {
+ "type": "string",
+ "description": "The resourceId of the image of session host.",
+ "readOnly": true
+ },
+ "imageType": {
+ "enum": [
+ "Gallery",
+ "StorageBlob",
+ "CustomImage"
+ ],
+ "x-ms-enum": {
+ "name": "ImageType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Gallery",
+ "description": "Using default gallery images offered by azure market place."
+ },
+ {
+ "value": "StorageBlob",
+ "description": "Using a VHD stored in a storage blob."
+ },
+ {
+ "value": "CustomImage",
+ "description": "Using custom image or custom shared image."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "The type of image session hosts use in the hostpool.",
+ "x-nullable": false,
+ "readOnly": true
+ },
+ "updateStatus": {
+ "enum": [
+ "InProgress",
+ "NotInProgress"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostUpdateStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "InProgress",
+ "description": "Session host update in progress."
+ },
+ {
+ "value": "NotInProgress",
+ "description": "Session host update not in progress."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "Updating state of the session host.",
+ "x-nullable": false,
+ "readOnly": true
+ }
+ }
+ },
+ "SessionHostHealthCheckReport": {
+ "type": "object",
+ "description": "The report for session host information.",
+ "properties": {
+ "healthCheckName": {
+ "enum": [
+ "DomainJoinedCheck",
+ "DomainTrustCheck",
+ "FSLogixHealthCheck",
+ "SxSStackListenerCheck",
+ "UrlsAccessibleCheck",
+ "MonitoringAgentCheck",
+ "DomainReachable",
+ "WebRTCRedirectorCheck",
+ "SupportedEncryptionCheck",
+ "MetaDataServiceCheck",
+ "AppAttachHealthCheck"
+ ],
+ "x-ms-enum": {
+ "name": "HealthCheckName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "DomainJoinedCheck",
+ "description": "Verifies the SessionHost is joined to a domain. If this check fails is classified as fatal as no connection can succeed if the SessionHost is not joined to the domain."
+ },
+ {
+ "value": "DomainTrustCheck",
+ "description": "Verifies the SessionHost is not experiencing domain trust issues that will prevent authentication on SessionHost at connection time when session is created. If this check fails is classified as fatal as no connection can succeed if we cannot reach the domain for authentication on the SessionHost."
+ },
+ {
+ "value": "FSLogixHealthCheck",
+ "description": "Verifies the FSLogix service is up and running to make sure users' profiles are loaded in the session. If this check fails is classified as fatal as even if the connection can succeed, user experience is bad as the user profile cannot be loaded and user will get a temporary profile in the session."
+ },
+ {
+ "value": "SxSStackListenerCheck",
+ "description": "Verifies that the SxS stack is up and running so connections can succeed. If this check fails is classified as fatal as no connection can succeed if the SxS stack is not ready."
+ },
+ {
+ "value": "UrlsAccessibleCheck",
+ "description": "Verifies that the required WVD service and Geneva URLs are reachable from the SessionHost. These URLs are: RdTokenUri, RdBrokerURI, RdDiagnosticsUri and storage blob URLs for agent monitoring (geneva). If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is unable to store warm path data (logs, operations ...)."
+ },
+ {
+ "value": "MonitoringAgentCheck",
+ "description": "Verifies that the required Geneva agent is running. If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is missing or running (possibly) older version."
+ },
+ {
+ "value": "DomainReachable",
+ "description": "Verifies the domain the SessionHost is joined to is still reachable. If this check fails is classified as fatal as no connection can succeed if the domain the SessionHost is joined is not reachable at the time of connection."
+ },
+ {
+ "value": "WebRTCRedirectorCheck",
+ "description": "Verifies whether the WebRTCRedirector component is healthy. The WebRTCRedirector component is used to optimize video and audio performance in Microsoft Teams. This checks whether the component is still running, and whether there is a higher version available. If this check fails, it is non fatal and the machine still can service connections, main issue may be the WebRTCRedirector component has to be restarted or updated."
+ },
+ {
+ "value": "SupportedEncryptionCheck",
+ "description": "Verifies the value of SecurityLayer registration key. If the value is 0 (SecurityLayer.RDP) this check fails with Error code = NativeMethodErrorCode.E_FAIL and is fatal. If the value is 1 (SecurityLayer.Negotiate) this check fails with Error code = NativeMethodErrorCode.ERROR_SUCCESS and is non fatal."
+ },
+ {
+ "value": "MetaDataServiceCheck",
+ "description": "Verifies the metadata service is accessible and return compute properties."
+ },
+ {
+ "value": "AppAttachHealthCheck",
+ "description": "Verifies that the AppAttachService is healthy (there were no issues during package staging). The AppAttachService is used to enable the staging/registration (and eventual deregistration/destaging) of MSIX apps that have been set up by the tenant admin. This checks whether the component had any failures during package staging. Failures in staging will prevent some MSIX apps from working properly for the end user. If this check fails, it is non fatal and the machine still can service connections, main issue may be certain apps will not work for end-users."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "Represents the name of the health check operation performed.",
+ "readOnly": true
+ },
+ "healthCheckResult": {
+ "enum": [
+ "Unknown",
+ "HealthCheckSucceeded",
+ "HealthCheckFailed",
+ "SessionHostShutdown"
+ ],
+ "x-ms-enum": {
+ "name": "HealthCheckResult",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "Health check result is not currently known."
+ },
+ {
+ "value": "HealthCheckSucceeded",
+ "description": "Health check passed."
+ },
+ {
+ "value": "HealthCheckFailed",
+ "description": "Health check failed."
+ },
+ {
+ "value": "SessionHostShutdown",
+ "description": "We received a Shutdown notification."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "Represents the Health state of the health check we performed.",
+ "readOnly": true
+ },
+ "additionalFailureDetails": {
+ "$ref": "#/definitions/SessionHostHealthCheckFailureDetails",
+ "description": "Additional detailed information on the failure.",
+ "readOnly": true
+ }
+ }
+ },
+ "SessionHostHealthCheckFailureDetails": {
+ "type": "object",
+ "description": "Contains details on the failure.",
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "Failure message: hints on what is wrong and how to recover.",
+ "readOnly": true
+ },
+ "errorCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Error code corresponding for the failure.",
+ "readOnly": true
+ },
+ "lastHealthCheckDateTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The timestamp of the last update.",
+ "readOnly": true
+ }
+ }
+ },
+ "SessionHostPatch": {
+ "type": "object",
+ "description": "SessionHost properties that can be patched.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for SessionHost",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SessionHostPatchProperties"
+ }
+ }
+ },
+ "SessionHostPatchProperties": {
+ "description": "SessionHost properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "allowNewSession": {
+ "type": "boolean",
+ "description": "Allow a new session."
+ },
+ "assignedUser": {
+ "type": "string",
+ "description": "User assigned to SessionHost."
+ }
+ }
+ },
+ "SessionHostList": {
+ "type": "object",
+ "title": "SessionHostList",
+ "description": "List of SessionHost definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of SessionHost definitions.",
+ "items": {
+ "$ref": "#/definitions/SessionHost"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "UserSession": {
+ "type": "object",
+ "description": "Represents a UserSession definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for UserSession",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UserSessionProperties"
+ }
+ }
+ },
+ "UserSessionProperties": {
+ "description": "Schema for UserSession properties.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of user session. (internal use)",
+ "readOnly": true
+ },
+ "userPrincipalName": {
+ "type": "string",
+ "description": "The user principal name."
+ },
+ "applicationType": {
+ "enum": [
+ "RemoteApp",
+ "Desktop"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Application type of application."
+ },
+ "sessionState": {
+ "enum": [
+ "Unknown",
+ "Active",
+ "Disconnected",
+ "Pending",
+ "LogOff",
+ "UserProfileDiskMounted"
+ ],
+ "x-ms-enum": {
+ "name": "SessionState",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "State of user session."
+ },
+ "activeDirectoryUserName": {
+ "type": "string",
+ "description": "The active directory user name."
+ },
+ "createTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The timestamp of the user session create."
+ }
+ }
+ },
+ "UserSessionList": {
+ "type": "object",
+ "title": "UserSessionList",
+ "description": "List of UserSession definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of UserSession definitions.",
+ "items": {
+ "$ref": "#/definitions/UserSession"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ScalingPlan": {
+ "type": "object",
+ "title": "ScalingPlan",
+ "description": "Represents a scaling plan definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ },
+ "properties": {
+ "description": "Detailed properties for scaling plan.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ScalingPlanProperties"
+ }
+ }
+ },
+ "ScalingPlanProperties": {
+ "type": "object",
+ "description": "Scaling plan properties.",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of scaling plan. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of scaling plan."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "User friendly name of scaling plan."
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "Timezone of the scaling plan."
+ },
+ "hostPoolType": {
+ "enum": [
+ "Personal",
+ "Pooled",
+ "BYODesktop"
+ ],
+ "x-ms-enum": {
+ "name": "HostPoolType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Personal",
+ "description": "Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost."
+ },
+ {
+ "value": "Pooled",
+ "description": "Users get a new (random) SessionHost every time it connects to the HostPool."
+ },
+ {
+ "value": "BYODesktop",
+ "description": "Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "HostPool type for desktop.",
+ "x-nullable": false
+ },
+ "exclusionTag": {
+ "type": "string",
+ "description": "Exclusion tag for scaling plan."
+ },
+ "schedules": {
+ "type": "array",
+ "description": "List of ScalingSchedule definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingSchedule"
+ }
+ },
+ "hostPoolReferences": {
+ "type": "array",
+ "description": "List of ScalingHostPoolReference definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingHostPoolReference"
+ }
+ }
+ }
+ },
+ "ScalingSchedule": {
+ "description": "Scaling plan schedule.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the scaling schedule."
+ },
+ "daysOfWeek": {
+ "type": "array",
+ "description": "Set of days of the week on which this schedule is active.",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string"
+ }
+ },
+ "rampUpStartTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Starting time for ramp up period."
+ },
+ "rampUpLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for ramp up period."
+ },
+ "rampUpMinimumHostsPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Minimum host percentage for ramp up period."
+ },
+ "rampUpCapacityThresholdPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Capacity threshold for ramp up period."
+ },
+ "peakStartTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Starting time for peak period."
+ },
+ "peakLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for peak period."
+ },
+ "rampDownStartTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Starting time for ramp down period."
+ },
+ "rampDownLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for ramp down period."
+ },
+ "rampDownMinimumHostsPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Minimum host percentage for ramp down period."
+ },
+ "rampDownCapacityThresholdPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Capacity threshold for ramp down period."
+ },
+ "rampDownForceLogoffUsers": {
+ "type": "boolean",
+ "description": "Should users be logged off forcefully from hosts."
+ },
+ "rampDownStopHostsWhen": {
+ "enum": [
+ "ZeroSessions",
+ "ZeroActiveSessions"
+ ],
+ "x-ms-enum": {
+ "name": "StopHostsWhen",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Specifies when to stop hosts during ramp down period."
+ },
+ "rampDownWaitTimeMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of minutes to wait to stop hosts during ramp down period."
+ },
+ "rampDownNotificationMessage": {
+ "type": "string",
+ "description": "Notification message for users during ramp down period."
+ },
+ "offPeakStartTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Starting time for off-peak period."
+ },
+ "offPeakLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for off-peak period."
+ }
+ }
+ },
+ "ScalingHostPoolReference": {
+ "description": "Scaling plan reference to hostpool.",
+ "type": "object",
+ "properties": {
+ "hostPoolArmPath": {
+ "type": "string",
+ "description": "Arm path of referenced hostpool."
+ },
+ "scalingPlanEnabled": {
+ "type": "boolean",
+ "description": "Is the scaling plan enabled for this hostpool."
+ }
+ }
+ },
+ "ScalingPlanList": {
+ "type": "object",
+ "title": "ScalingPlanList",
+ "description": "List of scaling plan definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of scaling plan definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ScalingPlanPatch": {
+ "type": "object",
+ "description": "Scaling plan properties that can be patched.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "Detailed properties for scaling plan",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ScalingPlanPatchProperties"
+ }
+ }
+ },
+ "ScalingPlanPatchProperties": {
+ "type": "object",
+ "description": "Scaling plan properties.",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of scaling plan."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "User friendly name of scaling plan."
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "Timezone of the scaling plan."
+ },
+ "hostPoolType": {
+ "enum": [
+ "Personal",
+ "Pooled",
+ "BYODesktop"
+ ],
+ "x-ms-enum": {
+ "name": "HostPoolType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Personal",
+ "description": "Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost."
+ },
+ {
+ "value": "Pooled",
+ "description": "Users get a new (random) SessionHost every time it connects to the HostPool."
+ },
+ {
+ "value": "BYODesktop",
+ "description": "Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "HostPool type for desktop.",
+ "x-nullable": false
+ },
+ "exclusionTag": {
+ "type": "string",
+ "description": "Exclusion tag for scaling plan."
+ },
+ "schedules": {
+ "type": "array",
+ "description": "List of ScalingSchedule definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingSchedule"
+ }
+ },
+ "hostPoolReferences": {
+ "type": "array",
+ "description": "List of ScalingHostPoolReference definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingHostPoolReference"
+ }
+ }
+ }
+ },
+ "MigrationRequestProperties": {
+ "type": "object",
+ "description": "Properties for arm migration.",
+ "properties": {
+ "operation": {
+ "enum": [
+ "Start",
+ "Revoke",
+ "Complete",
+ "Hide",
+ "Unhide"
+ ],
+ "x-ms-enum": {
+ "name": "Operation",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Start",
+ "description": "Start the migration."
+ },
+ {
+ "value": "Revoke",
+ "description": "Revoke the migration."
+ },
+ {
+ "value": "Complete",
+ "description": "Complete the migration."
+ },
+ {
+ "value": "Hide",
+ "description": "Hide the hostpool."
+ },
+ {
+ "value": "Unhide",
+ "description": "Unhide the hostpool."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "The type of operation for migration."
+ },
+ "migrationPath": {
+ "type": "string",
+ "description": "The path to the legacy object to migrate."
+ }
+ }
+ },
+ "PrivateEndpointConnectionWithSystemData": {
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection"
+ }
+ ],
+ "description": "The Private Endpoint Connection resource."
+ },
+ "PrivateLinkResourceListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link resources",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ },
+ "description": "A list of private link resources"
+ },
+ "PrivateLinkResource": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "A private link resource"
+ },
+ "PrivateLinkResourceProperties": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The private link resource Private link DNS zone name."
+ }
+ },
+ "description": "Properties of a private link resource."
+ },
+ "PrivateEndpointConnectionListResultWithSystemData": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private endpoint connections",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ },
+ "description": "List of private endpoint connection associated with the specified storage account"
+ }
+ },
+ "parameters": {
+ "HostPoolNameParameter": {
+ "name": "hostPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the host pool within the specified resource group",
+ "maxLength": 64,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "MSIXPackageFullNameParameter": {
+ "name": "msixPackageFullName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The version specific package full name of the MSIX package within specified hostpool",
+ "maxLength": 100,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "ApplicationGroupNameParameter": {
+ "name": "applicationGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application group",
+ "maxLength": 64,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "ApplicationNameParameter": {
+ "name": "applicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application within the specified application group",
+ "maxLength": 24,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "DesktopNameParameter": {
+ "name": "desktopName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the desktop within the specified desktop group",
+ "maxLength": 24,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "WorkspaceNameParameter": {
+ "name": "workspaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the workspace",
+ "maxLength": 64,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "SessionHostNameParameter": {
+ "name": "sessionHostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the session host within the specified host pool",
+ "maxLength": 48,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "UserSessionIdParameter": {
+ "name": "userSessionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the user session within the specified session host",
+ "maxLength": 24,
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "StartMenuItemNameParameter": {
+ "name": "startMenuItemName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the start menu item within the specified host pool",
+ "maxLength": 24,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "MSIXImageURIParameter": {
+ "name": "msixImageURI",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "URI to the MSIX Image (VHD/CIM).",
+ "maxLength": 100,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "ScalingPlanNameParameter": {
+ "name": "scalingPlanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the scaling plan.",
+ "maxLength": 24,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_Create.json
new file mode 100644
index 000000000000..5deb5efc7f90
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_Create.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-05-13-preview",
+ "applicationGroup": {
+ "location": "centralus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "applicationGroupType": "RemoteApp",
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false,
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false,
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_Delete.json
new file mode 100644
index 000000000000..a42d0d7c00c4
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_Delete.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_Get.json
new file mode 100644
index 000000000000..a9509e683f66
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_Get.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_ListByResourceGroup.json
new file mode 100644
index 000000000000..2be44e7b576b
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_ListByResourceGroup.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2021-05-13-preview",
+ "$filter": "applicationGroupType eq 'RailApplication'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ },
+ {
+ "name": "applicationGroup2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_ListBySubscription.json
new file mode 100644
index 000000000000..f78438193685
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_ListBySubscription.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "api-version": "2021-05-13-preview",
+ "$filter": "applicationGroupType eq 'RailApplication'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ },
+ {
+ "name": "applicationGroup2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_Update.json
new file mode 100644
index 000000000000..00ea08f02caa
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ApplicationGroup_Update.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-05-13-preview",
+ "applicationGroup": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Application_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Application_Create.json
new file mode 100644
index 000000000000..e232f5518bd6
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Application_Create.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "applicationName": "application1",
+ "api-version": "2021-05-13-preview",
+ "application": {
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Application_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Application_Delete.json
new file mode 100644
index 000000000000..680f32776ce4
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Application_Delete.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "applicationName": "application1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Application_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Application_Get.json
new file mode 100644
index 000000000000..cd576f35c6ec
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Application_Get.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "applicationName": "application1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Application_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Application_List.json
new file mode 100644
index 000000000000..6bbe60c906c9
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Application_List.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ },
+ {
+ "name": "applicationGroup1/application2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des2",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Application_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Application_Update.json
new file mode 100644
index 000000000000..9c626d066b01
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Application_Update.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "applicationName": "application1",
+ "api-version": "2021-05-13-preview",
+ "application": {
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Desktop_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Desktop_Get.json
new file mode 100644
index 000000000000..93643fbb9aed
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Desktop_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "desktopName": "SessionDesktop",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/SessionDesktop",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Desktop_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Desktop_List.json
new file mode 100644
index 000000000000..bf6889eec266
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Desktop_List.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "applicationGroup1/SessionDesktop",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Desktop_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Desktop_Update.json
new file mode 100644
index 000000000000..2aaca3147334
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Desktop_Update.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "desktopName": "SessionDesktop",
+ "api-version": "2021-05-13-preview",
+ "desktop": {
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/SessionDesktop",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_Create.json
new file mode 100644
index 000000000000..ada51f5ff766
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_Create.json
@@ -0,0 +1,190 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview",
+ "hostPool": {
+ "location": "centralus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "registrationInfo": {
+ "expirationTime": "2020-10-01T14:01:54.9571247Z",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ },
+ "publicNetworkAccess": "Enabled",
+ "sessionHostComponentUpdateConfiguration": {
+ "maintenanceType": "TenantAdminControlled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "primaryWindow": {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ "secondaryWindow": {
+ "hour": 8,
+ "daysOfWeek": [
+ "Sunday",
+ "Monday"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2020-10-01T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ },
+ "publicNetworkAccess": "Enabled",
+ "sessionHostComponentUpdateConfiguration": {
+ "maintenanceType": "TenantAdminControlled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "primaryWindow": {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ "secondaryWindow": {
+ "hour": 8,
+ "daysOfWeek": [
+ "Sunday",
+ "Monday"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2020-10-01T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ },
+ "publicNetworkAccess": "Enabled",
+ "sessionHostComponentUpdateConfiguration": {
+ "maintenanceType": "TenantAdminControlled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "primaryWindow": {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ "secondaryWindow": {
+ "hour": 8,
+ "daysOfWeek": [
+ "Sunday",
+ "Monday"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_Delete.json
new file mode 100644
index 000000000000..5617ea66932d
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_Delete.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview",
+ "force": true
+ },
+ "responses": {
+ "200": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "sessionHostComponentUpdateConfiguration": {
+ "maintenanceType": "TenantAdminControlled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "primaryWindow": {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ "secondaryWindow": {
+ "hour": 8,
+ "daysOfWeek": [
+ "Sunday",
+ "Monday"
+ ]
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_Get.json
new file mode 100644
index 000000000000..724ce9eafa08
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_Get.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "publicNetworkAccess": "Enabled",
+ "sessionHostComponentUpdateConfiguration": {
+ "maintenanceType": "TenantAdminControlled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "primaryWindow": {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ "secondaryWindow": {
+ "hour": 8,
+ "daysOfWeek": [
+ "Sunday",
+ "Monday"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "default": {
+ "body": {
+ "error": {
+ "code": "hostPoolDoesNotExist",
+ "message": "Host Pool Does Not Exist"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_List.json
new file mode 100644
index 000000000000..09c0967ed297
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_List.json
@@ -0,0 +1,134 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "publicNetworkAccess": "Enabled",
+ "sessionHostComponentUpdateConfiguration": {
+ "maintenanceType": "TenantAdminControlled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "primaryWindow": {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ "secondaryWindow": {
+ "hour": 8,
+ "daysOfWeek": [
+ "Sunday",
+ "Monday"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "hostPool2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "publicNetworkAccess": "Enabled",
+ "sessionHostComponentUpdateConfiguration": {
+ "maintenanceType": "TenantAdminControlled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "primaryWindow": {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ "secondaryWindow": {
+ "hour": 8,
+ "daysOfWeek": [
+ "Sunday",
+ "Monday"
+ ]
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_ListByResourceGroup.json
new file mode 100644
index 000000000000..46e046b747e2
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_ListByResourceGroup.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "publicNetworkAccess": "Enabled",
+ "sessionHostComponentUpdateConfiguration": {
+ "maintenanceType": "TenantAdminControlled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "primaryWindow": {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ "secondaryWindow": {
+ "hour": 8,
+ "daysOfWeek": [
+ "Sunday",
+ "Monday"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "name": "hostPool2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "publicNetworkAccess": "Enabled",
+ "sessionHostComponentUpdateConfiguration": {
+ "maintenanceType": "TenantAdminControlled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "primaryWindow": {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ "secondaryWindow": {
+ "hour": 8,
+ "daysOfWeek": [
+ "Sunday",
+ "Monday"
+ ]
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_Update.json
new file mode 100644
index 000000000000..10e0a72d823b
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPool_Update.json
@@ -0,0 +1,113 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview",
+ "hostPool": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "friendlyName": "friendly",
+ "description": "des1",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "personalDesktopAssignmentType": "Automatic",
+ "registrationInfo": {
+ "expirationTime": "2020-10-01T15:01:54.9571247Z",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "startVMOnConnect": false,
+ "publicNetworkAccess": "Enabled",
+ "sessionHostComponentUpdateConfiguration": {
+ "maintenanceType": "TenantAdminControlled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "primaryWindow": {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ "secondaryWindow": {
+ "hour": 8,
+ "daysOfWeek": [
+ "Sunday",
+ "Monday"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "publicNetworkAccess": "Enabled",
+ "sessionHostComponentUpdateConfiguration": {
+ "maintenanceType": "TenantAdminControlled",
+ "useSessionHostLocalTime": false,
+ "maintenanceWindowTimeZone": "Alaskan Standard Time",
+ "primaryWindow": {
+ "hour": 7,
+ "dayOfWeek": "Friday"
+ },
+ "secondaryWindow": {
+ "hour": 8,
+ "daysOfWeek": [
+ "Sunday",
+ "Monday"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPools_ControlUpdate_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPools_ControlUpdate_Post.json
new file mode 100644
index 000000000000..d11c82cf773f
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPools_ControlUpdate_Post.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview",
+ "hostPoolControlParameter": {
+ "action": "Start",
+ "message": "Host pool update started"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPools_RetrieveRegistrationToken_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPools_RetrieveRegistrationToken_Post.json
new file mode 100644
index 000000000000..581515ab836d
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPools_RetrieveRegistrationToken_Post.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPools_Update_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPools_Update_Post.json
new file mode 100644
index 000000000000..1e520c7f02a5
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/HostPools_Update_Post.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview",
+ "hostPoolUpdate": {
+ "validateOnly": false,
+ "parameters": {
+ "saveOriginalDisk": true,
+ "maxVMsRemovedDuringUpdate": 4,
+ "maintenanceAlerts": [
+ {
+ "message": "hostpool under maintenance",
+ "duration": 10,
+ "beforeKickOff": false
+ }
+ ],
+ "logOffDelaySeconds": 10,
+ "logOffMessage": "logging off for hostpool update",
+ "scheduledTime": {
+ "dateTime": "2008-09-22T14:01:54.9571247Z",
+ "timeZone": "Alaskan Standard Time"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixImage_Expand_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixImage_Expand_Post.json
new file mode 100644
index 000000000000..edc743264354
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixImage_Expand_Post.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-05-13-preview",
+ "msixImageURI": {
+ "uri": "imagepath"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostpool1/expandmsiximage",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/expandmsiximage",
+ "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage",
+ "properties": {
+ "packageAlias": "msixpackagealias",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageFullName": "MsixPackage_FullName",
+ "displayName": "displayname",
+ "packageRelativePath": "packagerelativepath",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId",
+ "description": "PackageApplicationDescription",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "FriendlyName",
+ "iconImageName": "Iconimagename",
+ "rawIcon": "RawIcon",
+ "rawPng": "RawPng"
+ }
+ ]
+ }
+ },
+ {
+ "name": "hostpool1/expandmsiximage",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/expandmsiximage",
+ "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage",
+ "properties": {
+ "packageAlias": "msixpackagealias2",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName2",
+ "packageFamilyName": "MsixPackage_FamilyName2",
+ "packageFullName": "MsixPackage_FullName2",
+ "displayName": "displayname2",
+ "packageRelativePath": "packagerelativepath2",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackageDependency1",
+ "publisher": "PublisherName1",
+ "minVersion": "ver1"
+ },
+ {
+ "dependencyName": "MsixPackageDependency2",
+ "publisher": "PublisherName2",
+ "minVersion": "ver2"
+ }
+ ],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId1",
+ "description": "PackageApplicationDescription1",
+ "appUserModelID": "AppUserModelId1",
+ "friendlyName": "FriendlyName1",
+ "iconImageName": "Iconimagename1",
+ "rawIcon": "RawIcon1",
+ "rawPng": "RawPng1"
+ },
+ {
+ "appId": "AppId2",
+ "description": "PackageApplicationDescription2",
+ "appUserModelID": "AppUserModelId2",
+ "friendlyName": "FriendlyName2",
+ "iconImageName": "Iconimagename2",
+ "rawIcon": "RawIcon2",
+ "rawPng": "RawPng2"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixPackage_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixPackage_Create.json
new file mode 100644
index 000000000000..ae32d4b69acf
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixPackage_Create.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-05-13-preview",
+ "msixPackageFullName": "msixpackagefullname",
+ "msixPackage": {
+ "properties": {
+ "displayName": "displayname",
+ "imagePath": "imagepath",
+ "isActive": false,
+ "isRegularRegistration": false,
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "description": "application-desc",
+ "appId": "ApplicationId",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "friendlyname",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ],
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixTest_Dependency_Name",
+ "minVersion": "version",
+ "publisher": "PublishedName"
+ }
+ ],
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageName": "MsixPackage_name",
+ "packageRelativePath": "packagerelativepath",
+ "version": "version"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": true,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixPackage_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixPackage_Delete.json
new file mode 100644
index 000000000000..f589496bff31
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixPackage_Delete.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-05-13-preview",
+ "msixPackageFullName": "packagefullname"
+ },
+ "responses": {
+ "200": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixPackage_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixPackage_Get.json
new file mode 100644
index 000000000000..ed00e1a960ab
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixPackage_Get.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-05-13-preview",
+ "msixPackageFullName": "packagefullname"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixPackage_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixPackage_List.json
new file mode 100644
index 000000000000..a1d2f0bc0834
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixPackage_List.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ },
+ {
+ "name": "hostpool1/MsixPackageFullName2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName2",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "imagePath": "imagepath2",
+ "packageName": "MsixPackage_Name2",
+ "packageFamilyName": "MsixPackage_FamilyName2",
+ "displayName": "dis2",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot2",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name2",
+ "publisher": "MsixPackage_Dependency_Publisher2",
+ "minVersion": "packageDep_version2"
+ }
+ ],
+ "version": "version2",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id2",
+ "description": "desc2",
+ "appUserModelID": "Application_ModelID2",
+ "friendlyName": "fri2",
+ "iconImageName": "Apptile2",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo2",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo2"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixPackage_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixPackage_Update.json
new file mode 100644
index 000000000000..cf95abb5be48
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/MsixPackage_Update.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-05-13-preview",
+ "msixPackageFullName": "msixpackagefullname",
+ "msixPackage": {
+ "properties": {
+ "displayName": "displayname",
+ "isActive": true,
+ "isRegularRegistration": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": true,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/OperationDescription_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/OperationDescription_List.json
new file mode 100644
index 000000000000..048cfe8329bf
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/OperationDescription_List.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DesktopVirtualization/hostpools/read",
+ "display": {
+ "provider": "Microsoft.DesktopVirtualization",
+ "resource": "hostpools",
+ "operation": "Read hostpool",
+ "description": "Read hostpool"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.DesktopVirtualization/hostpools/write",
+ "display": {
+ "provider": "Microsoft.DesktopVirtualization",
+ "resource": "hostpools",
+ "operation": "Write hostpool",
+ "description": "Write hostpool"
+ },
+ "properties": {
+ "serviceSpecification": {
+ "logSpecifications": [
+ {
+ "name": "",
+ "displayName": ""
+ },
+ {
+ "name": "",
+ "displayName": ""
+ },
+ {
+ "name": "",
+ "displayName": ""
+ }
+ ]
+ }
+ },
+ "isDataAction": false
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_DeleteByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_DeleteByHostPool.json
new file mode 100644
index 000000000000..38258d1ccf5b
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_DeleteByHostPool.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "privateEndpointConnectionName": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_DeleteByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_DeleteByWorkspace.json
new file mode 100644
index 000000000000..8255e8fd55b9
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_DeleteByWorkspace.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "privateEndpointConnectionName": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_GetByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_GetByHostPool.json
new file mode 100644
index 000000000000..a7734e739290
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_GetByHostPool.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "privateEndpointConnectionName": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateEndpointConnections/hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "type": "Microsoft.DesktopVirtualization/hostpools/privateEndpointConnections",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_GetByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_GetByWorkspace.json
new file mode 100644
index 000000000000..b5a96cde5612
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_GetByWorkspace.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "privateEndpointConnectionName": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateEndpointConnections/workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "type": "Microsoft.DesktopVirtualization/workspaces/privateEndpointConnections",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_ListByHostPool.json
new file mode 100644
index 000000000000..2264872aef7b
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_ListByHostPool.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateEndpointConnections/hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "type": "Microsoft.DesktopVirtualization/hostpools/privateEndpointConnections",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_ListByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_ListByWorkspace.json
new file mode 100644
index 000000000000..1124182d808e
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_ListByWorkspace.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateEndpointConnections/workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "type": "Microsoft.DesktopVirtualization/workspaces/privateEndpointConnections",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_UpdateByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_UpdateByHostPool.json
new file mode 100644
index 000000000000..350be07eab1c
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_UpdateByHostPool.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "privateEndpointConnectionName": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "api-version": "2021-05-13-preview",
+ "connection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by admin@consoto.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateEndpointConnections/hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "type": "Microsoft.DesktopVirtualization/hostpools/privateEndpointConnections",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by admin@consoto.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_UpdateByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_UpdateByWorkspace.json
new file mode 100644
index 000000000000..4b4f728390a6
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateEndpointConnection_UpdateByWorkspace.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "privateEndpointConnectionName": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "api-version": "2021-05-13-preview",
+ "connection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by admin@consoto.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateEndpointConnections/workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b",
+ "type": "Microsoft.DesktopVirtualization/workspaces/privateEndpointConnections",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by admin@consoto.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateLinkResources_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateLinkResources_ListByHostPool.json
new file mode 100644
index 000000000000..8d3d5af0ed08
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateLinkResources_ListByHostPool.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostpool",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateLinkResources/hostpool",
+ "type": "Microsoft.DesktopVirtualization/hostpools/privateLinkResources",
+ "properties": {
+ "groupId": "hostpool",
+ "requiredMembers": [
+ "rdbroker",
+ "rddiagnostics",
+ "rdweb",
+ "rdgateway"
+ ],
+ "requiredZoneNames": [
+ "privatelink.wvd.microsoft.com"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateLinkResources_ListByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateLinkResources_ListByWorkspace.json
new file mode 100644
index 000000000000..03a0ce347340
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/PrivateLinkResources_ListByWorkspace.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "workspace",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateLinkResources/workspace",
+ "type": "Microsoft.DesktopVirtualization/workspaces/privateLinkResources",
+ "properties": {
+ "groupId": "workspace",
+ "requiredMembers": [
+ "rdbroker",
+ "rddiagnostics",
+ "rdweb",
+ "rdgateway"
+ ],
+ "requiredZoneNames": [
+ "privatelink.wvd.microsoft.com"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_Create.json
new file mode 100644
index 000000000000..01bf01178e2d
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_Create.json
@@ -0,0 +1,179 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "api-version": "2021-05-13-preview",
+ "scalingPlan": {
+ "location": "centralus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000Z",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000Z",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000Z",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000Z",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_Delete.json
new file mode 100644
index 000000000000..65ef70a81d4c
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_Delete.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_Get.json
new file mode 100644
index 000000000000..dd89970192b5
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_Get.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_ListByHostPool.json
new file mode 100644
index 000000000000..6999d7731b77
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_ListByHostPool.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_ListByResourceGroup.json
new file mode 100644
index 000000000000..8cf67a65d5b5
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_ListByResourceGroup.json
@@ -0,0 +1,132 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ },
+ {
+ "name": "scalingPlan2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan2",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": false,
+ "rampDownStopHostsWhen": "ZeroSessions",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_ListBySubscription.json
new file mode 100644
index 000000000000..eb34b9ce0b6b
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_ListBySubscription.json
@@ -0,0 +1,131 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ },
+ {
+ "name": "scalingPlan2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan2",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": false,
+ "rampDownStopHostsWhen": "ZeroActiveSessions",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_Update.json
new file mode 100644
index 000000000000..ee4560b41040
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/ScalingPlan_Update.json
@@ -0,0 +1,117 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "api-version": "2021-05-13-preview",
+ "workspace": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000Z",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000Z",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000Z",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000Z",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHostConfigurations_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHostConfigurations_Create.json
new file mode 100644
index 000000000000..d8a71f4a7a53
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHostConfigurations_Create.json
@@ -0,0 +1,143 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview",
+ "sessionHostConfiguration": {
+ "properties": {
+ "vMSizeId": "Standard_D2s_v3",
+ "diskType": "Standard_LRS",
+ "vmCustomConfigurationUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/file",
+ "imageInfo": {
+ "type": "Gallery",
+ "marketPlaceInfo": {
+ "offer": "Windows-10",
+ "publisher": "MicrosoftWindowsDesktop",
+ "sku": "19h2-ent",
+ "exactVersion": "2019.0.20190115"
+ },
+ "storageBlobUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/image.vhd",
+ "customId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName"
+ },
+ "domainInfo": {
+ "name": "wvdarmtest1.net",
+ "joinType": "ActiveDirectory",
+ "mdmProviderGuid": "",
+ "credentials": {
+ "localAdmin": {
+ "userName": "localAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "localAdminPasswordName"
+ },
+ "domainAdmin": {
+ "userName": "domainAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "domainAdminPasswordName"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/updateStatuses/current",
+ "type": "Microsoft.DesktopVirtualization/hostPools/updateStatuses",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "version": "2008-09-22T14:01:54.9571247Z",
+ "vMSizeId": "Standard_D2s_v3",
+ "diskType": "Standard_LRS",
+ "vmCustomConfigurationUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/file",
+ "imageInfo": {
+ "type": "Gallery",
+ "marketPlaceInfo": {
+ "offer": "Windows-10",
+ "publisher": "MicrosoftWindowsDesktop",
+ "sku": "19h2-ent",
+ "exactVersion": "2019.0.20190115"
+ },
+ "storageBlobUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/image.vhd",
+ "customId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName"
+ },
+ "domainInfo": {
+ "name": "wvdarmtest1.net",
+ "joinType": "ActiveDirectory",
+ "mdmProviderGuid": "",
+ "credentials": {
+ "localAdmin": {
+ "userName": "localAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "localAdminPasswordName"
+ },
+ "domainAdmin": {
+ "userName": "domainAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "domainAdminPasswordName"
+ }
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/updateStatuses/current",
+ "type": "Microsoft.DesktopVirtualization/hostPools/updateStatuses",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "version": "2008-09-22T14:01:54.9571247Z",
+ "vMSizeId": "Standard_D2s_v3",
+ "diskType": "Standard_LRS",
+ "vmCustomConfigurationUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/file",
+ "imageInfo": {
+ "type": "Gallery",
+ "marketPlaceInfo": {
+ "offer": "Windows-10",
+ "publisher": "MicrosoftWindowsDesktop",
+ "sku": "19h2-ent",
+ "exactVersion": "2019.0.20190115"
+ },
+ "storageBlobUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/image.vhd",
+ "customId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName"
+ },
+ "domainInfo": {
+ "name": "wvdarmtest1.net",
+ "joinType": "ActiveDirectory",
+ "mdmProviderGuid": "",
+ "credentials": {
+ "localAdmin": {
+ "userName": "localAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "localAdminPasswordName"
+ },
+ "domainAdmin": {
+ "userName": "domainAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "domainAdminPasswordName"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHostConfigurations_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHostConfigurations_Delete.json
new file mode 100644
index 000000000000..5928e26bc283
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHostConfigurations_Delete.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/updateStatuses/current",
+ "type": "Microsoft.DesktopVirtualization/hostPools/updateStatuses",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "version": "2008-09-22T14:01:54.9571247Z",
+ "vMSizeId": "Standard_D2s_v3",
+ "diskType": "Standard_LRS",
+ "vmCustomConfigurationUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/file",
+ "imageInfo": {
+ "type": "Gallery",
+ "marketPlaceInfo": {
+ "offer": "Windows-10",
+ "publisher": "MicrosoftWindowsDesktop",
+ "sku": "19h2-ent",
+ "exactVersion": "2019.0.20190115"
+ },
+ "storageBlobUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/image.vhd",
+ "customId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName"
+ },
+ "domainInfo": {
+ "name": "wvdarmtest1.net",
+ "joinType": "ActiveDirectory",
+ "mdmProviderGuid": "",
+ "credentials": {
+ "localAdmin": {
+ "userName": "localAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "localAdminPasswordName"
+ },
+ "domainAdmin": {
+ "userName": "domainAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "domainAdminPasswordName"
+ }
+ }
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHostConfigurations_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHostConfigurations_Get.json
new file mode 100644
index 000000000000..a9a0910deb75
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHostConfigurations_Get.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/updateStatuses/current",
+ "type": "Microsoft.DesktopVirtualization/hostPools/updateStatuses",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "version": "2008-09-22T14:01:54.9571247Z",
+ "vMSizeId": "Standard_D2s_v3",
+ "diskType": "Standard_LRS",
+ "vmCustomConfigurationUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/file",
+ "imageInfo": {
+ "type": "Gallery",
+ "marketPlaceInfo": {
+ "offer": "Windows-10",
+ "publisher": "MicrosoftWindowsDesktop",
+ "sku": "19h2-ent",
+ "exactVersion": "2019.0.20190115"
+ },
+ "storageBlobUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/image.vhd",
+ "customId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName"
+ },
+ "domainInfo": {
+ "name": "wvdarmtest1.net",
+ "joinType": "ActiveDirectory",
+ "mdmProviderGuid": "",
+ "credentials": {
+ "localAdmin": {
+ "userName": "localAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "localAdminPasswordName"
+ },
+ "domainAdmin": {
+ "userName": "domainAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "domainAdminPasswordName"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHostConfigurations_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHostConfigurations_ListByHostPool.json
new file mode 100644
index 000000000000..bda716ac11be
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHostConfigurations_ListByHostPool.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "default",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/updateStatuses/current",
+ "type": "Microsoft.DesktopVirtualization/hostPools/updateStatuses",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "version": "2008-09-22T14:01:54.9571247Z",
+ "vMSizeId": "Standard_D2s_v3",
+ "diskType": "Standard_LRS",
+ "vmCustomConfigurationUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/file",
+ "imageInfo": {
+ "type": "Gallery",
+ "marketPlaceInfo": {
+ "offer": "Windows-10",
+ "publisher": "MicrosoftWindowsDesktop",
+ "sku": "19h2-ent",
+ "exactVersion": "2019.0.20190115"
+ },
+ "storageBlobUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/image.vhd",
+ "customId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName"
+ },
+ "domainInfo": {
+ "name": "wvdarmtest1.net",
+ "joinType": "ActiveDirectory",
+ "mdmProviderGuid": "",
+ "credentials": {
+ "localAdmin": {
+ "userName": "localAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "localAdminPasswordName"
+ },
+ "domainAdmin": {
+ "userName": "domainAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "domainAdminPasswordName"
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHostConfigurations_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHostConfigurations_Update.json
new file mode 100644
index 000000000000..7a9ca501f921
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHostConfigurations_Update.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview",
+ "sessionHostConfiguration": {
+ "properties": {
+ "vMSizeId": "Standard_D2s_v3",
+ "diskType": "Standard_LRS",
+ "vmCustomConfigurationUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/file",
+ "imageInfo": {
+ "type": "Gallery",
+ "marketPlaceInfo": {
+ "offer": "Windows-10",
+ "publisher": "MicrosoftWindowsDesktop",
+ "sku": "19h2-ent",
+ "exactVersion": "2019.0.20190115"
+ },
+ "storageBlobUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/image.vhd",
+ "customId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName"
+ },
+ "domainInfo": {
+ "name": "wvdarmtest1.net",
+ "joinType": "ActiveDirectory",
+ "mdmProviderGuid": "",
+ "credentials": {
+ "localAdmin": {
+ "userName": "localAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "localAdminPasswordName"
+ },
+ "domainAdmin": {
+ "userName": "domainAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "domainAdminPasswordName"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/updateStatuses/current",
+ "type": "Microsoft.DesktopVirtualization/hostPools/updateStatuses",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "version": "2008-09-22T14:01:54.9571247Z",
+ "vMSizeId": "Standard_D2s_v3",
+ "diskType": "Standard_LRS",
+ "vmCustomConfigurationUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/file",
+ "imageInfo": {
+ "type": "Gallery",
+ "marketPlaceInfo": {
+ "offer": "Windows-10",
+ "publisher": "MicrosoftWindowsDesktop",
+ "sku": "19h2-ent",
+ "exactVersion": "2019.0.20190115"
+ },
+ "storageBlobUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/image.vhd",
+ "customId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName"
+ },
+ "domainInfo": {
+ "name": "wvdarmtest1.net",
+ "joinType": "ActiveDirectory",
+ "mdmProviderGuid": "",
+ "credentials": {
+ "localAdmin": {
+ "userName": "localAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "localAdminPasswordName"
+ },
+ "domainAdmin": {
+ "userName": "domainAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "domainAdminPasswordName"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHost_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHost_Delete.json
new file mode 100644
index 000000000000..8752e7463645
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHost_Delete.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "api-version": "2021-05-13-preview",
+ "force": true
+ },
+ "responses": {
+ "200": {
+ "name": "sessionHost1.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2008-09-22T14:01:54.9571247Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2008-09-22T14:01:54.9571247Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ],
+ "lastSessionHostUpdateTime": "2021-01-14T02:09:37.6236843Z",
+ "sessionHostConfigurationLastUpdateTime": "2021-01-14T02:09:37.6236843Z",
+ "imageResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName",
+ "imageType": "CustomImage",
+ "updateStatus": "InProgress"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHost_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHost_Get.json
new file mode 100644
index 000000000000..39260a528c62
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHost_Get.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sessionHost1.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2008-09-22T14:01:54.9571247Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2008-09-22T14:01:54.9571247Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ],
+ "lastSessionHostUpdateTime": "2021-01-14T02:09:37.6236843Z",
+ "sessionHostConfigurationLastUpdateTime": "2021-01-14T02:09:37.6236843Z",
+ "imageResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName",
+ "imageType": "CustomImage",
+ "updateStatus": "InProgress"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHost_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHost_List.json
new file mode 100644
index 000000000000..166792aa36ff
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHost_List.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "sessionHost1.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2008-09-22T14:01:54.9571247Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2008-09-22T14:01:54.9571247Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ],
+ "lastSessionHostUpdateTime": "2021-01-14T02:09:37.6236843Z",
+ "sessionHostConfigurationLastUpdateTime": "2021-01-14T02:09:37.6236843Z",
+ "imageResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName",
+ "imageType": "CustomImage",
+ "updateStatus": "InProgress"
+ }
+ },
+ {
+ "name": "sessionHost2.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2008-09-22T14:01:54.9571247Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user2@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2008-09-22T14:01:54.9571247Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "39491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost2",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ],
+ "lastSessionHostUpdateTime": "2021-01-14T02:09:37.6236843Z",
+ "sessionHostConfigurationLastUpdateTime": "2021-01-14T02:09:37.6236843Z",
+ "imageResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName",
+ "imageType": "CustomImage",
+ "updateStatus": "InProgress"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHost_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHost_Update.json
new file mode 100644
index 000000000000..a3aed2b370a5
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/SessionHost_Update.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "api-version": "2021-05-13-preview",
+ "sessionHost": {
+ "properties": {
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sessionHost1.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2019-01-11T19:27:13.6108027Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2019-01-24T20:00:08.2893033Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ],
+ "lastSessionHostUpdateTime": "2021-01-14T02:09:37.6236843Z",
+ "sessionHostConfigurationLastUpdateTime": "2021-01-14T02:09:37.6236843Z",
+ "imageResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName",
+ "imageType": "CustomImage",
+ "updateStatus": "InProgress"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/StartMenuItem_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/StartMenuItem_List.json
new file mode 100644
index 000000000000..f53837468d53
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/StartMenuItem_List.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems",
+ "properties": {
+ "appAlias": "word",
+ "filePath": "/path/to/file",
+ "commandLineArguments": "arguments",
+ "iconPath": "/path/to/icon",
+ "iconIndex": 1
+ }
+ },
+ {
+ "name": "application2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems",
+ "properties": {
+ "appAlias": "excel",
+ "filePath": "/path/to/file",
+ "commandLineArguments": "arguments",
+ "iconPath": "/path/to/icon",
+ "iconIndex": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UpdateDetails_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UpdateDetails_Get.json
new file mode 100644
index 000000000000..fbce8e73abf6
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UpdateDetails_Get.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/updateStatuses/current",
+ "type": "Microsoft.DesktopVirtualization/hostPools/updateStatuses",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "updateStatus": "Scheduled",
+ "version": "1",
+ "hostPoolResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "correlationId": "bbefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "updateProgress": {
+ "timeCreated": "2020-10-01T14:01:54.9571247Z",
+ "timeStarted": "2020-10-01T14:01:54.9571247Z",
+ "timeFailed": "2020-10-01T14:01:54.9571247Z",
+ "timeEnded": "2020-10-01T14:01:54.9571247Z",
+ "errors": [
+ {
+ "faultType": "ServiceError",
+ "faultCode": "code1",
+ "faultText": "text1",
+ "faultContext": "context1"
+ }
+ ],
+ "progressPercentage": 0.1,
+ "sessionHostsToUpdate": 1,
+ "sessionHostsUpdating": 1,
+ "sessionHostsUpdated": 1,
+ "sessionHostsRollbackFailed": 1
+ },
+ "hostPoolUpdateConfiguration": {
+ "saveOriginalDisk": true,
+ "maxVMsRemovedDuringUpdate": 4,
+ "maintenanceAlerts": [
+ {
+ "message": "hostpool under maintenance",
+ "duration": 10,
+ "beforeKickOff": false
+ }
+ ],
+ "logOffDelaySeconds": 10,
+ "logOffMessage": "logging off for hostpool update",
+ "scheduledTime": {
+ "dateTime": "2008-09-22T14:01:54.9571247Z",
+ "timeZone": "Alaskan Standard Time"
+ }
+ },
+ "sessionHostConfiguration": {
+ "vMSizeId": "Standard_D2s_v3",
+ "diskType": "Standard_LRS",
+ "vmCustomConfigurationUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/file",
+ "imageInfo": {
+ "type": "Gallery",
+ "marketPlaceInfo": {
+ "offer": "Windows-10",
+ "publisher": "MicrosoftWindowsDesktop",
+ "sku": "19h2-ent",
+ "exactVersion": "2019.0.20190115"
+ },
+ "storageBlobUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/image.vhd",
+ "customId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName"
+ },
+ "domainInfo": {
+ "name": "wvdarmtest1.net",
+ "joinType": "ActiveDirectory",
+ "mdmProviderGuid": "",
+ "credentials": {
+ "localAdmin": {
+ "userName": "localAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "localAdminPasswordName"
+ },
+ "domainAdmin": {
+ "userName": "domainAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "domainAdminPasswordName"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UpdateDetails_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UpdateDetails_List.json
new file mode 100644
index 000000000000..fdde4d5eaf37
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UpdateDetails_List.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "default",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/updateStatuses/current",
+ "type": "Microsoft.DesktopVirtualization/hostPools/updateStatuses",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "updateStatus": "Scheduled",
+ "version": "1",
+ "hostPoolResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "correlationId": "bbefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "updateProgress": {
+ "timeCreated": "2020-10-01T14:01:54.9571247Z",
+ "timeStarted": "2020-10-01T14:01:54.9571247Z",
+ "timeFailed": "2020-10-01T14:01:54.9571247Z",
+ "timeEnded": "2020-10-01T14:01:54.9571247Z",
+ "errors": [
+ {
+ "faultType": "ServiceError",
+ "faultCode": "code1",
+ "faultText": "text1",
+ "faultContext": "context1"
+ }
+ ],
+ "progressPercentage": 0.1,
+ "sessionHostsToUpdate": 1,
+ "sessionHostsUpdating": 1,
+ "sessionHostsUpdated": 1,
+ "sessionHostsRollbackFailed": 1
+ },
+ "hostPoolUpdateConfiguration": {
+ "saveOriginalDisk": true,
+ "maxVMsRemovedDuringUpdate": 4,
+ "maintenanceAlerts": [
+ {
+ "message": "hostpool under maintenance",
+ "duration": 10,
+ "beforeKickOff": false
+ }
+ ],
+ "logOffDelaySeconds": 10,
+ "logOffMessage": "logging off for hostpool update",
+ "scheduledTime": {
+ "dateTime": "2008-09-22T14:01:54.9571247Z",
+ "timeZone": "Alaskan Standard Time"
+ }
+ },
+ "sessionHostConfiguration": {
+ "vMSizeId": "Standard_D2s_v3",
+ "diskType": "Standard_LRS",
+ "vmCustomConfigurationUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/file",
+ "imageInfo": {
+ "type": "Gallery",
+ "marketPlaceInfo": {
+ "offer": "Windows-10",
+ "publisher": "MicrosoftWindowsDesktop",
+ "sku": "19h2-ent",
+ "exactVersion": "2019.0.20190115"
+ },
+ "storageBlobUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/image.vhd",
+ "customId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName"
+ },
+ "domainInfo": {
+ "name": "wvdarmtest1.net",
+ "joinType": "ActiveDirectory",
+ "mdmProviderGuid": "",
+ "credentials": {
+ "localAdmin": {
+ "userName": "localAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "localAdminPasswordName"
+ },
+ "domainAdmin": {
+ "userName": "domainAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "domainAdminPasswordName"
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UpdateOperationResults_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UpdateOperationResults_Get.json
new file mode 100644
index 000000000000..25c06a30b37a
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UpdateOperationResults_Get.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "updateStatus": "Scheduled",
+ "version": "1",
+ "hostPoolResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "correlationId": "bbefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "updateProgress": {
+ "timeCreated": "2020-10-01T14:01:54.9571247Z",
+ "timeStarted": "2020-10-01T14:01:54.9571247Z",
+ "timeFailed": "2020-10-01T14:01:54.9571247Z",
+ "timeEnded": "2020-10-01T14:01:54.9571247Z",
+ "errors": [
+ {
+ "faultType": "ServiceError",
+ "faultCode": "code1",
+ "faultText": "text1",
+ "faultContext": "context1"
+ }
+ ],
+ "progressPercentage": 0.1,
+ "sessionHostsToUpdate": 1,
+ "sessionHostsUpdating": 1,
+ "sessionHostsUpdated": 1,
+ "sessionHostsRollbackFailed": 1
+ },
+ "hostPoolUpdateConfiguration": {
+ "saveOriginalDisk": true,
+ "maxVMsRemovedDuringUpdate": 4,
+ "maintenanceAlerts": [
+ {
+ "message": "hostpool under maintenance",
+ "duration": 10,
+ "beforeKickOff": false
+ }
+ ],
+ "logOffDelaySeconds": 10,
+ "logOffMessage": "logging off for hostpool update",
+ "scheduledTime": {
+ "dateTime": "2008-09-22T14:01:54.9571247Z",
+ "timeZone": "Alaskan Standard Time"
+ }
+ },
+ "sessionHostConfiguration": {
+ "vMSizeId": "Standard_D2s_v3",
+ "diskType": "Standard_LRS",
+ "vmCustomConfigurationUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/file",
+ "imageInfo": {
+ "type": "Gallery",
+ "marketPlaceInfo": {
+ "offer": "Windows-10",
+ "publisher": "MicrosoftWindowsDesktop",
+ "sku": "19h2-ent",
+ "exactVersion": "2019.0.20190115"
+ },
+ "storageBlobUri": "https://storageaccountname.blob.core.windows.net/blobcontainer/image.vhd",
+ "customId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName"
+ },
+ "domainInfo": {
+ "name": "wvdarmtest1.net",
+ "joinType": "ActiveDirectory",
+ "mdmProviderGuid": "",
+ "credentials": {
+ "localAdmin": {
+ "userName": "localAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "localAdminPasswordName"
+ },
+ "domainAdmin": {
+ "userName": "domainAdminUserName",
+ "passwordKeyVaultResourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.KeyVault/vaults/test-kv/secrets",
+ "passwordSecretName": "domainAdminPasswordName"
+ }
+ }
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UpdateValidationOperationResults_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UpdateValidationOperationResults_Get.json
new file mode 100644
index 000000000000..fe98ff178124
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UpdateValidationOperationResults_Get.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "warnings": [
+ {
+ "faultType": "ServiceError",
+ "faultCode": "code1",
+ "faultText": "text1",
+ "faultContext": "context1"
+ }
+ ],
+ "errors": [
+ {
+ "faultType": "ServiceError",
+ "faultCode": "code1",
+ "faultText": "text1",
+ "faultContext": "context1"
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_Delete.json
new file mode 100644
index 000000000000..e81fc1f11824
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_Delete.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "userSessionId": "1",
+ "api-version": "2021-05-13-preview",
+ "force": true
+ },
+ "responses": {
+ "200": {
+ "name": "1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_Disconnect_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_Disconnect_Post.json
new file mode 100644
index 000000000000..dfedc07d0993
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_Disconnect_Post.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "userSessionId": "1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_Get.json
new file mode 100644
index 000000000000..21d29ab270b7
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_Get.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "userSessionId": "1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_List.json
new file mode 100644
index 000000000000..88dea55e3e18
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_List.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ },
+ {
+ "name": "2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_ListByHostPool.json
new file mode 100644
index 000000000000..0e0df3b105ef
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_ListByHostPool.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-05-13-preview",
+ "$filter": "userPrincipalName eq 'user1@microsoft.com' and state eq 'active'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ },
+ {
+ "name": "2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_SendMessage_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_SendMessage_Post.json
new file mode 100644
index 000000000000..466add3a5c5f
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/UserSession_SendMessage_Post.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "userSessionId": "1",
+ "api-version": "2021-05-13-preview",
+ "sendMessage": {
+ "messageTitle": "title",
+ "messageBody": "body"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_Create.json
new file mode 100644
index 000000000000..fe25b0089854
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_Create.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2021-05-13-preview",
+ "workspace": {
+ "location": "centralus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false,
+ "publicNetworkAccess": "Enabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false,
+ "publicNetworkAccess": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_Delete.json
new file mode 100644
index 000000000000..e2a866d03859
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_Delete.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_Get.json
new file mode 100644
index 000000000000..cacbf0445234
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_Get.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false,
+ "publicNetworkAccess": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_ListByResourceGroup.json
new file mode 100644
index 000000000000..79e94113bed6
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_ListByResourceGroup.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false,
+ "publicNetworkAccess": "Enabled"
+ }
+ },
+ {
+ "name": "workspace2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false,
+ "publicNetworkAccess": "Enabled"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_ListBySubscription.json
new file mode 100644
index 000000000000..4dd1da9f2a13
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_ListBySubscription.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "api-version": "2021-05-13-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false,
+ "publicNetworkAccess": "Enabled"
+ }
+ },
+ {
+ "name": "workspace2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false,
+ "publicNetworkAccess": "Enabled"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_Update.json
new file mode 100644
index 000000000000..ddaa9764d739
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-05-13-preview/examples/Workspace_Update.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2021-05-13-preview",
+ "workspace": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "publicNetworkAccess": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false,
+ "publicNetworkAccess": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/desktopvirtualization.json
new file mode 100644
index 000000000000..879a5953a9d7
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/desktopvirtualization.json
@@ -0,0 +1,4862 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-07-12",
+ "title": "Desktop Virtualization API Client"
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "host": "management.azure.com",
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.DesktopVirtualization/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "List all of the available operations the Desktop Virtualization resource provider supports.",
+ "x-ms-examples": {
+ "OperationDescription_List": {
+ "$ref": "./examples/OperationDescription_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved operations.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderOperationList"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}": {
+ "get": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_Get",
+ "description": "Get a workspace.",
+ "x-ms-examples": {
+ "Workspace_Get": {
+ "$ref": "./examples/Workspace_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_CreateOrUpdate",
+ "description": "Create or update a workspace.",
+ "x-ms-examples": {
+ "Workspace_Create": {
+ "$ref": "./examples/Workspace_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "name": "workspace",
+ "description": "Object containing Workspace definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "201": {
+ "description": "Successfully created workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_Delete",
+ "description": "Remove a workspace.",
+ "x-ms-examples": {
+ "Workspace_Delete": {
+ "$ref": "./examples/Workspace_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted workspace."
+ },
+ "204": {
+ "description": "Workspace does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_Update",
+ "description": "Update a workspace.",
+ "x-ms-examples": {
+ "Workspace_Update": {
+ "$ref": "./examples/Workspace_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "name": "workspace",
+ "description": "Object containing Workspace definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/WorkspacePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces": {
+ "get": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_ListByResourceGroup",
+ "description": "List workspaces.",
+ "x-ms-examples": {
+ "Workspace_ListByResourceGroup": {
+ "$ref": "./examples/Workspace_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved workspaces in resource group.",
+ "schema": {
+ "$ref": "#/definitions/WorkspaceList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces": {
+ "get": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_ListBySubscription",
+ "description": "List workspaces in subscription.",
+ "x-ms-examples": {
+ "Workspace_ListBySubscription": {
+ "$ref": "./examples/Workspace_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved workspaces in subscription.",
+ "schema": {
+ "$ref": "#/definitions/WorkspaceList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}": {
+ "get": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_Get",
+ "description": "Get a scaling plan.",
+ "x-ms-examples": {
+ "ScalingPlans_Get": {
+ "$ref": "./examples/ScalingPlan_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved scaling plan.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_Create",
+ "description": "Create or update a scaling plan.",
+ "x-ms-examples": {
+ "ScalingPlans_Create": {
+ "$ref": "./examples/ScalingPlan_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "name": "scalingPlan",
+ "description": "Object containing scaling plan definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated scaling plan.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "201": {
+ "description": "Successfully created scaling plan.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_Delete",
+ "description": "Remove a scaling plan.",
+ "x-ms-examples": {
+ "ScalingPlans_Delete": {
+ "$ref": "./examples/ScalingPlan_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted scaling plan."
+ },
+ "204": {
+ "description": "Scaling plan does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_Update",
+ "description": "Update a scaling plan.",
+ "x-ms-examples": {
+ "ScalingPlans_Update": {
+ "$ref": "./examples/ScalingPlan_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "name": "scalingPlan",
+ "description": "Object containing scaling plan definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated scaling plan.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans": {
+ "get": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_ListByResourceGroup",
+ "description": "List scaling plans.",
+ "x-ms-examples": {
+ "ScalingPlans_ListByResourceGroup": {
+ "$ref": "./examples/ScalingPlan_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved scaling plans in resource group.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/scalingPlans": {
+ "get": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_ListBySubscription",
+ "description": "List scaling plans in subscription.",
+ "x-ms-examples": {
+ "ScalingPlans_ListBySubscription": {
+ "$ref": "./examples/ScalingPlan_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved scaling plans in subscription.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}": {
+ "get": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_Get",
+ "description": "Get an application group.",
+ "x-ms-examples": {
+ "ApplicationGroup_Get": {
+ "$ref": "./examples/ApplicationGroup_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_CreateOrUpdate",
+ "description": "Create or update an applicationGroup.",
+ "x-ms-examples": {
+ "ApplicationGroup_Create": {
+ "$ref": "./examples/ApplicationGroup_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "name": "applicationGroup",
+ "description": "Object containing ApplicationGroup definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "201": {
+ "description": "Successfully created application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_Delete",
+ "description": "Remove an applicationGroup.",
+ "x-ms-examples": {
+ "ApplicationGroup_Delete": {
+ "$ref": "./examples/ApplicationGroup_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed application group."
+ },
+ "204": {
+ "description": "Application group does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_Update",
+ "description": "Update an applicationGroup.",
+ "x-ms-examples": {
+ "ApplicationGroups_Update": {
+ "$ref": "./examples/ApplicationGroup_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "name": "applicationGroup",
+ "description": "Object containing ApplicationGroup definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroupPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups": {
+ "get": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_ListByResourceGroup",
+ "description": "List applicationGroups.",
+ "x-ms-examples": {
+ "ApplicationGroup_ListByResourceGroup": {
+ "$ref": "./examples/ApplicationGroup_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are applicationGroupType."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved application groups in resource group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroupList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups": {
+ "get": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_ListBySubscription",
+ "description": "List applicationGroups in subscription.",
+ "x-ms-examples": {
+ "ApplicationGroup_List": {
+ "$ref": "./examples/ApplicationGroup_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are applicationGroupType."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved application groups in subscription.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroupList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems": {
+ "get": {
+ "tags": [
+ "StartMenuItem"
+ ],
+ "operationId": "StartMenuItems_List",
+ "description": "List start menu items in the given application group.",
+ "x-ms-examples": {
+ "StartMenuItem_List": {
+ "$ref": "./examples/StartMenuItem_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved start menu items in application group.",
+ "schema": {
+ "$ref": "#/definitions/StartMenuItemList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}": {
+ "get": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_Get",
+ "description": "Get an application.",
+ "x-ms-examples": {
+ "Application_Get": {
+ "$ref": "./examples/Application_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_CreateOrUpdate",
+ "description": "Create or update an application.",
+ "x-ms-examples": {
+ "Application_Create": {
+ "$ref": "./examples/Application_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "name": "application",
+ "description": "Object containing Application definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "201": {
+ "description": "Successfully created application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_Delete",
+ "description": "Remove an application.",
+ "x-ms-examples": {
+ "Application_Delete": {
+ "$ref": "./examples/Application_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed application."
+ },
+ "204": {
+ "description": "Application does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_Update",
+ "description": "Update an application.",
+ "x-ms-examples": {
+ "Application_Update": {
+ "$ref": "./examples/Application_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "name": "application",
+ "description": "Object containing Application definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ApplicationPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications": {
+ "get": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_List",
+ "description": "List applications.",
+ "x-ms-examples": {
+ "Applications_List": {
+ "$ref": "./examples/Application_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved applications in application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}": {
+ "get": {
+ "tags": [
+ "Desktop"
+ ],
+ "operationId": "Desktops_Get",
+ "description": "Get a desktop.",
+ "x-ms-examples": {
+ "Desktop_Get": {
+ "$ref": "./examples/Desktop_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DesktopNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved desktop.",
+ "schema": {
+ "$ref": "#/definitions/Desktop"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Desktop"
+ ],
+ "operationId": "Desktops_Update",
+ "description": "Update a desktop.",
+ "x-ms-examples": {
+ "Desktop_Update": {
+ "$ref": "./examples/Desktop_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DesktopNameParameter"
+ },
+ {
+ "name": "desktop",
+ "description": "Object containing Desktop definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/DesktopPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated desktop.",
+ "schema": {
+ "$ref": "#/definitions/Desktop"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops": {
+ "get": {
+ "tags": [
+ "Desktop"
+ ],
+ "operationId": "Desktops_List",
+ "description": "List desktops.",
+ "x-ms-examples": {
+ "Desktop_List": {
+ "$ref": "./examples/Desktop_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved desktops in application group.",
+ "schema": {
+ "$ref": "#/definitions/DesktopList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}": {
+ "get": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_Get",
+ "description": "Get a host pool.",
+ "x-ms-examples": {
+ "HostPool_Get": {
+ "$ref": "./examples/HostPool_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool.",
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_CreateOrUpdate",
+ "description": "Create or update a host pool.",
+ "x-ms-examples": {
+ "HostPool_Create": {
+ "$ref": "./examples/HostPool_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "hostPool",
+ "description": "Object containing HostPool definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated host pool.",
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "201": {
+ "description": "Successfully created host pool.",
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_Delete",
+ "description": "Remove a host pool.",
+ "x-ms-examples": {
+ "HostPool_Delete": {
+ "$ref": "./examples/HostPool_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force flag to delete sessionHost."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed host pool."
+ },
+ "204": {
+ "description": "Host pool does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_Update",
+ "description": "Update a host pool.",
+ "x-ms-examples": {
+ "HostPool_Update": {
+ "$ref": "./examples/HostPool_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "hostPool",
+ "description": "Object containing HostPool definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/HostPoolPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated host pool.",
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools": {
+ "get": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_ListByResourceGroup",
+ "description": "List hostPools.",
+ "x-ms-examples": {
+ "HostPool_ListByResourceGroup": {
+ "$ref": "./examples/HostPool_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool in resource group.",
+ "schema": {
+ "$ref": "#/definitions/HostPoolList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools": {
+ "get": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_List",
+ "description": "List hostPools in subscription.",
+ "x-ms-examples": {
+ "HostPool_List": {
+ "$ref": "./examples/HostPool_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool in subscription.",
+ "schema": {
+ "$ref": "#/definitions/HostPoolList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/retrieveRegistrationToken": {
+ "post": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_RetrieveRegistrationToken",
+ "description": "Registration token of the host pool.",
+ "x-ms-examples": {
+ "HostPools_RetrieveRegistrationToken_Post": {
+ "$ref": "./examples/HostPools_RetrieveRegistrationToken_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool in resource group.",
+ "schema": {
+ "$ref": "#/definitions/RegistrationInfo"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions": {
+ "get": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_ListByHostPool",
+ "description": "List userSessions.",
+ "x-ms-examples": {
+ "UserSession_ListByHostPool": {
+ "$ref": "./examples/UserSession_ListByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are userprincipalname and sessionstate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved user sessions in host pool.",
+ "schema": {
+ "$ref": "#/definitions/UserSessionList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}": {
+ "get": {
+ "tags": [
+ "SessionHost"
+ ],
+ "operationId": "SessionHosts_Get",
+ "description": "Get a session host.",
+ "x-ms-examples": {
+ "SessionHost_Get": {
+ "$ref": "./examples/SessionHost_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved session host.",
+ "schema": {
+ "$ref": "#/definitions/SessionHost"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SessionHost"
+ ],
+ "operationId": "SessionHosts_Delete",
+ "description": "Remove a SessionHost.",
+ "x-ms-examples": {
+ "SessionHost_Delete": {
+ "$ref": "./examples/SessionHost_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force flag to force sessionHost deletion even when userSession exists."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed session host."
+ },
+ "204": {
+ "description": "Session host does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SessionHost"
+ ],
+ "operationId": "SessionHosts_Update",
+ "description": "Update a session host.",
+ "x-ms-examples": {
+ "SessionHost_Update": {
+ "$ref": "./examples/SessionHost_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "name": "sessionHost",
+ "description": "Object containing SessionHost definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/SessionHostPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated session host.",
+ "schema": {
+ "$ref": "#/definitions/SessionHost"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts": {
+ "get": {
+ "tags": [
+ "SessionHost"
+ ],
+ "operationId": "SessionHosts_List",
+ "description": "List sessionHosts.",
+ "x-ms-examples": {
+ "SessionHost_List": {
+ "$ref": "./examples/SessionHost_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved session hosts in host pool.",
+ "schema": {
+ "$ref": "#/definitions/SessionHostList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages/{msixPackageFullName}": {
+ "get": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_Get",
+ "description": "Get a msixpackage.",
+ "x-ms-examples": {
+ "MSIXPackage_Get": {
+ "$ref": "./examples/MsixPackage_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MSIXPackageFullNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved MSIX Package.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_CreateOrUpdate",
+ "description": "Create or update a MSIX package.",
+ "x-ms-examples": {
+ "MSIXPackage_Create": {
+ "$ref": "./examples/MsixPackage_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MSIXPackageFullNameParameter"
+ },
+ {
+ "name": "msixPackage",
+ "description": "Object containing MSIX Package definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated MSIX Package.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "201": {
+ "description": "Successfully created MSIX Package.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_Delete",
+ "description": "Remove an MSIX Package.",
+ "x-ms-examples": {
+ "MSIXPackage_Delete": {
+ "$ref": "./examples/MsixPackage_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MSIXPackageFullNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed MSIX Package."
+ },
+ "204": {
+ "description": "MSIX Package does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_Update",
+ "description": "Update an MSIX Package.",
+ "x-ms-examples": {
+ "MSIXPackage_Update": {
+ "$ref": "./examples/MsixPackage_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MSIXPackageFullNameParameter"
+ },
+ {
+ "name": "msixPackage",
+ "description": "Object containing MSIX Package definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/MSIXPackagePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated MSIX Package.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages": {
+ "get": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_List",
+ "description": "List MSIX packages in hostpool.",
+ "x-ms-examples": {
+ "MSIXPackage_List": {
+ "$ref": "./examples/MsixPackage_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved MSIX Packages in hostpool.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackageList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/expandMsixImage": {
+ "post": {
+ "tags": [
+ "MsixImage"
+ ],
+ "operationId": "MsixImages_Expand",
+ "description": "Expands and Lists MSIX packages in an Image, given the Image Path.",
+ "x-ms-examples": {
+ "MsixImage_Expand": {
+ "$ref": "./examples/MsixImage_Expand_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "msixImageURI",
+ "description": "Object containing URI to MSIX Image",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MSIXImageURI"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved MSIX packages in specified Image Path.",
+ "schema": {
+ "$ref": "#/definitions/ExpandMsixImageList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}": {
+ "get": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_Get",
+ "description": "Get a userSession.",
+ "x-ms-examples": {
+ "UserSession_Get": {
+ "$ref": "./examples/UserSession_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSessionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved user session.",
+ "schema": {
+ "$ref": "#/definitions/UserSession"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_Delete",
+ "description": "Remove a userSession.",
+ "x-ms-examples": {
+ "UserSession_Delete": {
+ "$ref": "./examples/UserSession_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSessionIdParameter"
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force flag to login off userSession."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed user session."
+ },
+ "204": {
+ "description": "User session does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions": {
+ "get": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_List",
+ "description": "List userSessions.",
+ "x-ms-examples": {
+ "UserSession_List": {
+ "$ref": "./examples/UserSession_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved user sessions in session host.",
+ "schema": {
+ "$ref": "#/definitions/UserSessionList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect": {
+ "post": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_Disconnect",
+ "description": "Disconnect a userSession.",
+ "x-ms-examples": {
+ "UserSession_Disconnect_Post": {
+ "$ref": "./examples/UserSession_Disconnect_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSessionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully disconnected user session."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage": {
+ "post": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_SendMessage",
+ "description": "Send a message to a user.",
+ "x-ms-examples": {
+ "UserSession_SendMessage_Post": {
+ "$ref": "./examples/UserSession_SendMessage_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSessionIdParameter"
+ },
+ {
+ "name": "sendMessage",
+ "description": "Object containing message includes title and message body",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/SendMessage"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully sent message to user session."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/scalingPlans": {
+ "get": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_ListByHostPool",
+ "description": "List scaling plan associated with hostpool.",
+ "x-ms-examples": {
+ "UserSession_SendMessage_Post": {
+ "$ref": "./examples/ScalingPlan_ListByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved scaling plan associated with hostpool.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorProperties"
+ }
+ }
+ },
+ "CloudErrorProperties": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceProviderOperationList": {
+ "description": "Result of the request to list operations.",
+ "readOnly": true,
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceProviderOperation"
+ },
+ "description": "List of operations supported by this resource provider."
+ }
+ }
+ },
+ "ResourceProviderOperation": {
+ "description": "Supported operation of this resource provider.",
+ "readOnly": true,
+ "properties": {
+ "name": {
+ "description": "Operation name, in format of {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "Display metadata associated with the operation.",
+ "properties": {
+ "provider": {
+ "description": "Resource provider: Microsoft Desktop Virtualization.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of operation: get, read, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of this operation.",
+ "type": "string"
+ }
+ }
+ },
+ "isDataAction": {
+ "description": "Is a data action.",
+ "type": "boolean"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Properties of the operation",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification"
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "Service specification payload",
+ "type": "object",
+ "properties": {
+ "logSpecifications": {
+ "description": "Specifications of the Log for Azure Monitoring",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogSpecification"
+ }
+ }
+ }
+ },
+ "LogSpecification": {
+ "description": "Specifications of the Log for Azure Monitoring",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the log",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized friendly display name of the log",
+ "type": "string"
+ },
+ "blobDuration": {
+ "description": "Blob duration of the log",
+ "type": "string"
+ }
+ }
+ },
+ "Workspace": {
+ "type": "object",
+ "description": "Represents a Workspace definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for Workspace",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WorkspaceProperties"
+ }
+ }
+ },
+ "WorkspaceProperties": {
+ "description": "Schema for Workspace properties.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of Workspace. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of Workspace."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Workspace."
+ },
+ "applicationGroupReferences": {
+ "type": "array",
+ "description": "List of applicationGroup resource Ids.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cloudPcResource": {
+ "type": "boolean",
+ "description": "Is cloud pc resource.",
+ "readOnly": true
+ }
+ }
+ },
+ "WorkspaceList": {
+ "type": "object",
+ "title": "WorkspaceList",
+ "description": "List of Workspace definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Workspace definitions.",
+ "items": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "WorkspacePatch": {
+ "type": "object",
+ "description": "Workspace properties that can be patched.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "Detailed properties for Workspace",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WorkspacePatchProperties"
+ }
+ }
+ },
+ "WorkspacePatchProperties": {
+ "description": "Workspace properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of Workspace."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Workspace."
+ },
+ "applicationGroupReferences": {
+ "type": "array",
+ "description": "List of applicationGroup links.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ApplicationGroup": {
+ "type": "object",
+ "description": "Represents a ApplicationGroup definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for ApplicationGroup",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGroupProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "ApplicationGroupProperties": {
+ "description": "Schema for ApplicationGroup properties.",
+ "type": "object",
+ "required": [
+ "hostPoolArmPath",
+ "applicationGroupType"
+ ],
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of ApplicationGroup. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of ApplicationGroup."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of ApplicationGroup."
+ },
+ "hostPoolArmPath": {
+ "type": "string",
+ "description": "HostPool arm path of ApplicationGroup.",
+ "x-nullable": false
+ },
+ "workspaceArmPath": {
+ "type": "string",
+ "description": "Workspace arm path of ApplicationGroup.",
+ "readOnly": true
+ },
+ "applicationGroupType": {
+ "enum": [
+ "RemoteApp",
+ "Desktop"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGroupType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Resource Type of ApplicationGroup.",
+ "x-nullable": false
+ },
+ "migrationRequest": {
+ "$ref": "#/definitions/MigrationRequestProperties",
+ "description": "The registration info of HostPool."
+ },
+ "cloudPcResource": {
+ "type": "boolean",
+ "description": "Is cloud pc resource.",
+ "readOnly": true
+ }
+ }
+ },
+ "ApplicationGroupPatch": {
+ "type": "object",
+ "description": "ApplicationGroup properties that can be patched.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "ApplicationGroup properties that can be patched.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGroupPatchProperties"
+ }
+ }
+ },
+ "ApplicationGroupPatchProperties": {
+ "description": "ApplicationGroup properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of ApplicationGroup."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of ApplicationGroup."
+ }
+ }
+ },
+ "ApplicationGroupList": {
+ "type": "object",
+ "title": "ApplicationGroupList",
+ "description": "List of ApplicationGroup definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of ApplicationGroup definitions.",
+ "items": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "HostPool": {
+ "type": "object",
+ "description": "Represents a HostPool definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for HostPool",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HostPoolProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "HostPoolProperties": {
+ "description": "Properties of HostPool.",
+ "type": "object",
+ "required": [
+ "hostPoolType",
+ "loadBalancerType",
+ "preferredAppGroupType"
+ ],
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of HostPool. (internal use)",
+ "readOnly": true
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of HostPool."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of HostPool."
+ },
+ "hostPoolType": {
+ "enum": [
+ "Personal",
+ "Pooled",
+ "BYODesktop"
+ ],
+ "x-ms-enum": {
+ "name": "HostPoolType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Personal",
+ "description": "Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost."
+ },
+ {
+ "value": "Pooled",
+ "description": "Users get a new (random) SessionHost every time it connects to the HostPool."
+ },
+ {
+ "value": "BYODesktop",
+ "description": "Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "HostPool type for desktop.",
+ "x-nullable": false
+ },
+ "personalDesktopAssignmentType": {
+ "enum": [
+ "Automatic",
+ "Direct"
+ ],
+ "x-ms-enum": {
+ "name": "PersonalDesktopAssignmentType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "PersonalDesktopAssignment type for HostPool."
+ },
+ "customRdpProperty": {
+ "type": "string",
+ "description": "Custom rdp property of HostPool."
+ },
+ "maxSessionLimit": {
+ "type": "integer",
+ "description": "The max session limit of HostPool."
+ },
+ "loadBalancerType": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst",
+ "Persistent"
+ ],
+ "x-ms-enum": {
+ "name": "LoadBalancerType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of the load balancer.",
+ "x-nullable": false
+ },
+ "ring": {
+ "type": "integer",
+ "description": "The ring number of HostPool."
+ },
+ "validationEnvironment": {
+ "type": "boolean",
+ "description": "Is validation environment."
+ },
+ "registrationInfo": {
+ "$ref": "#/definitions/RegistrationInfo",
+ "description": "The registration info of HostPool."
+ },
+ "vmTemplate": {
+ "type": "string",
+ "description": "VM template for sessionhosts configuration within hostpool."
+ },
+ "applicationGroupReferences": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of applicationGroup links.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ssoadfsAuthority": {
+ "type": "string",
+ "description": "URL to customer ADFS server for signing WVD SSO certificates."
+ },
+ "ssoClientId": {
+ "type": "string",
+ "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates."
+ },
+ "ssoClientSecretKeyVaultPath": {
+ "type": "string",
+ "description": "Path to Azure KeyVault storing the secret used for communication to ADFS."
+ },
+ "ssoSecretType": {
+ "enum": [
+ "SharedKey",
+ "Certificate",
+ "SharedKeyInKeyVault",
+ "CertificateInKeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "SSOSecretType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of single sign on Secret Type."
+ },
+ "preferredAppGroupType": {
+ "enum": [
+ "None",
+ "Desktop",
+ "RailApplications"
+ ],
+ "x-ms-enum": {
+ "name": "PreferredAppGroupType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of preferred application group type, default to Desktop Application Group",
+ "x-nullable": false
+ },
+ "startVMOnConnect": {
+ "type": "boolean",
+ "description": "The flag to turn on/off StartVMOnConnect feature."
+ },
+ "migrationRequest": {
+ "$ref": "#/definitions/MigrationRequestProperties",
+ "description": "The registration info of HostPool."
+ },
+ "cloudPcResource": {
+ "type": "boolean",
+ "description": "Is cloud pc resource.",
+ "readOnly": true
+ }
+ }
+ },
+ "HostPoolPatch": {
+ "type": "object",
+ "description": "HostPool properties that can be patched.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "HostPool properties that can be patched.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HostPoolPatchProperties"
+ }
+ }
+ },
+ "HostPoolPatchProperties": {
+ "description": "Properties of HostPool.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of HostPool."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of HostPool."
+ },
+ "customRdpProperty": {
+ "type": "string",
+ "description": "Custom rdp property of HostPool."
+ },
+ "maxSessionLimit": {
+ "type": "integer",
+ "description": "The max session limit of HostPool."
+ },
+ "personalDesktopAssignmentType": {
+ "enum": [
+ "Automatic",
+ "Direct"
+ ],
+ "x-ms-enum": {
+ "name": "PersonalDesktopAssignmentType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "PersonalDesktopAssignment type for HostPool."
+ },
+ "loadBalancerType": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst",
+ "Persistent"
+ ],
+ "x-ms-enum": {
+ "name": "LoadBalancerType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of the load balancer."
+ },
+ "ring": {
+ "type": "integer",
+ "description": "The ring number of HostPool."
+ },
+ "validationEnvironment": {
+ "type": "boolean",
+ "description": "Is validation environment."
+ },
+ "registrationInfo": {
+ "$ref": "#/definitions/RegistrationInfoPatch",
+ "description": "The registration info of HostPool."
+ },
+ "vmTemplate": {
+ "type": "string",
+ "description": "VM template for sessionhosts configuration within hostpool."
+ },
+ "ssoadfsAuthority": {
+ "type": "string",
+ "description": "URL to customer ADFS server for signing WVD SSO certificates."
+ },
+ "ssoClientId": {
+ "type": "string",
+ "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates."
+ },
+ "ssoClientSecretKeyVaultPath": {
+ "type": "string",
+ "description": "Path to Azure KeyVault storing the secret used for communication to ADFS."
+ },
+ "ssoSecretType": {
+ "enum": [
+ "SharedKey",
+ "Certificate",
+ "SharedKeyInKeyVault",
+ "CertificateInKeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "SSOSecretType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of single sign on Secret Type."
+ },
+ "preferredAppGroupType": {
+ "enum": [
+ "None",
+ "Desktop",
+ "RailApplications"
+ ],
+ "x-ms-enum": {
+ "name": "PreferredAppGroupType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of preferred application group type, default to Desktop Application Group"
+ },
+ "startVMOnConnect": {
+ "type": "boolean",
+ "description": "The flag to turn on/off StartVMOnConnect feature."
+ }
+ }
+ },
+ "RegistrationInfo": {
+ "description": "Represents a RegistrationInfo definition.",
+ "type": "object",
+ "properties": {
+ "expirationTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Expiration time of registration token."
+ },
+ "token": {
+ "type": "string",
+ "description": "The registration token base64 encoded string."
+ },
+ "registrationTokenOperation": {
+ "enum": [
+ "Delete",
+ "None",
+ "Update"
+ ],
+ "x-ms-enum": {
+ "name": "RegistrationTokenOperation",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of resetting the token.",
+ "x-nullable": false
+ }
+ }
+ },
+ "RegistrationInfoPatch": {
+ "description": "Represents a RegistrationInfo definition.",
+ "type": "object",
+ "properties": {
+ "expirationTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Expiration time of registration token."
+ },
+ "registrationTokenOperation": {
+ "enum": [
+ "Delete",
+ "None",
+ "Update"
+ ],
+ "x-ms-enum": {
+ "name": "RegistrationTokenOperation",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of resetting the token."
+ }
+ }
+ },
+ "SendMessage": {
+ "description": "Represents message sent to a UserSession.",
+ "type": "object",
+ "properties": {
+ "messageTitle": {
+ "type": "string",
+ "description": "Title of message."
+ },
+ "messageBody": {
+ "type": "string",
+ "description": "Body of message."
+ }
+ }
+ },
+ "HostPoolList": {
+ "type": "object",
+ "title": "HostPoolList",
+ "description": "List of HostPool definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of HostPool definitions.",
+ "items": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "MSIXPackage": {
+ "description": "Schema for MSIX Package properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for MSIX Package",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MSIXPackageProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "MSIXPackageProperties": {
+ "description": "Schema for MSIX Package properties.",
+ "type": "object",
+ "properties": {
+ "imagePath": {
+ "type": "string",
+ "description": "VHD/CIM image path on Network Share.",
+ "x-nullable": false
+ },
+ "packageName": {
+ "type": "string",
+ "description": "Package Name from appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageFamilyName": {
+ "type": "string",
+ "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ",
+ "x-nullable": false
+ },
+ "displayName": {
+ "type": "string",
+ "description": "User friendly Name to be displayed in the portal. ",
+ "x-nullable": true
+ },
+ "packageRelativePath": {
+ "type": "string",
+ "description": "Relative Path to the package inside the image. ",
+ "x-nullable": false
+ },
+ "isRegularRegistration": {
+ "type": "boolean",
+ "description": "Specifies how to register Package in feed.",
+ "x-nullable": false
+ },
+ "isActive": {
+ "type": "boolean",
+ "description": "Make this version of the package the active one across the hostpool. ",
+ "x-nullable": false
+ },
+ "packageDependencies": {
+ "type": "array",
+ "description": "List of package dependencies. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageDependencies"
+ }
+ },
+ "version": {
+ "type": "string",
+ "description": "Package Version found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "lastUpdated": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Date Package was last updated, found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageApplications": {
+ "type": "array",
+ "description": "List of package applications. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageApplications"
+ },
+ "x-nullable": false
+ }
+ }
+ },
+ "MSIXPackagePatch": {
+ "type": "object",
+ "description": "MSIX Package properties that can be patched.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for MSIX Package",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MSIXPackagePatchProperties"
+ }
+ }
+ },
+ "MSIXPackagePatchProperties": {
+ "description": "MSIX Package properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "isActive": {
+ "type": "boolean",
+ "description": "Set a version of the package to be active across hostpool. "
+ },
+ "isRegularRegistration": {
+ "type": "boolean",
+ "description": "Set Registration mode. Regular or Delayed."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name for MSIX Package."
+ }
+ }
+ },
+ "MsixPackageApplications": {
+ "description": "Schema for MSIX Package Application properties.",
+ "type": "object",
+ "properties": {
+ "appId": {
+ "type": "string",
+ "description": "Package Application Id, found in appxmanifest.xml.",
+ "x-nullable": false
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of Package Application.",
+ "x-nullable": false
+ },
+ "appUserModelID": {
+ "type": "string",
+ "description": "Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml.",
+ "x-nullable": false
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "User friendly name.",
+ "x-nullable": false
+ },
+ "iconImageName": {
+ "type": "string",
+ "description": "User friendly name.",
+ "x-nullable": false
+ },
+ "rawIcon": {
+ "type": "string",
+ "format": "byte",
+ "description": "the icon a 64 bit string as a byte array."
+ },
+ "rawPng": {
+ "type": "string",
+ "format": "byte",
+ "description": "the icon a 64 bit string as a byte array."
+ }
+ }
+ },
+ "MsixPackageDependencies": {
+ "description": "Schema for MSIX Package Dependencies properties.",
+ "type": "object",
+ "properties": {
+ "dependencyName": {
+ "type": "string",
+ "description": "Name of package dependency.",
+ "x-nullable": false
+ },
+ "publisher": {
+ "type": "string",
+ "description": "Name of dependency publisher.",
+ "x-nullable": false
+ },
+ "minVersion": {
+ "type": "string",
+ "description": "Dependency version required.",
+ "x-nullable": false
+ }
+ }
+ },
+ "MSIXPackageList": {
+ "type": "object",
+ "title": "MsixPackageList",
+ "description": "List of MSIX Package definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of MSIX Package definitions.",
+ "items": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "Application": {
+ "description": "Schema for Application properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for Application",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "ApplicationProperties": {
+ "description": "Schema for Application properties.",
+ "type": "object",
+ "required": [
+ "commandLineSetting"
+ ],
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of Application. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of Application."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Application."
+ },
+ "filePath": {
+ "type": "string",
+ "description": "Specifies a path for the executable file for the application."
+ },
+ "msixPackageFamilyName": {
+ "type": "string",
+ "description": "Specifies the package family name for MSIX applications",
+ "x-nullable": true,
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "msixPackageApplicationId": {
+ "type": "string",
+ "description": "Specifies the package application Id for MSIX applications",
+ "x-nullable": true,
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "applicationType": {
+ "enum": [
+ "InBuilt",
+ "MsixApplication"
+ ],
+ "x-ms-enum": {
+ "name": "RemoteApplicationType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Resource Type of Application.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "commandLineSetting": {
+ "enum": [
+ "DoNotAllow",
+ "Allow",
+ "Require"
+ ],
+ "x-ms-enum": {
+ "name": "CommandLineSetting",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.",
+ "x-nullable": false
+ },
+ "commandLineArguments": {
+ "type": "string",
+ "description": "Command Line Arguments for Application."
+ },
+ "showInPortal": {
+ "type": "boolean",
+ "description": "Specifies whether to show the RemoteApp program in the RD Web Access server."
+ },
+ "iconPath": {
+ "type": "string",
+ "description": "Path to icon."
+ },
+ "iconIndex": {
+ "type": "integer",
+ "description": "Index of the icon."
+ },
+ "iconHash": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Hash of the icon."
+ },
+ "iconContent": {
+ "readOnly": true,
+ "type": "string",
+ "format": "byte",
+ "description": "the icon a 64 bit string as a byte array."
+ }
+ }
+ },
+ "ApplicationList": {
+ "type": "object",
+ "title": "ApplicationList",
+ "description": "List of Application definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Application definitions.",
+ "items": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ApplicationPatch": {
+ "type": "object",
+ "description": "Application properties that can be patched.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "Detailed properties for Application",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationPatchProperties"
+ }
+ }
+ },
+ "ApplicationPatchProperties": {
+ "description": "Application properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of Application."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Application."
+ },
+ "filePath": {
+ "type": "string",
+ "description": "Specifies a path for the executable file for the application."
+ },
+ "commandLineSetting": {
+ "enum": [
+ "DoNotAllow",
+ "Allow",
+ "Require"
+ ],
+ "x-ms-enum": {
+ "name": "CommandLineSetting",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all."
+ },
+ "commandLineArguments": {
+ "type": "string",
+ "description": "Command Line Arguments for Application."
+ },
+ "showInPortal": {
+ "type": "boolean",
+ "description": "Specifies whether to show the RemoteApp program in the RD Web Access server."
+ },
+ "iconPath": {
+ "type": "string",
+ "description": "Path to icon."
+ },
+ "iconIndex": {
+ "type": "integer",
+ "description": "Index of the icon."
+ },
+ "msixPackageFamilyName": {
+ "type": "string",
+ "description": "Specifies the package family name for MSIX applications",
+ "x-nullable": true
+ },
+ "msixPackageApplicationId": {
+ "type": "string",
+ "description": "Specifies the package application Id for MSIX applications",
+ "x-nullable": true
+ },
+ "applicationType": {
+ "enum": [
+ "InBuilt",
+ "MsixApplication"
+ ],
+ "x-ms-enum": {
+ "name": "RemoteApplicationType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Resource Type of Application."
+ }
+ }
+ },
+ "Desktop": {
+ "description": "Schema for Desktop properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for Desktop",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DesktopProperties"
+ }
+ }
+ },
+ "DesktopProperties": {
+ "description": "Schema for Desktop properties.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of Desktop. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of Desktop."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Desktop."
+ },
+ "iconHash": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Hash of the icon."
+ },
+ "iconContent": {
+ "readOnly": true,
+ "type": "string",
+ "format": "byte",
+ "description": "The icon a 64 bit string as a byte array."
+ }
+ }
+ },
+ "DesktopList": {
+ "type": "object",
+ "title": "DesktopList",
+ "description": "List of Desktop definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Desktop definitions.",
+ "items": {
+ "$ref": "#/definitions/Desktop"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "DesktopPatch": {
+ "type": "object",
+ "description": "Desktop properties that can be patched.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "Detailed properties for Desktop",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DesktopPatchProperties"
+ }
+ }
+ },
+ "DesktopPatchProperties": {
+ "description": "Desktop properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of Desktop."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Desktop."
+ }
+ }
+ },
+ "StartMenuItemProperties": {
+ "description": "Schema for StartMenuItem properties.",
+ "type": "object",
+ "properties": {
+ "appAlias": {
+ "type": "string",
+ "description": "Alias of StartMenuItem."
+ },
+ "filePath": {
+ "type": "string",
+ "description": "Path to the file of StartMenuItem."
+ },
+ "commandLineArguments": {
+ "type": "string",
+ "description": "Command line arguments for StartMenuItem."
+ },
+ "iconPath": {
+ "type": "string",
+ "description": "Path to the icon."
+ },
+ "iconIndex": {
+ "type": "integer",
+ "description": "Index of the icon."
+ }
+ }
+ },
+ "StartMenuItem": {
+ "type": "object",
+ "description": "Represents a StartMenuItem definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for StartMenuItem",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/StartMenuItemProperties"
+ }
+ }
+ },
+ "StartMenuItemList": {
+ "type": "object",
+ "title": "StartMenuItemList",
+ "description": "List of StartMenuItem definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of StartMenuItem definitions.",
+ "items": {
+ "$ref": "#/definitions/StartMenuItem"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ExpandMsixImageProperties": {
+ "description": "Schema for Expand MSIX Image properties.",
+ "type": "object",
+ "properties": {
+ "packageAlias": {
+ "type": "string",
+ "description": "Alias of MSIX Package."
+ },
+ "imagePath": {
+ "type": "string",
+ "description": "VHD/CIM image path on Network Share.",
+ "x-nullable": false
+ },
+ "packageName": {
+ "type": "string",
+ "description": "Package Name from appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageFamilyName": {
+ "type": "string",
+ "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ",
+ "x-nullable": false
+ },
+ "packageFullName": {
+ "type": "string",
+ "description": "Package Full Name from appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "displayName": {
+ "type": "string",
+ "description": "User friendly Name to be displayed in the portal. ",
+ "x-nullable": true
+ },
+ "packageRelativePath": {
+ "type": "string",
+ "description": "Relative Path to the package inside the image. ",
+ "x-nullable": false
+ },
+ "isRegularRegistration": {
+ "type": "boolean",
+ "description": "Specifies how to register Package in feed.",
+ "x-nullable": false
+ },
+ "isActive": {
+ "type": "boolean",
+ "description": "Make this version of the package the active one across the hostpool. ",
+ "x-nullable": false
+ },
+ "packageDependencies": {
+ "type": "array",
+ "description": "List of package dependencies. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageDependencies"
+ },
+ "x-nullable": true
+ },
+ "version": {
+ "type": "string",
+ "description": "Package Version found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "lastUpdated": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Date Package was last updated, found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageApplications": {
+ "type": "array",
+ "description": "List of package applications. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageApplications"
+ },
+ "x-nullable": false
+ }
+ }
+ },
+ "ExpandMsixImage": {
+ "type": "object",
+ "description": "Represents the definition of contents retrieved after expanding the MSIX Image. ",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for ExpandMsixImage",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpandMsixImageProperties"
+ }
+ }
+ },
+ "ExpandMsixImageList": {
+ "type": "object",
+ "title": "ExpandMsixImageList",
+ "description": "List of MSIX package properties retrieved from MSIX Image expansion.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of MSIX package properties from give MSIX Image.",
+ "items": {
+ "$ref": "#/definitions/ExpandMsixImage"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "MSIXImageURI": {
+ "description": "Represents URI referring to MSIX Image",
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI to Image"
+ }
+ }
+ },
+ "SessionHost": {
+ "type": "object",
+ "description": "Represents a SessionHost definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for SessionHost",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SessionHostProperties"
+ }
+ }
+ },
+ "SessionHostProperties": {
+ "description": "Schema for SessionHost properties.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of SessionHost. (internal use)",
+ "readOnly": true
+ },
+ "lastHeartBeat": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Last heart beat from SessionHost."
+ },
+ "sessions": {
+ "type": "integer",
+ "description": "Number of sessions on SessionHost."
+ },
+ "agentVersion": {
+ "type": "string",
+ "description": "Version of agent on SessionHost."
+ },
+ "allowNewSession": {
+ "type": "boolean",
+ "description": "Allow a new session."
+ },
+ "virtualMachineId": {
+ "type": "string",
+ "description": "Virtual Machine Id of SessionHost's underlying virtual machine.",
+ "readOnly": true
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Resource Id of SessionHost's underlying virtual machine.",
+ "readOnly": true
+ },
+ "assignedUser": {
+ "type": "string",
+ "description": "User assigned to SessionHost."
+ },
+ "status": {
+ "enum": [
+ "Available",
+ "Unavailable",
+ "Shutdown",
+ "Disconnected",
+ "Upgrading",
+ "UpgradeFailed",
+ "NoHeartbeat",
+ "NotJoinedToDomain",
+ "DomainTrustRelationshipLost",
+ "SxSStackListenerNotReady",
+ "FSLogixNotHealthy",
+ "NeedsAssistance"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Available",
+ "description": "Session Host has passed all the health checks and is available to handle connections."
+ },
+ {
+ "value": "Unavailable",
+ "description": "Session Host is either turned off or has failed critical health checks which is causing service not to be able to route connections to this session host. Note this replaces previous 'NoHeartBeat' status."
+ },
+ {
+ "value": "Shutdown",
+ "description": "Session Host is shutdown - RD Agent reported session host to be stopped or deallocated."
+ },
+ {
+ "value": "Disconnected",
+ "description": "The Session Host is unavailable because it is currently disconnected."
+ },
+ {
+ "value": "Upgrading",
+ "description": "Session Host is unavailable because currently an upgrade of RDAgent/side-by-side stack is in progress. Note: this state will be removed once the upgrade completes and the host is able to accept connections."
+ },
+ {
+ "value": "UpgradeFailed",
+ "description": "Session Host is unavailable because the critical component upgrade (agent, side-by-side stack, etc.) failed."
+ },
+ {
+ "value": "NoHeartbeat",
+ "description": "The Session Host is not heart beating."
+ },
+ {
+ "value": "NotJoinedToDomain",
+ "description": "SessionHost is not joined to domain."
+ },
+ {
+ "value": "DomainTrustRelationshipLost",
+ "description": "SessionHost's domain trust relationship lost"
+ },
+ {
+ "value": "SxSStackListenerNotReady",
+ "description": "SxS stack installed on the SessionHost is not ready to receive connections."
+ },
+ {
+ "value": "FSLogixNotHealthy",
+ "description": "FSLogix is in an unhealthy state on the session host."
+ },
+ {
+ "value": "NeedsAssistance",
+ "description": "New status to inform admins that the health on their endpoint needs to be fixed. The connections might not fail, as these issues are not fatal."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "Status for a SessionHost."
+ },
+ "statusTimestamp": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The timestamp of the status.",
+ "readOnly": true
+ },
+ "osVersion": {
+ "type": "string",
+ "description": "The version of the OS on the session host."
+ },
+ "sxSStackVersion": {
+ "type": "string",
+ "description": "The version of the side by side stack on the session host."
+ },
+ "updateState": {
+ "enum": [
+ "Initial",
+ "Pending",
+ "Started",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "UpdateState",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Update state of a SessionHost."
+ },
+ "lastUpdateTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The timestamp of the last update.",
+ "readOnly": true
+ },
+ "updateErrorMessage": {
+ "type": "string",
+ "description": "The error message."
+ },
+ "sessionHostHealthCheckResults": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of SessionHostHealthCheckReports",
+ "items": {
+ "$ref": "#/definitions/SessionHostHealthCheckReport"
+ }
+ }
+ }
+ },
+ "SessionHostHealthCheckReport": {
+ "type": "object",
+ "description": "The report for session host information.",
+ "properties": {
+ "healthCheckName": {
+ "enum": [
+ "DomainJoinedCheck",
+ "DomainTrustCheck",
+ "FSLogixHealthCheck",
+ "SxSStackListenerCheck",
+ "UrlsAccessibleCheck",
+ "MonitoringAgentCheck",
+ "DomainReachable",
+ "WebRTCRedirectorCheck",
+ "SupportedEncryptionCheck",
+ "MetaDataServiceCheck",
+ "AppAttachHealthCheck"
+ ],
+ "x-ms-enum": {
+ "name": "HealthCheckName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "DomainJoinedCheck",
+ "description": "Verifies the SessionHost is joined to a domain. If this check fails is classified as fatal as no connection can succeed if the SessionHost is not joined to the domain."
+ },
+ {
+ "value": "DomainTrustCheck",
+ "description": "Verifies the SessionHost is not experiencing domain trust issues that will prevent authentication on SessionHost at connection time when session is created. If this check fails is classified as fatal as no connection can succeed if we cannot reach the domain for authentication on the SessionHost."
+ },
+ {
+ "value": "FSLogixHealthCheck",
+ "description": "Verifies the FSLogix service is up and running to make sure users' profiles are loaded in the session. If this check fails is classified as fatal as even if the connection can succeed, user experience is bad as the user profile cannot be loaded and user will get a temporary profile in the session."
+ },
+ {
+ "value": "SxSStackListenerCheck",
+ "description": "Verifies that the SxS stack is up and running so connections can succeed. If this check fails is classified as fatal as no connection can succeed if the SxS stack is not ready."
+ },
+ {
+ "value": "UrlsAccessibleCheck",
+ "description": "Verifies that the required WVD service and Geneva URLs are reachable from the SessionHost. These URLs are: RdTokenUri, RdBrokerURI, RdDiagnosticsUri and storage blob URLs for agent monitoring (geneva). If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is unable to store warm path data (logs, operations ...)."
+ },
+ {
+ "value": "MonitoringAgentCheck",
+ "description": "Verifies that the required Geneva agent is running. If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is missing or running (possibly) older version."
+ },
+ {
+ "value": "DomainReachable",
+ "description": "Verifies the domain the SessionHost is joined to is still reachable. If this check fails is classified as fatal as no connection can succeed if the domain the SessionHost is joined is not reachable at the time of connection."
+ },
+ {
+ "value": "WebRTCRedirectorCheck",
+ "description": "Verifies whether the WebRTCRedirector component is healthy. The WebRTCRedirector component is used to optimize video and audio performance in Microsoft Teams. This checks whether the component is still running, and whether there is a higher version available. If this check fails, it is non fatal and the machine still can service connections, main issue may be the WebRTCRedirector component has to be restarted or updated."
+ },
+ {
+ "value": "SupportedEncryptionCheck",
+ "description": "Verifies the value of SecurityLayer registration key. If the value is 0 (SecurityLayer.RDP) this check fails with Error code = NativeMethodErrorCode.E_FAIL and is fatal. If the value is 1 (SecurityLayer.Negotiate) this check fails with Error code = NativeMethodErrorCode.ERROR_SUCCESS and is non fatal."
+ },
+ {
+ "value": "MetaDataServiceCheck",
+ "description": "Verifies the metadata service is accessible and return compute properties."
+ },
+ {
+ "value": "AppAttachHealthCheck",
+ "description": "Verifies that the AppAttachService is healthy (there were no issues during package staging). The AppAttachService is used to enable the staging/registration (and eventual deregistration/destaging) of MSIX apps that have been set up by the tenant admin. This checks whether the component had any failures during package staging. Failures in staging will prevent some MSIX apps from working properly for the end user. If this check fails, it is non fatal and the machine still can service connections, main issue may be certain apps will not work for end-users."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "Represents the name of the health check operation performed.",
+ "readOnly": true
+ },
+ "healthCheckResult": {
+ "enum": [
+ "Unknown",
+ "HealthCheckSucceeded",
+ "HealthCheckFailed",
+ "SessionHostShutdown"
+ ],
+ "x-ms-enum": {
+ "name": "HealthCheckResult",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "Health check result is not currently known."
+ },
+ {
+ "value": "HealthCheckSucceeded",
+ "description": "Health check passed."
+ },
+ {
+ "value": "HealthCheckFailed",
+ "description": "Health check failed."
+ },
+ {
+ "value": "SessionHostShutdown",
+ "description": "We received a Shutdown notification."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "Represents the Health state of the health check we performed.",
+ "readOnly": true
+ },
+ "additionalFailureDetails": {
+ "$ref": "#/definitions/SessionHostHealthCheckFailureDetails",
+ "description": "Additional detailed information on the failure.",
+ "readOnly": true
+ }
+ }
+ },
+ "SessionHostHealthCheckFailureDetails": {
+ "type": "object",
+ "description": "Contains details on the failure.",
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "Failure message: hints on what is wrong and how to recover.",
+ "readOnly": true
+ },
+ "errorCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Error code corresponding for the failure.",
+ "readOnly": true
+ },
+ "lastHealthCheckDateTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The timestamp of the last update.",
+ "readOnly": true
+ }
+ }
+ },
+ "SessionHostPatch": {
+ "type": "object",
+ "description": "SessionHost properties that can be patched.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for SessionHost",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SessionHostPatchProperties"
+ }
+ }
+ },
+ "SessionHostPatchProperties": {
+ "description": "SessionHost properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "allowNewSession": {
+ "type": "boolean",
+ "description": "Allow a new session."
+ },
+ "assignedUser": {
+ "type": "string",
+ "description": "User assigned to SessionHost."
+ }
+ }
+ },
+ "SessionHostList": {
+ "type": "object",
+ "title": "SessionHostList",
+ "description": "List of SessionHost definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of SessionHost definitions.",
+ "items": {
+ "$ref": "#/definitions/SessionHost"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "UserSession": {
+ "type": "object",
+ "description": "Represents a UserSession definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for UserSession",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UserSessionProperties"
+ }
+ }
+ },
+ "UserSessionProperties": {
+ "description": "Schema for UserSession properties.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of user session. (internal use)",
+ "readOnly": true
+ },
+ "userPrincipalName": {
+ "type": "string",
+ "description": "The user principal name."
+ },
+ "applicationType": {
+ "enum": [
+ "RemoteApp",
+ "Desktop"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Application type of application."
+ },
+ "sessionState": {
+ "enum": [
+ "Unknown",
+ "Active",
+ "Disconnected",
+ "Pending",
+ "LogOff",
+ "UserProfileDiskMounted"
+ ],
+ "x-ms-enum": {
+ "name": "SessionState",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "State of user session."
+ },
+ "activeDirectoryUserName": {
+ "type": "string",
+ "description": "The active directory user name."
+ },
+ "createTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The timestamp of the user session create."
+ }
+ }
+ },
+ "UserSessionList": {
+ "type": "object",
+ "title": "UserSessionList",
+ "description": "List of UserSession definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of UserSession definitions.",
+ "items": {
+ "$ref": "#/definitions/UserSession"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ScalingPlan": {
+ "type": "object",
+ "title": "ScalingPlan",
+ "description": "Represents a scaling plan definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for scaling plan.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ScalingPlanProperties"
+ }
+ }
+ },
+ "ScalingPlanProperties": {
+ "type": "object",
+ "description": "Scaling plan properties.",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of scaling plan. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of scaling plan."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "User friendly name of scaling plan."
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "Timezone of the scaling plan."
+ },
+ "hostPoolType": {
+ "enum": [
+ "Personal",
+ "Pooled",
+ "BYODesktop"
+ ],
+ "x-ms-enum": {
+ "name": "HostPoolType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Personal",
+ "description": "Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost."
+ },
+ {
+ "value": "Pooled",
+ "description": "Users get a new (random) SessionHost every time it connects to the HostPool."
+ },
+ {
+ "value": "BYODesktop",
+ "description": "Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "HostPool type for desktop.",
+ "x-nullable": false
+ },
+ "exclusionTag": {
+ "type": "string",
+ "description": "Exclusion tag for scaling plan."
+ },
+ "schedules": {
+ "type": "array",
+ "description": "List of ScalingSchedule definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingSchedule"
+ }
+ },
+ "hostPoolReferences": {
+ "type": "array",
+ "description": "List of ScalingHostPoolReference definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingHostPoolReference"
+ }
+ }
+ }
+ },
+ "ScalingSchedule": {
+ "description": "Scaling plan schedule.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the scaling schedule."
+ },
+ "daysOfWeek": {
+ "type": "array",
+ "description": "Set of days of the week on which this schedule is active.",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string"
+ }
+ },
+ "rampUpStartTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Starting time for ramp up period."
+ },
+ "rampUpLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for ramp up period."
+ },
+ "rampUpMinimumHostsPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Minimum host percentage for ramp up period."
+ },
+ "rampUpCapacityThresholdPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Capacity threshold for ramp up period."
+ },
+ "peakStartTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Starting time for peak period."
+ },
+ "peakLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for peak period."
+ },
+ "rampDownStartTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Starting time for ramp down period."
+ },
+ "rampDownLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for ramp down period."
+ },
+ "rampDownMinimumHostsPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Minimum host percentage for ramp down period."
+ },
+ "rampDownCapacityThresholdPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Capacity threshold for ramp down period."
+ },
+ "rampDownForceLogoffUsers": {
+ "type": "boolean",
+ "description": "Should users be logged off forcefully from hosts."
+ },
+ "rampDownStopHostsWhen": {
+ "enum": [
+ "ZeroSessions",
+ "ZeroActiveSessions"
+ ],
+ "x-ms-enum": {
+ "name": "StopHostsWhen",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Specifies when to stop hosts during ramp down period."
+ },
+ "rampDownWaitTimeMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of minutes to wait to stop hosts during ramp down period."
+ },
+ "rampDownNotificationMessage": {
+ "type": "string",
+ "description": "Notification message for users during ramp down period."
+ },
+ "offPeakStartTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Starting time for off-peak period."
+ },
+ "offPeakLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for off-peak period."
+ }
+ }
+ },
+ "ScalingHostPoolReference": {
+ "description": "Scaling plan reference to hostpool.",
+ "type": "object",
+ "properties": {
+ "hostPoolArmPath": {
+ "type": "string",
+ "description": "Arm path of referenced hostpool."
+ },
+ "scalingPlanEnabled": {
+ "type": "boolean",
+ "description": "Is the scaling plan enabled for this hostpool."
+ }
+ }
+ },
+ "ScalingPlanList": {
+ "type": "object",
+ "title": "ScalingPlanList",
+ "description": "List of scaling plan definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of scaling plan definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ScalingPlanPatch": {
+ "type": "object",
+ "description": "Scaling plan properties that can be patched.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "Detailed properties for scaling plan",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ScalingPlanPatchProperties"
+ }
+ }
+ },
+ "ScalingPlanPatchProperties": {
+ "type": "object",
+ "description": "Scaling plan properties.",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of scaling plan."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "User friendly name of scaling plan."
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "Timezone of the scaling plan."
+ },
+ "hostPoolType": {
+ "enum": [
+ "Personal",
+ "Pooled",
+ "BYODesktop"
+ ],
+ "x-ms-enum": {
+ "name": "HostPoolType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Personal",
+ "description": "Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost."
+ },
+ {
+ "value": "Pooled",
+ "description": "Users get a new (random) SessionHost every time it connects to the HostPool."
+ },
+ {
+ "value": "BYODesktop",
+ "description": "Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "HostPool type for desktop.",
+ "x-nullable": false
+ },
+ "exclusionTag": {
+ "type": "string",
+ "description": "Exclusion tag for scaling plan."
+ },
+ "schedules": {
+ "type": "array",
+ "description": "List of ScalingSchedule definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingSchedule"
+ }
+ },
+ "hostPoolReferences": {
+ "type": "array",
+ "description": "List of ScalingHostPoolReference definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingHostPoolReference"
+ }
+ }
+ }
+ },
+ "MigrationRequestProperties": {
+ "type": "object",
+ "description": "Properties for arm migration.",
+ "properties": {
+ "operation": {
+ "enum": [
+ "Start",
+ "Revoke",
+ "Complete",
+ "Hide",
+ "Unhide"
+ ],
+ "x-ms-enum": {
+ "name": "Operation",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Start",
+ "description": "Start the migration."
+ },
+ {
+ "value": "Revoke",
+ "description": "Revoke the migration."
+ },
+ {
+ "value": "Complete",
+ "description": "Complete the migration."
+ },
+ {
+ "value": "Hide",
+ "description": "Hide the hostpool."
+ },
+ {
+ "value": "Unhide",
+ "description": "Unhide the hostpool."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "The type of operation for migration."
+ },
+ "migrationPath": {
+ "type": "string",
+ "description": "The path to the legacy object to migrate."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "HostPoolNameParameter": {
+ "name": "hostPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the host pool within the specified resource group",
+ "maxLength": 64,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "MSIXPackageFullNameParameter": {
+ "name": "msixPackageFullName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The version specific package full name of the MSIX package within specified hostpool",
+ "maxLength": 100,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "ApplicationGroupNameParameter": {
+ "name": "applicationGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application group",
+ "maxLength": 64,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "ApplicationNameParameter": {
+ "name": "applicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application within the specified application group",
+ "maxLength": 24,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "DesktopNameParameter": {
+ "name": "desktopName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the desktop within the specified desktop group",
+ "maxLength": 24,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "WorkspaceNameParameter": {
+ "name": "workspaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the workspace",
+ "maxLength": 64,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "SessionHostNameParameter": {
+ "name": "sessionHostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the session host within the specified host pool",
+ "maxLength": 48,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "UserSessionIdParameter": {
+ "name": "userSessionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the user session within the specified session host",
+ "maxLength": 24,
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "StartMenuItemNameParameter": {
+ "name": "startMenuItemName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the start menu item within the specified host pool",
+ "maxLength": 24,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "MSIXImageURIParameter": {
+ "name": "msixImageURI",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "URI to the MSIX Image (VHD/CIM).",
+ "maxLength": 100,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "ScalingPlanNameParameter": {
+ "name": "scalingPlanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the scaling plan.",
+ "maxLength": 24,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_Create.json
new file mode 100644
index 000000000000..1b84e74f0c02
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_Create.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-07-12",
+ "applicationGroup": {
+ "location": "centralus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "applicationGroupType": "RemoteApp",
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false,
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false,
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_Delete.json
new file mode 100644
index 000000000000..42df1cdc192b
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_Delete.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_Get.json
new file mode 100644
index 000000000000..66ae458a837b
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_Get.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_ListByResourceGroup.json
new file mode 100644
index 000000000000..39c1267a1549
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_ListByResourceGroup.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2021-07-12",
+ "$filter": "applicationGroupType eq 'RailApplication'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ },
+ {
+ "name": "applicationGroup2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_ListBySubscription.json
new file mode 100644
index 000000000000..900dfff66785
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_ListBySubscription.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "api-version": "2021-07-12",
+ "$filter": "applicationGroupType eq 'RailApplication'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ },
+ {
+ "name": "applicationGroup2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_Update.json
new file mode 100644
index 000000000000..b1db05a38ef5
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ApplicationGroup_Update.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-07-12",
+ "applicationGroup": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Application_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Application_Create.json
new file mode 100644
index 000000000000..cbe1444743a7
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Application_Create.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "applicationName": "application1",
+ "api-version": "2021-07-12",
+ "application": {
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Application_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Application_Delete.json
new file mode 100644
index 000000000000..be90c12f4bd6
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Application_Delete.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "applicationName": "application1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Application_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Application_Get.json
new file mode 100644
index 000000000000..546911bfd7e1
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Application_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "applicationName": "application1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Application_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Application_List.json
new file mode 100644
index 000000000000..2f423dd2ac6a
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Application_List.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-07-12"
+ },
+ "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": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ },
+ {
+ "name": "applicationGroup1/application2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des2",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Application_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Application_Update.json
new file mode 100644
index 000000000000..b6eb86604867
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Application_Update.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "applicationName": "application1",
+ "api-version": "2021-07-12",
+ "application": {
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Desktop_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Desktop_Get.json
new file mode 100644
index 000000000000..ca8bb95f1251
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Desktop_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "desktopName": "SessionDesktop",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/SessionDesktop",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Desktop_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Desktop_List.json
new file mode 100644
index 000000000000..e59f89eea8ab
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Desktop_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "applicationGroup1/SessionDesktop",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Desktop_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Desktop_Update.json
new file mode 100644
index 000000000000..72a3b1296c7a
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Desktop_Update.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "desktopName": "SessionDesktop",
+ "api-version": "2021-07-12",
+ "desktop": {
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/SessionDesktop",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_Create.json
new file mode 100644
index 000000000000..d50a465db5a5
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_Create.json
@@ -0,0 +1,123 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-07-12",
+ "hostPool": {
+ "location": "centralus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "registrationInfo": {
+ "expirationTime": "2020-10-01T14:01:54.9571247Z",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2020-10-01T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2020-10-01T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_Delete.json
new file mode 100644
index 000000000000..9fe11f2b5b5b
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_Delete.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-07-12",
+ "force": true
+ },
+ "responses": {
+ "200": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "startVMOnConnect": false,
+ "cloudPcResource": false
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_Get.json
new file mode 100644
index 000000000000..f8cb36a4a384
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_Get.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false
+ }
+ }
+ },
+ "default": {
+ "body": {
+ "error": {
+ "code": "hostPoolDoesNotExist",
+ "message": "Host Pool Does Not Exist"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_List.json
new file mode 100644
index 000000000000..30c4542d859a
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_List.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false
+ }
+ },
+ {
+ "name": "hostPool2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_ListByResourceGroup.json
new file mode 100644
index 000000000000..28647627a32c
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_ListByResourceGroup.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false
+ }
+ },
+ {
+ "name": "hostPool2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_Update.json
new file mode 100644
index 000000000000..152bb06d7ef8
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPool_Update.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-07-12",
+ "hostPool": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "friendlyName": "friendly",
+ "description": "des1",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "personalDesktopAssignmentType": "Automatic",
+ "registrationInfo": {
+ "expirationTime": "2020-10-01T15:01:54.9571247Z",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "startVMOnConnect": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPools_RetrieveRegistrationToken_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPools_RetrieveRegistrationToken_Post.json
new file mode 100644
index 000000000000..b8c06c288308
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/HostPools_RetrieveRegistrationToken_Post.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixImage_Expand_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixImage_Expand_Post.json
new file mode 100644
index 000000000000..6f3a3b1fada1
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixImage_Expand_Post.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-07-12",
+ "msixImageURI": {
+ "uri": "imagepath"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostpool1/expandmsiximage",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/expandmsiximage",
+ "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage",
+ "properties": {
+ "packageAlias": "msixpackagealias",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageFullName": "MsixPackage_FullName",
+ "displayName": "displayname",
+ "packageRelativePath": "packagerelativepath",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId",
+ "description": "PackageApplicationDescription",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "FriendlyName",
+ "iconImageName": "Iconimagename",
+ "rawIcon": "RawIcon",
+ "rawPng": "RawPng"
+ }
+ ]
+ }
+ },
+ {
+ "name": "hostpool1/expandmsiximage",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/expandmsiximage",
+ "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage",
+ "properties": {
+ "packageAlias": "msixpackagealias2",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName2",
+ "packageFamilyName": "MsixPackage_FamilyName2",
+ "packageFullName": "MsixPackage_FullName2",
+ "displayName": "displayname2",
+ "packageRelativePath": "packagerelativepath2",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackageDependency1",
+ "publisher": "PublisherName1",
+ "minVersion": "ver1"
+ },
+ {
+ "dependencyName": "MsixPackageDependency2",
+ "publisher": "PublisherName2",
+ "minVersion": "ver2"
+ }
+ ],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId1",
+ "description": "PackageApplicationDescription1",
+ "appUserModelID": "AppUserModelId1",
+ "friendlyName": "FriendlyName1",
+ "iconImageName": "Iconimagename1",
+ "rawIcon": "RawIcon1",
+ "rawPng": "RawPng1"
+ },
+ {
+ "appId": "AppId2",
+ "description": "PackageApplicationDescription2",
+ "appUserModelID": "AppUserModelId2",
+ "friendlyName": "FriendlyName2",
+ "iconImageName": "Iconimagename2",
+ "rawIcon": "RawIcon2",
+ "rawPng": "RawPng2"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixPackage_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixPackage_Create.json
new file mode 100644
index 000000000000..6112ff717c18
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixPackage_Create.json
@@ -0,0 +1,114 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-07-12",
+ "msixPackageFullName": "msixpackagefullname",
+ "msixPackage": {
+ "properties": {
+ "displayName": "displayname",
+ "imagePath": "imagepath",
+ "isActive": false,
+ "isRegularRegistration": false,
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "description": "application-desc",
+ "appId": "ApplicationId",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "friendlyname",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ],
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixTest_Dependency_Name",
+ "minVersion": "version",
+ "publisher": "PublishedName"
+ }
+ ],
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageName": "MsixPackage_name",
+ "packageRelativePath": "packagerelativepath",
+ "version": "version"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": true,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixPackage_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixPackage_Delete.json
new file mode 100644
index 000000000000..72eac51c8b46
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixPackage_Delete.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-07-12",
+ "msixPackageFullName": "packagefullname"
+ },
+ "responses": {
+ "200": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixPackage_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixPackage_Get.json
new file mode 100644
index 000000000000..aea63311f7e6
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixPackage_Get.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-07-12",
+ "msixPackageFullName": "packagefullname"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixPackage_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixPackage_List.json
new file mode 100644
index 000000000000..d00afb1e25a0
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixPackage_List.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ },
+ {
+ "name": "hostpool1/MsixPackageFullName2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName2",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "properties": {
+ "imagePath": "imagepath2",
+ "packageName": "MsixPackage_Name2",
+ "packageFamilyName": "MsixPackage_FamilyName2",
+ "displayName": "dis2",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot2",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name2",
+ "publisher": "MsixPackage_Dependency_Publisher2",
+ "minVersion": "packageDep_version2"
+ }
+ ],
+ "version": "version2",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id2",
+ "description": "desc2",
+ "appUserModelID": "Application_ModelID2",
+ "friendlyName": "fri2",
+ "iconImageName": "Apptile2",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo2",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo2"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixPackage_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixPackage_Update.json
new file mode 100644
index 000000000000..c6f3552bdee6
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/MsixPackage_Update.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-07-12",
+ "msixPackageFullName": "msixpackagefullname",
+ "msixPackage": {
+ "properties": {
+ "displayName": "displayname",
+ "isActive": true,
+ "isRegularRegistration": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": true,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/OperationDescription_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/OperationDescription_List.json
new file mode 100644
index 000000000000..287f40ceb955
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/OperationDescription_List.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DesktopVirtualization/hostpools/read",
+ "display": {
+ "provider": "Microsoft.DesktopVirtualization",
+ "resource": "hostpools",
+ "operation": "Read hostpool",
+ "description": "Read hostpool"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.DesktopVirtualization/hostpools/write",
+ "display": {
+ "provider": "Microsoft.DesktopVirtualization",
+ "resource": "hostpools",
+ "operation": "Write hostpool",
+ "description": "Write hostpool"
+ },
+ "properties": {
+ "serviceSpecification": {
+ "logSpecifications": [
+ {
+ "name": "",
+ "displayName": ""
+ },
+ {
+ "name": "",
+ "displayName": ""
+ },
+ {
+ "name": "",
+ "displayName": ""
+ }
+ ]
+ }
+ },
+ "isDataAction": false
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_Create.json
new file mode 100644
index 000000000000..ba8de6a53f0f
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_Create.json
@@ -0,0 +1,163 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "api-version": "2021-07-12",
+ "scalingPlan": {
+ "location": "centralus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000Z",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000Z",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000Z",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000Z",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_Delete.json
new file mode 100644
index 000000000000..73a2decccaa6
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_Delete.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_Get.json
new file mode 100644
index 000000000000..a8268ea2ecde
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_Get.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_ListByHostPool.json
new file mode 100644
index 000000000000..0bd22ea7ea1c
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_ListByHostPool.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_ListByResourceGroup.json
new file mode 100644
index 000000000000..0ba7ad91153c
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_ListByResourceGroup.json
@@ -0,0 +1,116 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ },
+ {
+ "name": "scalingPlan2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan2",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": false,
+ "rampDownStopHostsWhen": "ZeroSessions",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_ListBySubscription.json
new file mode 100644
index 000000000000..78fa89511e46
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_ListBySubscription.json
@@ -0,0 +1,115 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ },
+ {
+ "name": "scalingPlan2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan2",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": false,
+ "rampDownStopHostsWhen": "ZeroActiveSessions",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_Update.json
new file mode 100644
index 000000000000..091fe922b8ba
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/ScalingPlan_Update.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "api-version": "2021-07-12",
+ "workspace": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000Z",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000Z",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000Z",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000Z",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/SessionHost_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/SessionHost_Delete.json
new file mode 100644
index 000000000000..211d3fd2fa3e
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/SessionHost_Delete.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "api-version": "2021-07-12",
+ "force": true
+ },
+ "responses": {
+ "200": {
+ "name": "sessionHost1.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2008-09-22T14:01:54.9571247Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2008-09-22T14:01:54.9571247Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/SessionHost_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/SessionHost_Get.json
new file mode 100644
index 000000000000..ff5e2b40b64d
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/SessionHost_Get.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sessionHost1.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2008-09-22T14:01:54.9571247Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2008-09-22T14:01:54.9571247Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/SessionHost_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/SessionHost_List.json
new file mode 100644
index 000000000000..4bcdae0c0a76
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/SessionHost_List.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "sessionHost1.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2008-09-22T14:01:54.9571247Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2008-09-22T14:01:54.9571247Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "sessionHost2.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2008-09-22T14:01:54.9571247Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user2@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2008-09-22T14:01:54.9571247Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "39491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost2",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/SessionHost_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/SessionHost_Update.json
new file mode 100644
index 000000000000..27272cfb7903
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/SessionHost_Update.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "api-version": "2021-07-12",
+ "sessionHost": {
+ "properties": {
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sessionHost1.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2019-01-11T19:27:13.6108027Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2019-01-24T20:00:08.2893033Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/StartMenuItem_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/StartMenuItem_List.json
new file mode 100644
index 000000000000..d231c1cf3b7e
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/StartMenuItem_List.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems",
+ "properties": {
+ "appAlias": "word",
+ "filePath": "/path/to/file",
+ "commandLineArguments": "arguments",
+ "iconPath": "/path/to/icon",
+ "iconIndex": 1
+ }
+ },
+ {
+ "name": "application2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems",
+ "properties": {
+ "appAlias": "excel",
+ "filePath": "/path/to/file",
+ "commandLineArguments": "arguments",
+ "iconPath": "/path/to/icon",
+ "iconIndex": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_Delete.json
new file mode 100644
index 000000000000..50b90033276b
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_Delete.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "userSessionId": "1",
+ "api-version": "2021-07-12",
+ "force": true
+ },
+ "responses": {
+ "200": {
+ "name": "1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_Disconnect_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_Disconnect_Post.json
new file mode 100644
index 000000000000..3636793548e7
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_Disconnect_Post.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "userSessionId": "1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_Get.json
new file mode 100644
index 000000000000..fb1f24ca3dd8
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "userSessionId": "1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_List.json
new file mode 100644
index 000000000000..4d5dea1e252a
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_List.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ },
+ {
+ "name": "2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_ListByHostPool.json
new file mode 100644
index 000000000000..620f3c7f97c7
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_ListByHostPool.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-07-12",
+ "$filter": "userPrincipalName eq 'user1@microsoft.com' and state eq 'active'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ },
+ {
+ "name": "2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_SendMessage_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_SendMessage_Post.json
new file mode 100644
index 000000000000..d994dfbb3b0f
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/UserSession_SendMessage_Post.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "userSessionId": "1",
+ "api-version": "2021-07-12",
+ "sendMessage": {
+ "messageTitle": "title",
+ "messageBody": "body"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_Create.json
new file mode 100644
index 000000000000..df71c26608bc
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_Create.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2021-07-12",
+ "workspace": {
+ "location": "centralus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_Delete.json
new file mode 100644
index 000000000000..106d2b7f4c2d
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_Delete.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_Get.json
new file mode 100644
index 000000000000..866960107667
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_ListByResourceGroup.json
new file mode 100644
index 000000000000..532632ecad18
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_ListByResourceGroup.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ },
+ {
+ "name": "workspace2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_ListBySubscription.json
new file mode 100644
index 000000000000..94c36b61e52b
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_ListBySubscription.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "api-version": "2021-07-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ },
+ {
+ "name": "workspace2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_Update.json
new file mode 100644
index 000000000000..4e3f2f8626cc
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2021-07-12/examples/Workspace_Update.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2021-07-12",
+ "workspace": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/readme.md b/specification/desktopvirtualization/resource-manager/readme.md
index 61a19b4be4af..7c9fc65953c1 100644
--- a/specification/desktopvirtualization/resource-manager/readme.md
+++ b/specification/desktopvirtualization/resource-manager/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for Desktop Virtualization.
-
-
---
+
## Getting Started
+
To build the SDK for DesktopVirtualizationClient, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,16 +15,36 @@ To build the SDK for DesktopVirtualizationClient, simply [Install AutoRest](http
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
### Basic Information
+
These are the global settings for the DesktopVirtualizationClient API.
``` yaml
openapi-type: arm
-tag: package-2021-04-01-preview
+tag: package-2021-07
+```
+
+
+### Tag: package-2021-07
+
+These settings apply only when `--tag=package-2021-07` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-07'
+input-file:
+ - Microsoft.DesktopVirtualization/stable/2021-07-12/desktopvirtualization.json
+```
+### Tag: package-preview-2021-05
+
+These settings apply only when `--tag=package-preview-2021-05` is specified on the command line.
+
+``` yaml $(tag) == 'package-preview-2021-05'
+input-file:
+ - Microsoft.DesktopVirtualization/preview/2021-05-13-preview/desktopvirtualization.json
```
### Tag: package-2019-01-23-preview
@@ -117,8 +137,8 @@ input-file:
```
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -169,7 +189,7 @@ See configuration in [readme.node.md](./readme.node.md)
See configuration in [readme.ruby.md](./readme.ruby.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.
@@ -195,10 +215,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
-```
\ No newline at end of file
+```
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
index fe66db3dceb7..b6dd534281d6 100644
--- 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
@@ -1657,6 +1657,10 @@
"certificate": {
"description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content.",
"type": "string"
+ },
+ "isVerified": {
+ "description": "True indicates that the certificate will be created in verified state and proof of possession will not be required.",
+ "type": "boolean"
}
}
},
diff --git a/specification/deviceprovisioningservices/resource-manager/readme.md b/specification/deviceprovisioningservices/resource-manager/readme.md
index 3ebc9752fc3f..d030b6c04dbd 100644
--- a/specification/deviceprovisioningservices/resource-manager/readme.md
+++ b/specification/deviceprovisioningservices/resource-manager/readme.md
@@ -95,6 +95,7 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
+ - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
diff --git a/specification/deviceprovisioningservices/resource-manager/readme.python.md b/specification/deviceprovisioningservices/resource-manager/readme.python.md
index b2c93d010289..fcad17c97da2 100644
--- a/specification/deviceprovisioningservices/resource-manager/readme.python.md
+++ b/specification/deviceprovisioningservices/resource-manager/readme.python.md
@@ -4,7 +4,19 @@ 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) && !$(track2)
+python-mode: create
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.mgmt.iothubprovisioningservices
+ package-name: azure-mgmt-iothubprovisioningservices
+ package-version: 0.1.0
+ clear-output-folder: true
+```
+
+``` yaml $(python) && $(track2)
python-mode: create
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
@@ -14,12 +26,24 @@ package-version: 1.0.0b1
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothubprovisioningservices/azure/mgmt/iothubprovisioningservices
+```
+
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothubprovisioningservices
+```
+
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
no-namespace-folders: true
output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothubprovisioningservices/azure/mgmt/iothubprovisioningservices
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
basic-setup-py: true
output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothubprovisioningservices
```
diff --git a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2020-09-01/examples/Devices_CreateOrUpdateGroup.json b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2020-09-01/examples/Devices_CreateOrUpdateGroup.json
index 9453cb9ad167..ea886186514f 100644
--- a/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2020-09-01/examples/Devices_CreateOrUpdateGroup.json
+++ b/specification/deviceupdate/data-plane/Microsoft.DeviceUpdate/preview/2020-09-01/examples/Devices_CreateOrUpdateGroup.json
@@ -2,12 +2,12 @@
"parameters": {
"accountEndpoint": "contoso.api.adu.microsoft.com",
"instanceId": "blue",
- "groupId": "group1",
+ "groupId": "MyGroup",
"group": {
"groupId": "MyGroup",
"groupType": "IoTHubTag",
"tags": [
- "MyAduGroup"
+ "MyGroup"
],
"createdDateTime": "2020-07-01T12:13:14.0000000Z"
}
@@ -18,7 +18,7 @@
"groupId": "MyGroup",
"groupType": "IoTHubTag",
"tags": [
- "MyAduGroup"
+ "MyGroup"
],
"createdDateTime": "2020-07-01T12:13:14.0000000Z"
}
diff --git a/specification/deviceupdate/data-plane/readme.md b/specification/deviceupdate/data-plane/readme.md
index 1cca118e7d26..73985a42346b 100644
--- a/specification/deviceupdate/data-plane/readme.md
+++ b/specification/deviceupdate/data-plane/readme.md
@@ -49,7 +49,7 @@ This is not used by Autorest itself.
```yaml $(swagger-to-sdk)
swagger-to-sdk:
- - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-js
after_scripts:
diff --git a/specification/deviceupdate/data-plane/readme.python.md b/specification/deviceupdate/data-plane/readme.python.md
index 8d45ee47f464..35906a2b338d 100644
--- a/specification/deviceupdate/data-plane/readme.python.md
+++ b/specification/deviceupdate/data-plane/readme.python.md
@@ -3,22 +3,23 @@
These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-```yaml
- python-mode: create
- license-header: MICROSOFT_MIT_NO_VERSION
- namespace: azure.iot.deviceupdate
- package-name: azure-iot-deviceupdate
- package-version: 1.0.0b1
- clear-output-folder: true
- add-credentials: true
- credential-scopes: https://api.adu.microsoft.com/.default
+``` yaml $(track2)
+python-mode: create
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.iot.deviceupdate
+package-name: azure-iot-deviceupdate
+package-version: 1.0.0b1
+clear-output-folder: true
+add-credentials: true
+credential-scopes: https://api.adu.microsoft.com/.default
```
-```yaml $(python-mode) == 'create'
+``` yaml $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
output-folder: $(python-sdks-folder)/deviceupdate/azure-iot-deviceupdate
```
-```yaml $(python-mode) == 'update'
+``` yaml $(python-mode) == 'update' && $(track2)
no-namespace-folders: true
output-folder: $(python-sdks-folder)/deviceupdate/azure-iot-deviceupdate/azure/iot/deviceupdate
```
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/deviceupdate.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/deviceupdate.json
index 65158a0dfbbb..277b01e35df6 100644
--- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/deviceupdate.json
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/deviceupdate.json
@@ -792,6 +792,10 @@
"items": {
"$ref": "#/definitions/IotHubSettings"
}
+ },
+ "enableDiagnostics": {
+ "description": "Enables or Disables the diagnostic logs collection",
+ "type": "boolean"
}
}
}
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Create.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Create.json
index 2f88472e3460..dc732514328b 100644
--- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Create.json
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Create.json
@@ -14,7 +14,8 @@
"ioTHubConnectionString": "string",
"eventHubConnectionString": "string"
}
- ]
+ ],
+ "enableDiagnostics": false
}
}
},
@@ -32,7 +33,8 @@
{
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Devices/IotHubs/blue-contoso-hub"
}
- ]
+ ],
+ "enableDiagnostics": false
}
}
}
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Get.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Get.json
index 1f354395ae9e..23b2706d98a3 100644
--- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Get.json
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Get.json
@@ -20,7 +20,8 @@
{
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Devices/IotHubs/blue-contoso-hub"
}
- ]
+ ],
+ "enableDiagnostics": false
}
}
}
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_ListByAccount.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_ListByAccount.json
index eac2d6134f84..162edb2678ee 100644
--- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_ListByAccount.json
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_ListByAccount.json
@@ -22,7 +22,8 @@
{
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Devices/IotHubs/blue-contoso-hub"
}
- ]
+ ],
+ "enableDiagnostics": false
}
},
{
@@ -37,7 +38,8 @@
{
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Devices/IotHubs/red-contoso-hub"
}
- ]
+ ],
+ "enableDiagnostics": false
}
}
]
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Update.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Update.json
index a431fd26a2db..850030cfa1c0 100644
--- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Update.json
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Update.json
@@ -24,7 +24,8 @@
{
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Devices/IotHubs/blue-contoso-hub"
}
- ]
+ ],
+ "enableDiagnostics": false
},
"tags": {
"tagKey": "tagValue"
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/delegatedSubnets.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/delegatedSubnets.json
index 86ffa184ea2f..1eff9dddf478 100644
--- a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/delegatedSubnets.json
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/delegatedSubnets.json
@@ -388,6 +388,7 @@
],
"properties": {
"properties": {
+ "x-ms-client-flatten": true,
"$ref": "#/definitions/DelegatedSubnetProperties",
"description": "Properties of the provision operation request."
}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/orchestrators.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/orchestrators.json
index a73359d5a957..d31facdd327c 100644
--- a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/orchestrators.json
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/orchestrators.json
@@ -154,6 +154,9 @@
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ForceDeleteParameter"
}
],
"responses": {
@@ -498,6 +501,14 @@
"maxLength": 63,
"x-ms-parameter-location": "method",
"description": "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63."
+ },
+ "ForceDeleteParameter": {
+ "name": "forceDelete",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force delete resource",
+ "x-ms-parameter-location": "method"
}
}
}
diff --git a/specification/dnc/resource-manager/readme.az.md b/specification/dnc/resource-manager/readme.az.md
new file mode 100644
index 000000000000..7aa076d721d2
--- /dev/null
+++ b/specification/dnc/resource-manager/readme.az.md
@@ -0,0 +1,15 @@
+## AZ
+
+These settings apply only when `--az` is specified on the command line.
+
+``` yaml $(az) && $(target-mode) != 'core'
+az:
+ extensions: dnc
+ namespace: azure.mgmt.dnc
+ package-name: azure-mgmt-dnc
+az-output-folder: $(azure-cli-extension-folder)/src/dnc
+python-sdk-output-folder: "$(az-output-folder)/azext_dnc/vendored_sdks/dnc"
+# add additinal configuration here specific for Azure CLI
+# refer to the faq.md for more details
+extension-mode: preview
+```
\ No newline at end of file
diff --git a/specification/dnc/resource-manager/readme.cli.md b/specification/dnc/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..f3d3e64aaa25
--- /dev/null
+++ b/specification/dnc/resource-manager/readme.cli.md
@@ -0,0 +1,36 @@
+``` yaml
+# add any configuration here for all CLI languages
+# refer to the faq.md for more details
+cli:
+ cli-directive:
+ - where:
+ group: .*
+ parameter: privateLinkResourceId
+ alias:
+ - priv_link_resource_id
+ ## hide an operation
+ - where:
+ group: .*
+ op: Patch
+ hidden: true
+ - where:
+ group: .*
+ op: PatchDetails
+ hidden: true
+ - where:
+ group: .*
+ op: GetDetails
+ name: show
+ - where:
+ group: .*
+ op: PutDetails
+ name: create
+ - where:
+ group: .*
+ op: ListByResourceGroup
+ hidden: true
+ - where:
+ group: .*
+ op: ListBySubscription
+ hidden: true
+```
\ No newline at end of file
diff --git a/specification/dns/resource-manager/readme.md b/specification/dns/resource-manager/readme.md
index e34c59181edd..5baf1dc98983 100644
--- a/specification/dns/resource-manager/readme.md
+++ b/specification/dns/resource-manager/readme.md
@@ -158,9 +158,6 @@ 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-dns
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
diff --git a/specification/dns/resource-manager/readme.python.md b/specification/dns/resource-manager/readme.python.md
index 8e1f1387d5fd..5ccf3d1231c3 100644
--- a/specification/dns/resource-manager/readme.python.md
+++ b/specification/dns/resource-manager/readme.python.md
@@ -2,37 +2,18 @@
These settings apply only when `--python` is specified on the command line.
-```yaml $(python) && !$(track2)
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- package-name: azure-mgmt-dns
- clear-output-folder: true
- no-namespace-folders: true
-```
-
```yaml $(python) && $(track2)
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
package-name: azure-mgmt-dns
no-namespace-folders: true
package-version: 1.0.0b1
-modelerfour:
- lenient-model-deduplication: true
```
### Python multi-api
Generate all API versions currently shipped for this package
-```yaml $(python) && $(multiapi) && !$(track2)
-batch:
- - tag: package-2018-05
- - tag: package-2018-03-preview
- - tag: package-2016-04
-```
-
```yaml $(python) && $(multiapi) && $(track2)
clear-output-folder: true
batch:
@@ -53,12 +34,6 @@ perform-load: false
These settings apply only when `--tag=package-2018-05 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2018-05' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.dns.v2018_05_01
- output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2018_05_01
-```
-
``` yaml $(tag) == 'package-2018-05' && $(python) && $(track2)
namespace: azure.mgmt.dns.v2018_05_01
output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2018_05_01
@@ -69,12 +44,6 @@ output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2018
These settings apply only when `--tag=package-2018-03-preview --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2018-03-preview' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.dns.v2018_03_01_preview
- output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2018_03_01_preview
-```
-
``` yaml $(tag) == 'package-2018-03-preview' && $(python) && $(track2)
namespace: azure.mgmt.dns.v2018_03_01_preview
output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2018_03_01_preview
@@ -85,13 +54,12 @@ output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2018
These settings apply only when `--tag=package-2016-04 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2016-04' && $(python) && !$(track2)
-python:
- namespace: azure.mgmt.dns.v2016_04_01
- output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2016_04_01
-```
-
``` yaml $(tag) == 'package-2016-04' && $(python) && $(track2)
namespace: azure.mgmt.dns.v2016_04_01
output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2016_04_01
```
+
+```yaml $(python) && $(track2)
+modelerfour:
+ lenient-model-deduplication: true
+```
\ No newline at end of file
diff --git a/specification/dns/resource-manager/readme.typescript.md b/specification/dns/resource-manager/readme.typescript.md
index 6e56d2e3e9a6..b0300e04f4fa 100644
--- a/specification/dns/resource-manager/readme.typescript.md
+++ b/specification/dns/resource-manager/readme.typescript.md
@@ -11,7 +11,7 @@ typescript:
generate-metadata: true
```
-``` yaml $(typescript) && !$(profile)
+``` yaml $(typescript) && !$(profile-content)
typescript:
package-name: "@azure/arm-dns"
output-folder: "$(typescript-sdks-folder)/sdk/dns/arm-dns"
@@ -20,9 +20,9 @@ typescript:
### Profile: profile-hybrid-2019-03-01
-These settings apply only when `--profile=profile-hybrid-2019-03-01` is specified on the command line.
+These settings apply only when `--profile-content=profile-hybrid-2019-03-01` is specified on the command line.
-``` yaml $(profile)=='profile-hybrid-2019-03-01'
+``` yaml $(profile-content)=='profile-hybrid-2019-03-01'
typescript:
package-name: "@azure/arm-dns-profile-2019-03-01-hybrid"
output-folder: "$(typescript-sdks-folder)/sdk/dns/arm-dns-profile-2019-03-01-hybrid"
@@ -33,9 +33,9 @@ typescript:
### Profile: profile-hybrid-2020-09-01
-These settings apply only when `--profile=profile-hybrid-2020-09-01` is specified on the command line.
+These settings apply only when `--profile-content=profile-hybrid-2020-09-01` is specified on the command line.
-``` yaml $(profile)=='profile-hybrid-2020-09-01'
+``` yaml $(profile-content)=='profile-hybrid-2020-09-01'
typescript:
package-name: "@azure/arm-dns-profile-2020-09-01-hybrid"
output-folder: "$(typescript-sdks-folder)/sdk/dns/arm-dns-profile-2020-09-01-hybrid"
@@ -44,4 +44,4 @@ typescript:
generate-metadata: true
batch:
- tag: profile-hybrid-2020-09-01
-```
\ No newline at end of file
+```
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json
index 186bee071977..58deea45c710 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json
@@ -2,7 +2,7 @@
"swagger": "2.0",
"info": {
"version": "2020-12-01-preview",
- "title": "Edge Ordering Service"
+ "title": "Edge Ordering Service-Customer"
},
"host": "management.azure.com",
"schemes": [
@@ -20,7 +20,7 @@
"tags": [
"Operations"
],
- "description": "This method gets all the operations.",
+ "description": "This method gets all the operations that are exposed for customer.",
"operationId": "ListOperations",
"consumes": [
"application/json"
@@ -111,7 +111,7 @@
},
"x-ms-examples": {
"ListAddressesAtSubscriptionLevel": {
- "$ref": "./examples/AddressesGetAtSubscriptionLevel.json"
+ "$ref": "./examples/ListAddressesAtSubscriptionLevel.json"
}
}
}
@@ -403,7 +403,7 @@
},
"x-ms-examples": {
"ListOrderItemsAtSubscriptionLevel": {
- "$ref": "./examples/OrderItemGetBySubscription.json"
+ "$ref": "./examples/ListOrderItemsAtSubscriptionLevel.json"
}
}
}
@@ -465,7 +465,7 @@
},
"x-ms-examples": {
"ListAddressesAtResourceGroupLevel": {
- "$ref": "./examples/AddressesGetAtResourceGrouplevel.json"
+ "$ref": "./examples/ListAddressesAtResourceGroupLevel.json"
}
}
}
@@ -513,7 +513,7 @@
},
"x-ms-examples": {
"GetAddressByName": {
- "$ref": "./examples/AddressGetByName.json"
+ "$ref": "./examples/GetAddressByName.json"
}
}
},
@@ -572,7 +572,7 @@
"x-ms-long-running-operation": true,
"x-ms-examples": {
"CreateAddress": {
- "$ref": "./examples/AddressCreate.json"
+ "$ref": "./examples/CreateAddress.json"
}
}
},
@@ -622,7 +622,7 @@
"x-ms-long-running-operation": true,
"x-ms-examples": {
"DeleteAddressByName": {
- "$ref": "./examples/AddressDelete.json"
+ "$ref": "./examples/DeleteAddressByName.json"
}
}
},
@@ -688,7 +688,7 @@
"x-ms-long-running-operation": true,
"x-ms-examples": {
"UpdateAddress": {
- "$ref": "./examples/AddressPatch.json"
+ "$ref": "./examples/UpdateAddress.json"
}
}
}
@@ -829,6 +829,13 @@
"required": false,
"type": "string"
},
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "$expand is supported on device details parameter for order item, which provides details on the devices of the product.",
+ "required": false,
+ "type": "string"
+ },
{
"name": "$skipToken",
"in": "query",
@@ -856,7 +863,7 @@
},
"x-ms-examples": {
"ListOrderItemsAtResourceGroupLevel": {
- "$ref": "./examples/OrderItemGetByRG.json"
+ "$ref": "./examples/ListOrderItemsAtResourceGroupLevel.json"
}
}
}
@@ -886,6 +893,13 @@
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "$expand is supported on device details parameter for order item, which provides details on the devices of the product.",
+ "required": false,
+ "type": "string"
}
],
"responses": {
@@ -904,7 +918,7 @@
},
"x-ms-examples": {
"GetOrderItemByName": {
- "$ref": "./examples/OrderItemGet.json"
+ "$ref": "./examples/GetOrderItemByName.json"
}
}
},
@@ -963,7 +977,7 @@
"x-ms-long-running-operation": true,
"x-ms-examples": {
"CreateOrderItem": {
- "$ref": "./examples/OrderItemCreate.json"
+ "$ref": "./examples/CreateOrderItem.json"
}
}
},
@@ -995,7 +1009,7 @@
],
"responses": {
"200": {
- "description": "Order Item Deleted"
+ "description": "Order item Deleted"
},
"202": {
"description": "Accepted delete request for an order item"
@@ -1013,7 +1027,7 @@
"x-ms-long-running-operation": true,
"x-ms-examples": {
"DeleteOrderItemByName": {
- "$ref": "./examples/OrderItemDelete.json"
+ "$ref": "./examples/DeleteOrderItemByName.json"
}
}
},
@@ -1064,7 +1078,7 @@
"description": "Accepted request for order item update."
},
"200": {
- "description": "Order item resource object",
+ "description": "Order item resource object.",
"schema": {
"$ref": "#/definitions/OrderItemResource"
}
@@ -1079,7 +1093,7 @@
"x-ms-long-running-operation": true,
"x-ms-examples": {
"UpdateOrderItem": {
- "$ref": "./examples/OrderItemUpdate.json"
+ "$ref": "./examples/UpdateOrderItem.json"
}
}
}
@@ -1136,7 +1150,7 @@
},
"x-ms-examples": {
"CancelOrderItem": {
- "$ref": "./examples/OrderItemCancel.json"
+ "$ref": "./examples/CancelOrderItem.json"
}
}
}
@@ -1194,26 +1208,15 @@
"x-ms-long-running-operation": true,
"x-ms-examples": {
"ReturnOrderItem": {
- "$ref": "./examples/OrderItemReturn.json"
+ "$ref": "./examples/ReturnOrderItem.json"
}
}
}
}
},
"definitions": {
- "AdditionalErrorInfo": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string"
- },
- "info": {
- "type": "object"
- }
- }
- },
"AddressDetails": {
- "description": "Address details for an order.",
+ "description": "Address details for an order item.",
"required": [
"forwardAddress"
],
@@ -1332,13 +1335,15 @@
"Available",
"ComingSoon",
"Preview",
- "Deprecated"
+ "Deprecated",
+ "Signup",
+ "Unavailable"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
"name": "AvailabilityStage",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
{
"value": "Available",
@@ -1355,6 +1360,14 @@
{
"value": "Deprecated",
"description": "Product is deprecated."
+ },
+ {
+ "value": "Signup",
+ "description": "Product is available only on signup."
+ },
+ {
+ "value": "Unavailable",
+ "description": "Product is not available."
}
]
}
@@ -1375,7 +1388,7 @@
"readOnly": true,
"x-ms-enum": {
"name": "DisabledReason",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
{
"value": "None",
@@ -1454,18 +1467,7 @@
},
"hierarchyInformation": {
"$ref": "#/definitions/HierarchyInformation",
- "description": "Hierarchy information of the product system.",
- "readOnly": true
- }
- }
- },
- "BillingModel": {
- "description": "Model to represent the billing cycle",
- "type": "object",
- "properties": {
- "model": {
- "description": "String to represent the billing model",
- "type": "string",
+ "description": "Hierarchy information of a product.",
"readOnly": true
}
}
@@ -1553,6 +1555,11 @@
"$ref": "#/definitions/Specification"
},
"readOnly": true
+ },
+ "dimensions": {
+ "$ref": "#/definitions/Dimensions",
+ "description": "Dimensions of the configuration",
+ "readOnly": true
}
}
},
@@ -1623,6 +1630,7 @@
},
"emailList": {
"description": "List of Email-ids to be notified about job progress.",
+ "uniqueItems": false,
"type": "array",
"items": {
"type": "string"
@@ -1668,13 +1676,14 @@
"description": "Represents Metering type (eg one-time or recurrent)",
"enum": [
"OneTime",
- "Recurring"
+ "Recurring",
+ "Adhoc"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
"name": "MeteringType",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
{
"value": "OneTime",
@@ -1683,6 +1692,10 @@
{
"value": "Recurring",
"description": "Recurring billing."
+ },
+ {
+ "value": "Adhoc",
+ "description": "Adhoc billing."
}
]
}
@@ -1707,7 +1720,7 @@
"readOnly": true,
"x-ms-enum": {
"name": "DescriptionType",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
{
"value": "Base",
@@ -1764,13 +1777,107 @@
"type": "string",
"readOnly": true
},
- "deviceHistory": {
- "description": "Device history",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "type": "string"
- },
+ "managementResourceId": {
+ "description": "Management Resource Id",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Dimensions": {
+ "description": "Dimensions of a configuration.",
+ "type": "object",
+ "properties": {
+ "length": {
+ "description": "Length of the device.",
+ "type": "number",
+ "format": "double",
+ "readOnly": true
+ },
+ "height": {
+ "description": "Height of the device.",
+ "type": "number",
+ "format": "double",
+ "readOnly": true
+ },
+ "width": {
+ "description": "Width of the device.",
+ "type": "number",
+ "format": "double",
+ "readOnly": true
+ },
+ "lengthHeightUnit": {
+ "description": "Unit for the dimensions of length, height and width.",
+ "enum": [
+ "IN",
+ "CM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "LengthHeightUnit",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "IN",
+ "description": "Inch, applicable for West US."
+ },
+ {
+ "value": "CM",
+ "description": "Centimeter."
+ }
+ ]
+ }
+ },
+ "weight": {
+ "description": "Weight of the device.",
+ "type": "number",
+ "format": "double",
+ "readOnly": true
+ },
+ "depth": {
+ "description": "Depth of the device.",
+ "type": "number",
+ "format": "double",
+ "readOnly": true
+ },
+ "weightUnit": {
+ "description": "Unit for the dimensions of weight.",
+ "enum": [
+ "LBS",
+ "KGS"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "WeightMeasurementUnit",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "LBS",
+ "description": "Pounds."
+ },
+ {
+ "value": "KGS",
+ "description": "Kilograms."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "DisplayInfo": {
+ "description": "Describes product display information",
+ "type": "object",
+ "properties": {
+ "productFamilyDisplayName": {
+ "description": "Product family display name",
+ "type": "string",
+ "readOnly": true
+ },
+ "configurationDisplayName": {
+ "description": "Configuration display name",
+ "type": "string",
"readOnly": true
}
}
@@ -1788,7 +1895,7 @@
"type": "string",
"x-ms-enum": {
"name": "DoubleEncryptionStatus",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
{
"value": "Disabled",
@@ -1799,12 +1906,13 @@
"description": "Double encryption is enabled"
}
]
- }
+ },
+ "default": "Disabled"
}
}
},
"FilterableProperty": {
- "description": "Class defining the list of filter values on a filter type as part of configuration request.",
+ "description": "Different types of filters supported and its values.",
"required": [
"type",
"supportedValues"
@@ -1820,7 +1928,7 @@
"type": "string",
"x-ms-enum": {
"name": "SupportedFilterTypes",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
{
"value": "ShipToCountries",
@@ -1880,7 +1988,7 @@
"readOnly": true,
"x-ms-enum": {
"name": "ImageType",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
{
"value": "MainImage",
@@ -1922,7 +2030,7 @@
"readOnly": true,
"x-ms-enum": {
"name": "LinkType",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
{
"value": "Generic",
@@ -1958,21 +2066,21 @@
}
}
},
- "ManagementResourceDetails": {
- "description": "Management resource details to link device",
+ "ManagementResourcePreferences": {
+ "description": "Management resource preference to link device",
"type": "object",
- "required": [
- "managementResourceArmId"
- ],
"properties": {
- "managementResourceArmId": {
- "description": "Management resource ARM ID",
+ "preferredManagementResourceId": {
+ "description": "Customer preferred Management resource ARM ID",
"type": "string"
}
}
},
"MeterDetails": {
"description": "Holds details about billing type and its meter guids",
+ "required": [
+ "billingType"
+ ],
"type": "object",
"properties": {
"billingType": {
@@ -1982,18 +2090,17 @@
"Purchase"
],
"type": "string",
- "readOnly": true,
"x-ms-enum": {
"name": "BillingType",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
{
"value": "Pav2",
- "description": "Pav2 billing type."
+ "description": "PaV2 billing."
},
{
"value": "Purchase",
- "description": "Purchase billing type."
+ "description": "Purchase billing."
}
]
}
@@ -2014,7 +2121,7 @@
"readOnly": true,
"x-ms-enum": {
"name": "ChargingType",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
{
"value": "PerOrder",
@@ -2028,7 +2135,7 @@
}
}
},
- "x-ms-discriminator-value": "billingType"
+ "discriminator": "billingType"
},
"NotificationPreference": {
"description": "Notification preference for a job stage.",
@@ -2041,41 +2148,21 @@
"stageName": {
"description": "Name of the stage.",
"enum": [
- "DevicePrepared",
"Shipped",
- "Delivered",
- "PickedUp",
- "AtAzureDC",
- "DataCopy"
+ "Delivered"
],
"type": "string",
"x-ms-enum": {
"name": "NotificationStageName",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
- {
- "value": "DevicePrepared",
- "description": "Notification at device prepared stage."
- },
{
"value": "Shipped",
- "description": "Notification at device dispatched stage."
+ "description": "Notification at order item shipped from microsoft datacenter."
},
{
"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."
+ "description": "Notification at order item delivered to customer."
}
]
}
@@ -2179,7 +2266,7 @@
"type": "string",
"x-ms-enum": {
"name": "OrderItemType",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
{
"value": "Purchase",
@@ -2234,7 +2321,7 @@
"readOnly": true
},
"cancellationStatus": {
- "description": "Describes whether the order is cancellable or not.",
+ "description": "Describes whether the orderItem is cancellable or not.",
"enum": [
"Cancellable",
"CancellableWithFee",
@@ -2244,7 +2331,7 @@
"readOnly": true,
"x-ms-enum": {
"name": "OrderItemCancellationEnum",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
{
"value": "Cancellable",
@@ -2271,7 +2358,7 @@
"readOnly": true,
"x-ms-enum": {
"name": "ActionStatusEnum",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
{
"value": "Allowed",
@@ -2290,7 +2377,7 @@
"readOnly": true
},
"returnStatus": {
- "description": "Describes whether the order item is returnable or not.",
+ "description": "Describes whether the orderItem is returnable or not.",
"enum": [
"Returnable",
"ReturnableWithFee",
@@ -2300,7 +2387,7 @@
"readOnly": true,
"x-ms-enum": {
"name": "OrderItemReturnEnum",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
{
"value": "Returnable",
@@ -2322,10 +2409,6 @@
"description": "parent RP details",
"readOnly": true
},
- "managementResourceDetails": {
- "$ref": "#/definitions/ManagementResourceDetails",
- "description": "Management resource details"
- },
"error": {
"$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail",
"description": "Top level error for the job.",
@@ -2348,7 +2431,7 @@
},
"addressDetails": {
"$ref": "#/definitions/AddressDetails",
- "description": "Represents shipping and return address for order"
+ "description": "Represents shipping and return address for order item"
},
"startTime": {
"format": "date-time",
@@ -2357,7 +2440,7 @@
"readOnly": true
},
"orderId": {
- "description": "Id of the order to which order items belongs to",
+ "description": "Id of the order to which order item belongs to",
"type": "string"
}
}
@@ -2387,7 +2470,7 @@
}
},
"OrderResourceList": {
- "description": "List of orders",
+ "description": "List of orders.",
"type": "object",
"properties": {
"value": {
@@ -2406,11 +2489,11 @@
}
},
"StageDetails": {
- "description": "Resource stage details",
+ "description": "Resource stage details.",
"type": "object",
"properties": {
"stageStatus": {
- "description": "Stage status",
+ "description": "Stage status.",
"enum": [
"None",
"InProgress",
@@ -2423,7 +2506,7 @@
"readOnly": true,
"x-ms-enum": {
"name": "StageStatus",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
{
"value": "None",
@@ -2455,80 +2538,25 @@
"stageName": {
"description": "Stage name",
"enum": [
- "DeviceOrdered",
- "DevicePrepared",
- "PickedUp",
- "AtAzureDC",
- "DataCopy",
- "Completed",
- "CompletedWithErrors",
- "Cancelled",
- "Aborted",
- "CompletedWithWarnings",
- "ReadyToDispatchFromAzureDC",
- "ReadyToReceiveAtAzureDC",
"Placed",
"InReview",
"Confirmed",
- "ReadyForDispatch",
+ "ReadyToShip",
"Shipped",
"Delivered",
- "InUse"
+ "InUse",
+ "ReturnInitiated",
+ "ReturnPickedUp",
+ "ReturnedToMicrosoft",
+ "ReturnCompleted",
+ "Cancelled"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
"name": "StageName",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
- {
- "value": "DeviceOrdered",
- "description": "An order has been created."
- },
- {
- "value": "DevicePrepared",
- "description": "A device has been prepared for 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": "Aborted",
- "description": "Order has been aborted."
- },
- {
- "value": "CompletedWithWarnings",
- "description": "Order has completed with warnings."
- },
- {
- "value": "ReadyToDispatchFromAzureDC",
- "description": "Device is ready to be handed to customer from Azure DC."
- },
- {
- "value": "ReadyToReceiveAtAzureDC",
- "description": "Device can be dropped off at Azure DC."
- },
{
"value": "Placed",
"description": "Currently in draft mode and can still be cancelled"
@@ -2542,8 +2570,8 @@
"description": "Order is confirmed"
},
{
- "value": "ReadyForDispatch",
- "description": "Order is ready for dispatch"
+ "value": "ReadyToShip",
+ "description": "Order is ready to ship"
},
{
"value": "Shipped",
@@ -2556,6 +2584,26 @@
{
"value": "InUse",
"description": "Order is in use at customer site"
+ },
+ {
+ "value": "ReturnInitiated",
+ "description": "Return has been initiated by customer."
+ },
+ {
+ "value": "ReturnPickedUp",
+ "description": "Order is in transit from customer to microsoft."
+ },
+ {
+ "value": "ReturnedToMicrosoft",
+ "description": "Order has been received back to microsoft."
+ },
+ {
+ "value": "ReturnCompleted",
+ "description": "Return has now completed."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Order has been cancelled."
}
]
}
@@ -2604,7 +2652,7 @@
"description": "Customer preference."
},
"notificationEmailList": {
- "description": "Customer preference.",
+ "description": "Additional notification email list.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -2615,6 +2663,9 @@
},
"Pav2MeterDetails": {
"description": "Billing type PAV2 meter details",
+ "required": [
+ "billingType"
+ ],
"type": "object",
"allOf": [
{
@@ -2649,6 +2700,10 @@
"encryptionPreferences": {
"$ref": "#/definitions/EncryptionPreferences",
"description": "Preferences related to the Encryption."
+ },
+ "managementResourcePreferences": {
+ "$ref": "#/definitions/ManagementResourcePreferences",
+ "description": "Preferences related to the Management resource."
}
}
},
@@ -2671,9 +2726,13 @@
],
"type": "object",
"properties": {
+ "displayInfo": {
+ "$ref": "#/definitions/DisplayInfo",
+ "description": "Display details of the product"
+ },
"hierarchyInformation": {
"$ref": "#/definitions/HierarchyInformation",
- "description": " Hierarchy of the product which uniquely identifies the product"
+ "description": "Hierarchy of the product which uniquely identifies the product"
},
"count": {
"format": "int32",
@@ -2852,6 +2911,9 @@
},
"PurchaseMeterDetails": {
"description": "Billing type Purchase meter details",
+ "required": [
+ "billingType"
+ ],
"type": "object",
"allOf": [
{
@@ -2973,7 +3035,7 @@
"type": "string",
"x-ms-enum": {
"name": "AddressType",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
{
"value": "None",
@@ -3089,7 +3151,7 @@
"type": "string",
"x-ms-enum": {
"name": "TransportShipmentTypes",
- "modelAsExtensible": true,
+ "modelAsString": true,
"values": [
{
"value": "CustomerManaged",
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressCreate.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressCreate.json
deleted file mode 100644
index 65d2dc2eb577..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressCreate.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "addressName": "TestMSAddressName",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName?api-version=2020-12-01-preview"
- ],
- "x-ms-client-tenant-id": [
- " 72f988bf-86f1-41af-91ab-2d7cd011db47"
- ],
- "Content-Type": [
- "application/json; charset=utf-8"
- ],
- "Content-Length": [
- "474"
- ],
- "addressResource": {
- "properties": {
- "shippingAddress": {
- "streetAddress1": "16 TOWNSEND ST",
- "streetAddress2": "UNIT 1",
- "city": "San Francisco",
- "stateOrProvince": "CA",
- "country": "US",
- "postalCode": "94107",
- "companyName": "Microsoft",
- "addressType": "None"
- },
- "contactDetails": {
- "contactName": "Petr Cech",
- "phone": "123344334",
- "phoneExtension": "",
- "emailList": [
- "ssemcr@microsoft.com"
- ]
- }
- },
- "location": "westus"
- }
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "shippingAddress": {
- "streetAddress1": "16 TOWNSEND ST",
- "streetAddress2": "UNIT 1",
- "streetAddress3": "",
- "city": "San Francisco",
- "stateOrProvince": "CA",
- "country": "US",
- "postalCode": "94107",
- "zipExtendedCode": "",
- "companyName": "Microsoft",
- "addressType": "None"
- },
- "contactDetails": {
- "contactName": "Petr Cech",
- "phone": "123344334",
- "phoneExtension": "",
- "emailList": [
- "ssemcr@microsoft.com"
- ]
- }
- },
- "location": "westus",
- "tags": {},
- "name": "TestMSAddressName",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName",
- "type": "Microsoft.EdgeOrder/addresses"
- }
- },
- "202": {}
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressGetByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressGetByName.json
deleted file mode 100644
index 08cd6cc1d054..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressGetByName.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "addressName": "TestMSAddressName",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName?api-version=2020-12-01-preview"
- ]
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "shippingAddress": {
- "streetAddress1": "16 TOWNSEND ST",
- "streetAddress2": "UNIT 1",
- "streetAddress3": "",
- "city": "San Francisco",
- "stateOrProvince": "CA",
- "country": "US",
- "postalCode": "94107",
- "zipExtendedCode": "",
- "companyName": "Microsoft",
- "addressType": "None"
- },
- "contactDetails": {
- "contactName": "Petr Cech",
- "phone": "123344334",
- "phoneExtension": "",
- "emailList": [
- "ssemcr@microsoft.com"
- ]
- }
- },
- "location": "westus",
- "tags": {},
- "name": "TestMSAddressName",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName",
- "type": "Microsoft.EdgeOrder/addresses"
- }
- }
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressPatch.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressPatch.json
deleted file mode 100644
index 1a80d21622ca..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressPatch.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "addressName": "TestAddressName2",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2?api-version=2020-12-01-preview"
- ],
- "Content-Type": [
- "application/json; charset=utf-8"
- ],
- "Content-Length": [
- "611"
- ],
- "addressUpdateParameter": {
- "properties": {
- "shippingAddress": {
- "streetAddress1": "16 TOWNSEND STT",
- "streetAddress2": "UNIT 1",
- "city": "San Francisco",
- "stateOrProvince": "CA",
- "country": "US",
- "postalCode": "94107",
- "companyName": "Microsoft",
- "addressType": "None"
- },
- "contactDetails": {
- "contactName": "Petr Cech",
- "phone": "123344335",
- "phoneExtension": "",
- "emailList": [
- "ssemcr@microsoft.com"
- ]
- }
- },
- "tags": {
- "Name": "Smile-Updated",
- "Work": "Engineering",
- "Hobby": "Web Series Added",
- "WhatElse": "Web Series Added"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "shippingAddress": {
- "streetAddress1": "16 TOWNSEND STT",
- "streetAddress2": "UNIT 1",
- "streetAddress3": "",
- "city": "San Francisco",
- "stateOrProvince": "CA",
- "country": "US",
- "postalCode": "94107",
- "zipExtendedCode": "",
- "companyName": "Microsoft",
- "addressType": "None"
- },
- "contactDetails": {
- "contactName": "Petr Cech",
- "phone": "123344335",
- "phoneExtension": "",
- "emailList": [
- "ssemcr@microsoft.com"
- ]
- }
- },
- "location": "westus",
- "tags": {
- "name": "Smile-Updated",
- "work": "Engineering",
- "hobby": "Web Series Added",
- "whatElse": "Web Series Added"
- },
- "name": "TestAddressName2",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2",
- "type": "Microsoft.EdgeOrder/addresses"
- }
- },
- "202": {}
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressesGetAtResourceGrouplevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressesGetAtResourceGrouplevel.json
deleted file mode 100644
index fd6f2625938d..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressesGetAtResourceGrouplevel.json
+++ /dev/null
@@ -1,111 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses?api-version=2020-12-01-preview"
- ]
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "shippingAddress": {
- "streetAddress1": "16 TOWNSEND ST",
- "streetAddress2": "UNIT 1",
- "streetAddress3": "",
- "city": "San Francisco",
- "stateOrProvince": "CA",
- "country": "US",
- "postalCode": "94107",
- "zipExtendedCode": "",
- "companyName": "Microsoft",
- "addressType": "None"
- },
- "contactDetails": {
- "contactName": "Petr Cech",
- "phone": "123344334",
- "phoneExtension": "",
- "emailList": [
- "ssemmail@microsoft.com",
- "vishwamdir@microsoft.com"
- ]
- }
- },
- "location": "westus",
- "tags": {},
- "name": "TestAddressName0",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName0",
- "type": "Microsoft.EdgeOrder/addresses"
- },
- {
- "properties": {
- "shippingAddress": {
- "streetAddress1": "16 TOWNSEND ST",
- "streetAddress2": "UNIT 1",
- "streetAddress3": "",
- "city": "San Francisco",
- "stateOrProvince": "CA",
- "country": "US",
- "postalCode": "94107",
- "zipExtendedCode": "",
- "companyName": "Microsoft",
- "addressType": "None"
- },
- "contactDetails": {
- "contactName": "Petr Cech",
- "phone": "123344334",
- "phoneExtension": "",
- "emailList": [
- "ssemmail@microsoft.com",
- "vishwamdir@microsoft.com"
- ]
- }
- },
- "location": "westus",
- "tags": {},
- "name": "TestAddressName2",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2",
- "type": "Microsoft.EdgeOrder/addresses"
- },
- {
- "properties": {
- "shippingAddress": {
- "streetAddress1": "16 TOWNSEND ST",
- "streetAddress2": "UNIT 1",
- "streetAddress3": "",
- "city": "San Francisco",
- "stateOrProvince": "CA",
- "country": "US",
- "postalCode": "94107",
- "zipExtendedCode": "",
- "companyName": "Microsoft",
- "addressType": "None"
- },
- "contactDetails": {
- "contactName": "Petr Cech",
- "phone": "123344334",
- "phoneExtension": "",
- "emailList": [
- "ssemmail@microsoft.com",
- "vishwamdir@microsoft.com"
- ]
- }
- },
- "location": "westus",
- "tags": {},
- "name": "TestMSAddressName",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName",
- "type": "Microsoft.EdgeOrder/addresses"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressesGetAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressesGetAtSubscriptionLevel.json
deleted file mode 100644
index 906cd01988d1..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressesGetAtSubscriptionLevel.json
+++ /dev/null
@@ -1,110 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/addresses?api-version=2020-12-01-preview"
- ]
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "shippingAddress": {
- "streetAddress1": "16 TOWNSEND ST",
- "streetAddress2": "UNIT 1",
- "streetAddress3": "",
- "city": "San Francisco",
- "stateOrProvince": "CA",
- "country": "US",
- "postalCode": "94107",
- "zipExtendedCode": "",
- "companyName": "Microsoft",
- "addressType": "None"
- },
- "contactDetails": {
- "contactName": "Petr Cech",
- "phone": "123344334",
- "phoneExtension": "",
- "emailList": [
- "ssemmail@microsoft.com",
- "vishwamdir@microsoft.com"
- ]
- }
- },
- "location": "westus",
- "tags": {},
- "name": "TestAddressName0",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName0",
- "type": "Microsoft.EdgeOrder/addresses"
- },
- {
- "properties": {
- "shippingAddress": {
- "streetAddress1": "16 TOWNSEND ST",
- "streetAddress2": "UNIT 1",
- "streetAddress3": "",
- "city": "San Francisco",
- "stateOrProvince": "CA",
- "country": "US",
- "postalCode": "94107",
- "zipExtendedCode": "",
- "companyName": "Microsoft",
- "addressType": "None"
- },
- "contactDetails": {
- "contactName": "Petr Cech",
- "phone": "123344334",
- "phoneExtension": "",
- "emailList": [
- "ssemmail@microsoft.com",
- "vishwamdir@microsoft.com"
- ]
- }
- },
- "location": "westus",
- "tags": {},
- "name": "TestAddressName2",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2",
- "type": "Microsoft.EdgeOrder/addresses"
- },
- {
- "properties": {
- "shippingAddress": {
- "streetAddress1": "16 TOWNSEND ST",
- "streetAddress2": "UNIT 1",
- "streetAddress3": "",
- "city": "San Francisco",
- "stateOrProvince": "CA",
- "country": "US",
- "postalCode": "94107",
- "zipExtendedCode": "",
- "companyName": "Microsoft",
- "addressType": "None"
- },
- "contactDetails": {
- "contactName": "Petr Cech",
- "phone": "123344334",
- "phoneExtension": "",
- "emailList": [
- "ssemmail@microsoft.com",
- "vishwamdir@microsoft.com"
- ]
- }
- },
- "location": "westus",
- "tags": {},
- "name": "TestMSAddressName",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName",
- "type": "Microsoft.EdgeOrder/addresses"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CancelOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CancelOrderItem.json
new file mode 100644
index 000000000000..c4fbeba689e0
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CancelOrderItem.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "orderItemName": "TestOrderItemName1",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1/cancel?api-version=2020-12-01-preview"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "34"
+ ],
+ "cancellationReason": {
+ "reason": "Order cancelled"
+ }
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateAddress.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateAddress.json
new file mode 100644
index 000000000000..7091395ecc29
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateAddress.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "addressName": "TestMSAddressName",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName?api-version=2020-12-01-preview"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "492"
+ ],
+ "addressResource": {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "testemail@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "testemail@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {},
+ "name": "TestMSAddressName",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName",
+ "type": "Microsoft.EdgeOrder/addresses"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateOrderItem.json
new file mode 100644
index 000000000000..3e016c585720
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateOrderItem.json
@@ -0,0 +1,167 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "orderItemName": "TestOrderItemName01",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2020-12-01-preview"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1358"
+ ],
+ "orderItemResource": {
+ "properties": {
+ "orderItemDetails": {
+ "orderItemType": "Purchase",
+ "productDetails": {
+ "hierarchyInformation": {
+ "productFamilyName": "AzureStackEdge",
+ "productLineName": "AzureStackEdge",
+ "productName": "AzureStackEdgeGPU",
+ "configurationName": "AzureStackEdgeGPU"
+ }
+ },
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ }
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "zipExtendedCode": "1",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "3213131190",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "displayInfo": {
+ "productFamilyDisplayName": "Azure Stack Edge",
+ "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "azurestackedgegpu"
+ },
+ "count": 0
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "InProgress",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T13:08:14.0368516+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "None",
+ "stageName": "Placed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyToShip"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Shipped"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Delivered"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "InUse"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "NotAllowed",
+ "returnStatus": "NotReturnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "3213131190",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-06-07T13:08:14.0368516+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressDelete.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/DeleteAddressByName.json
similarity index 100%
rename from specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressDelete.json
rename to specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/DeleteAddressByName.json
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemDelete.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/DeleteOrderItemByName.json
similarity index 100%
rename from specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemDelete.json
rename to specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/DeleteOrderItemByName.json
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetAddressByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetAddressByName.json
new file mode 100644
index 000000000000..16cb0dde1138
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetAddressByName.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "addressName": "TestMSAddressName",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName?api-version=2020-12-01-preview"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemcr@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {},
+ "name": "TestMSAddressName",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName",
+ "type": "Microsoft.EdgeOrder/addresses"
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderByName.json
index 738be350815f..82066cc1e357 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderByName.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderByName.json
@@ -20,22 +20,20 @@
"/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901"
],
"currentStage": {
- "stageStatus": "InProgress",
+ "stageStatus": "Succeeded",
"stageName": "InReview",
- "startTime": "0001-01-01T05:30:00+05:30"
+ "startTime": "2021-06-07T15:30:35.4512229+05:30"
},
"orderStageHistory": [
{
- "stageStatus": "None",
- "stageName": "InReview"
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T15:24:58.7140341+05:30"
},
{
- "stageStatus": "None",
- "stageName": "Placed"
- },
- {
- "stageStatus": "None",
- "stageName": "Confirmed"
+ "stageStatus": "Succeeded",
+ "stageName": "InReview",
+ "startTime": "2021-06-07T15:30:35.4512229+05:30"
}
]
},
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderItemByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderItemByName.json
new file mode 100644
index 000000000000..85de2d37da04
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderItemByName.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "orderItemName": "TestOrderItemName01",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2020-12-01-preview"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "displayInfo": {
+ "productFamilyDisplayName": "Azure Stack Edge",
+ "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "azurestackedgegpu"
+ },
+ "count": 0
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "InProgress",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T13:08:14.0368516+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "None",
+ "stageName": "Placed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyToShip"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Shipped"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Delivered"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "InUse"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "NotAllowed",
+ "returnStatus": "NotReturnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "3213131190",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-06-07T13:08:14.0368516+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListAddressesAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListAddressesAtResourceGroupLevel.json
new file mode 100644
index 000000000000..cbe1be06b530
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListAddressesAtResourceGroupLevel.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses?api-version=2020-12-01-preview"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemmail@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {},
+ "name": "TestAddressName0",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName0",
+ "type": "Microsoft.EdgeOrder/addresses"
+ },
+ {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemmail@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {},
+ "name": "TestAddressName2",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2",
+ "type": "Microsoft.EdgeOrder/addresses"
+ },
+ {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemmail@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {},
+ "name": "TestMSAddressName",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName",
+ "type": "Microsoft.EdgeOrder/addresses"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListAddressesAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListAddressesAtSubscriptionLevel.json
new file mode 100644
index 000000000000..ac679cf1f5ee
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListAddressesAtSubscriptionLevel.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/addresses?api-version=2020-12-01-preview"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemmail@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {},
+ "name": "TestAddressName0",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName0",
+ "type": "Microsoft.EdgeOrder/addresses"
+ },
+ {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemmail@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {},
+ "name": "TestAddressName2",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2",
+ "type": "Microsoft.EdgeOrder/addresses"
+ },
+ {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemcr@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {},
+ "name": "TestMSAddressName",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName",
+ "type": "Microsoft.EdgeOrder/addresses"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListConfigurations.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListConfigurations.json
index c5a992c23441..0c8ee5d37571 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListConfigurations.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListConfigurations.json
@@ -12,15 +12,15 @@
"application/json; charset=utf-8"
],
"Content-Length": [
- "498"
+ "396"
],
"configurationsRequest": {
"configurationFilters": [
{
"hierarchyInformation": {
- "productFamilyName": "azurestackedge",
- "productLineName": "azure stack edge_pl",
- "productName": "azure stack edge pro - gpu"
+ "productFamilyName": "AzureStackEdge",
+ "productLineName": "AzureStackEdge",
+ "productName": "AzureStackEdgeGPU"
},
"filterableProperty": [
{
@@ -28,12 +28,6 @@
"supportedValues": [
"US"
]
- },
- {
- "type": "DoubleEncryptionStatus",
- "supportedValues": [
- "Enabled"
- ]
}
]
}
@@ -48,50 +42,60 @@
"properties": {
"specifications": [
{
- "name": "Cores",
- "value": "24"
+ "name": "Usable compute",
+ "value": "40 vCPU"
},
{
- "name": "Memory",
- "value": "128 GB"
+ "name": "Usable memory",
+ "value": "102 GB"
},
{
- "name": "Storage",
- "value": "~8 TB"
+ "name": "Usable storage",
+ "value": "4.2 TB"
}
],
+ "dimensions": {
+ "length": 50.0,
+ "height": 15.0,
+ "width": 5.0,
+ "lengthHeightUnit": "IN",
+ "weight": 50.0,
+ "depth": 2.0,
+ "weightUnit": "LBS"
+ },
"filterableProperties": [
{
"type": "ShipToCountries",
"supportedValues": [
"US",
- "UK"
- ]
- },
- {
- "type": "DoubleEncryptionStatus",
- "supportedValues": [
- "Enabled"
+ "AR"
]
}
],
- "displayName": "azurestackedgepro-gpu 1 GPU",
+ "displayName": "Azure Stack Edge Pro - 1 GPU",
"description": {
"descriptionType": "Base",
- "keywords": [],
+ "shortDescription": "",
+ "longDescription": "",
+ "keywords": [
+ "GPU"
+ ],
"attributes": [],
"links": []
},
"imageInformation": [],
+ "costInformation": {
+ "billingMeterDetails": []
+ },
"availabilityInformation": {
"availabilityStage": "Available",
"disabledReason": "None"
},
"hierarchyInformation": {
"productFamilyName": "azurestackedge",
- "productLineName": "azure stack edge_pl",
- "productName": "azure stack edge pro - gpu",
- "configurationName": "azurestackedgepro-gpu1 gpu"
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "edgep_base"
}
}
}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOperations.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOperations.json
index 8cde9566cb92..eb2a98405b2a 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOperations.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOperations.json
@@ -71,9 +71,9 @@
"name": "Microsoft.EdgeOrder/locations/orders/read",
"display": {
"provider": "Edge Ordering",
- "resource": "ArmApiRes_orders",
- "operation": "List or Get ArmApiRes_orders",
- "description": "List or get the ArmApiRes_orders"
+ "resource": "Order",
+ "operation": "List or Get Order",
+ "description": "List or get the Order"
},
"origin": "user",
"isDataAction": false
@@ -82,9 +82,9 @@
"name": "Microsoft.EdgeOrder/orders/read",
"display": {
"provider": "Edge Ordering",
- "resource": "ArmApiRes_orders",
- "operation": "List or Get ArmApiRes_orders",
- "description": "List or get the ArmApiRes_orders"
+ "resource": "Order",
+ "operation": "List or Get Order",
+ "description": "List or get the Order"
},
"origin": "user",
"isDataAction": false
@@ -93,27 +93,31 @@
"name": "Microsoft.EdgeOrder/orderItems/cancel/action",
"display": {
"provider": "Edge Ordering",
- "resource": "ArmApiRes_orderItems"
+ "resource": "OrderItem",
+ "operation": "Cancel OrderItem",
+ "description": "Cancels an OrderItem in progress."
},
"origin": "user",
- "isDataAction": true
+ "isDataAction": false
},
{
"name": "Microsoft.EdgeOrder/orderItems/return/action",
"display": {
"provider": "Edge Ordering",
- "resource": "ArmApiRes_orderItems"
+ "resource": "OrderItem",
+ "operation": "Return OrderItem",
+ "description": "Return an OrderItem."
},
"origin": "user",
- "isDataAction": true
+ "isDataAction": false
},
{
"name": "Microsoft.EdgeOrder/orderItems/read",
"display": {
"provider": "Edge Ordering",
- "resource": "ArmApiRes_orderItems",
- "operation": "List or Get ArmApiRes_orderItems",
- "description": "List or get the ArmApiRes_orderItems"
+ "resource": "OrderItem",
+ "operation": "List or Get OrderItem",
+ "description": "List or get the OrderItem"
},
"origin": "user",
"isDataAction": false
@@ -122,9 +126,9 @@
"name": "Microsoft.EdgeOrder/orderItems/delete",
"display": {
"provider": "Edge Ordering",
- "resource": "ArmApiRes_orderItems",
- "operation": "Delete ArmApiRes_orderItems",
- "description": "Delete the ArmApiRes_orderItems"
+ "resource": "OrderItem",
+ "operation": "Delete OrderItem",
+ "description": "Delete the OrderItem"
},
"origin": "user",
"isDataAction": false
@@ -133,9 +137,9 @@
"name": "Microsoft.EdgeOrder/orderItems/write",
"display": {
"provider": "Edge Ordering",
- "resource": "ArmApiRes_orderItems",
- "operation": "Create or Update ArmApiRes_orderItems",
- "description": "Create or update the ArmApiRes_orderItems"
+ "resource": "OrderItem",
+ "operation": "Create or Update OrderItem",
+ "description": "Create or update the OrderItem"
},
"origin": "user",
"isDataAction": false
@@ -144,28 +148,34 @@
"name": "Microsoft.EdgeOrder/productFamiliesMetadata/action",
"display": {
"provider": "Edge Ordering",
- "resource": "ArmApiRes_Microsoft.EdgeOrder"
+ "resource": "ArmApiRes_Microsoft.EdgeOrder",
+ "operation": "List or Get product families metadata",
+ "description": "This method lists or gets the product families metadata."
},
"origin": "user",
- "isDataAction": true
+ "isDataAction": false
},
{
"name": "Microsoft.EdgeOrder/listProductFamilies/read",
"display": {
"provider": "Edge Ordering",
- "resource": "ArmApiRes_Microsoft.EdgeOrder"
+ "resource": "ArmApiRes_Microsoft.EdgeOrder",
+ "operation": "List Product Families",
+ "description": "This method returns list of product families."
},
"origin": "user",
- "isDataAction": true
+ "isDataAction": false
},
{
"name": "Microsoft.EdgeOrder/listConfigurations/action",
"display": {
"provider": "Edge Ordering",
- "resource": "ArmApiRes_Microsoft.EdgeOrder"
+ "resource": "ArmApiRes_Microsoft.EdgeOrder",
+ "operation": "List Product Configurations",
+ "description": "This method returns list of product configurations."
},
"origin": "user",
- "isDataAction": true
+ "isDataAction": false
}
]
}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtResourceGroupLevel.json
index 7654a1353a00..8a1964ba7fc7 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtResourceGroupLevel.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtResourceGroupLevel.json
@@ -20,22 +20,20 @@
"/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901"
],
"currentStage": {
- "stageStatus": "InProgress",
+ "stageStatus": "Succeeded",
"stageName": "InReview",
- "startTime": "0001-01-01T05:30:00+05:30"
+ "startTime": "2021-06-07T13:13:35.0789537+05:30"
},
"orderStageHistory": [
{
- "stageStatus": "None",
- "stageName": "InReview"
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T13:08:16.3198555+05:30"
},
{
- "stageStatus": "None",
- "stageName": "Placed"
- },
- {
- "stageStatus": "None",
- "stageName": "Confirmed"
+ "stageStatus": "Succeeded",
+ "stageName": "InReview",
+ "startTime": "2021-06-07T13:13:35.0789537+05:30"
}
]
},
@@ -49,22 +47,20 @@
"/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01"
],
"currentStage": {
- "stageStatus": "InProgress",
+ "stageStatus": "Succeeded",
"stageName": "InReview",
- "startTime": "0001-01-01T05:30:00+05:30"
+ "startTime": "2021-06-07T13:19:40.9984759+05:30"
},
"orderStageHistory": [
{
- "stageStatus": "None",
- "stageName": "InReview"
- },
- {
- "stageStatus": "None",
- "stageName": "Placed"
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T13:14:39.9413253+05:30"
},
{
- "stageStatus": "None",
- "stageName": "Confirmed"
+ "stageStatus": "Succeeded",
+ "stageName": "InReview",
+ "startTime": "2021-06-07T13:19:40.9984759+05:30"
}
]
},
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtSubscriptionLevel.json
index e9088e13d141..8cae0bc5af33 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtSubscriptionLevel.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtSubscriptionLevel.json
@@ -19,22 +19,20 @@
"/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901"
],
"currentStage": {
- "stageStatus": "InProgress",
+ "stageStatus": "Succeeded",
"stageName": "InReview",
- "startTime": "0001-01-01T05:30:00+05:30"
+ "startTime": "2021-06-07T13:13:35.0789537+05:30"
},
"orderStageHistory": [
{
- "stageStatus": "None",
- "stageName": "InReview"
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T13:08:16.3198555+05:30"
},
{
- "stageStatus": "None",
- "stageName": "Placed"
- },
- {
- "stageStatus": "None",
- "stageName": "Confirmed"
+ "stageStatus": "Succeeded",
+ "stageName": "InReview",
+ "startTime": "2021-06-07T13:13:35.0789537+05:30"
}
]
},
@@ -48,22 +46,20 @@
"/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01"
],
"currentStage": {
- "stageStatus": "InProgress",
+ "stageStatus": "Succeeded",
"stageName": "InReview",
- "startTime": "0001-01-01T05:30:00+05:30"
+ "startTime": "2021-06-07T13:19:40.9984759+05:30"
},
"orderStageHistory": [
{
- "stageStatus": "None",
- "stageName": "InReview"
- },
- {
- "stageStatus": "None",
- "stageName": "Placed"
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T13:14:39.9413253+05:30"
},
{
- "stageStatus": "None",
- "stageName": "Confirmed"
+ "stageStatus": "Succeeded",
+ "stageName": "InReview",
+ "startTime": "2021-06-07T13:19:40.9984759+05:30"
}
]
},
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtResourceGroupLevel.json
new file mode 100644
index 000000000000..a453c1898744
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtResourceGroupLevel.json
@@ -0,0 +1,209 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems?api-version=2020-12-01-preview"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "displayInfo": {
+ "productFamilyDisplayName": "Azure Stack Edge",
+ "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "azurestackedgegpu"
+ },
+ "count": 0
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T12:29:33.9791927+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T12:29:33.9791927+05:30"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyToShip"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Shipped"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Delivered"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "InUse"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "NotAllowed",
+ "returnStatus": "NotReturnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "3213131190",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-06-07T12:29:25.6656282+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName901",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ },
+ {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "displayInfo": {
+ "productFamilyDisplayName": "Azure Stack Edge",
+ "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "azurestackedgegpu"
+ },
+ "count": 0
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T12:49:48.8869361+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T12:31:07.7430555+05:30"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyToShip"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Shipped"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Delivered"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "InUse"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "NotAllowed",
+ "returnStatus": "NotReturnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "32131311",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-06-07T12:31:06.1244193+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtSubscriptionLevel.json
new file mode 100644
index 000000000000..744cc6c30d9f
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtSubscriptionLevel.json
@@ -0,0 +1,207 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/orderItems?api-version=2020-12-01-preview"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "displayInfo": {
+ "productFamilyDisplayName": "Azure Stack Edge",
+ "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "azurestackedgegpu"
+ },
+ "count": 0
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T12:29:33.9791927+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T12:29:33.9791927+05:30"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyToShip"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Shipped"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Delivered"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "InUse"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "NotAllowed",
+ "returnStatus": "NotReturnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "3213131190",
+ "emailList": [
+ "testemail@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-06-07T12:29:25.6656282+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName901",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ },
+ {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "displayInfo": {
+ "productFamilyDisplayName": "Azure Stack Edge",
+ "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "azurestackedgegpu"
+ },
+ "count": 0
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T12:49:48.8869361+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T12:31:07.7430555+05:30"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyToShip"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Shipped"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Delivered"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "InUse"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "NotAllowed",
+ "returnStatus": "NotReturnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "32131311",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-06-07T12:31:06.1244193+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamilies.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamilies.json
index 38b2fd23a071..93dc08d1792e 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamilies.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamilies.json
@@ -12,7 +12,7 @@
"application/json; charset=utf-8"
],
"Content-Length": [
- "174"
+ "181"
],
"productFamiliesRequest": {
"filterableProperties": {
@@ -20,8 +20,7 @@
{
"type": "ShipToCountries",
"supportedValues": [
- "US",
- "UK"
+ "US"
]
}
]
@@ -45,50 +44,59 @@
"properties": {
"specifications": [
{
- "name": "Cores",
- "value": "24"
+ "name": "Usable compute",
+ "value": "40 vCPU"
},
{
- "name": "Memory",
- "value": "128 GB"
+ "name": "Usable memory",
+ "value": "102 GB"
},
{
- "name": "Storage",
- "value": "~8 TB"
+ "name": "Usable storage",
+ "value": "4.2 TB"
}
],
+ "dimensions": {
+ "length": 50.0,
+ "height": 15.0,
+ "width": 5.0,
+ "lengthHeightUnit": "IN",
+ "weight": 50.0,
+ "depth": 2.0,
+ "weightUnit": "LBS"
+ },
"filterableProperties": [
{
"type": "ShipToCountries",
"supportedValues": [
- "US",
- "UK"
- ]
- },
- {
- "type": "DoubleEncryptionStatus",
- "supportedValues": [
- "Disabled"
+ "US"
]
}
],
- "displayName": "Azure Stack Edge Pro - R 3 GPU",
+ "displayName": "Azure Stack Edge Pro - 1 GPU",
"description": {
"descriptionType": "Base",
- "keywords": [],
+ "shortDescription": "",
+ "longDescription": "",
+ "keywords": [
+ "GPU"
+ ],
"attributes": [],
"links": []
},
"imageInformation": [],
+ "costInformation": {
+ "billingMeterDetails": []
+ },
"availabilityInformation": {
"availabilityStage": "Available",
"disabledReason": "None"
},
"hierarchyInformation": {
"productFamilyName": "azurestackedge",
- "productLineName": "azure stack edge_pl",
- "productName": "azure stack edge pro - r",
- "configurationName": "azure stack edge pro - r 3 gpu"
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "edgep_base"
}
}
}
@@ -97,69 +105,51 @@
{
"type": "ShipToCountries",
"supportedValues": [
- "US",
- "UK"
- ]
- },
- {
- "type": "DoubleEncryptionStatus",
- "supportedValues": [
- "Enabled"
+ "US"
]
}
],
- "displayName": "Azure Stack Edge Pro - R",
+ "displayName": "Azure Stack Edge Pro - GPU",
"description": {
"descriptionType": "Base",
- "shortDescription": "Rugged physical edge compute device",
- "longDescription": "Azure Stack Edge is an AI-enabled edge computing device with network data transfer capabilities. The device is powered with Intel Aria to provide accelerated AI inferencing at the edge. You can choose from the available configurations with one or two FPGAs basis your business need",
+ "shortDescription": "Azure managed physical edge compute device",
+ "longDescription": "Azure Stack Edge is an AI-enabled edge computing device with network data transfer capabilities. The device is powered with NVIDIA T4 GPUs to provide accelerated AI inferencing at the edge. You can choose from the available configurations with one or two GPUs basis your business need",
"keywords": [
- "Edge",
- "FPGA"
+ "GPU"
],
"attributes": [
- "1U device shipped by Microsoft",
- "Hardware accelerated ML using Intel ARIA FPGA"
+ "1U rack mount device with network data transfer capabilities",
+ "Hardware accelerated ML using Nvidia T4 GPU",
+ "Azure Private Edge Zones enabled"
],
"links": [
+ {
+ "linkType": "Specification",
+ "linkUrl": "https://aka.ms/ase-gpu-devicespecs"
+ },
+ {
+ "linkType": "Generic",
+ "linkUrl": "https://aka.ms/ase-gpu-billing"
+ },
{
"linkType": "TermsAndConditions",
- "linkUrl": "https://aka.mx/tc"
+ "linkUrl": "https://aka.ms/ase-gpu-product-terms"
},
{
"linkType": "KnowMore",
- "linkUrl": "https://aka.mx/knowmore"
+ "linkUrl": "https://aka.ms/ase-documentation"
}
]
},
- "imageInformation": [
- {
- "imageType": "MainImage",
- "imageUrl": "https://xyz.com"
- },
- {
- "imageType": "BulletImage",
- "imageUrl": "https://abc.com"
- },
- {
- "imageType": "GenericImage",
- "imageUrl": "https://xyz.com/1"
- },
- {
- "imageType": "GenericImage",
- "imageUrl": "https://abc.com/1"
- }
- ],
- "costInformation": {},
+ "imageInformation": [],
"availabilityInformation": {
- "availabilityStage": "ComingSoon",
- "disabledReason": "NotAvailable",
- "disabledReasonMessage": "Device is not available yet"
+ "availabilityStage": "Available",
+ "disabledReason": "None"
},
"hierarchyInformation": {
"productFamilyName": "azurestackedge",
- "productLineName": "azure stack edge_pl",
- "productName": "azure stack edge pro - r",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
"configurationName": ""
}
}
@@ -169,18 +159,11 @@
{
"type": "ShipToCountries",
"supportedValues": [
- "US",
- "UK"
- ]
- },
- {
- "type": "DoubleEncryptionStatus",
- "supportedValues": [
- "Enabled"
+ "US"
]
}
],
- "displayName": "Azure Stack Edge_Pl",
+ "displayName": "Azure Stack Edge",
"description": {
"descriptionType": "Base",
"keywords": [],
@@ -194,28 +177,13 @@
},
"hierarchyInformation": {
"productFamilyName": "azurestackedge",
- "productLineName": "azure stack edge_pl",
+ "productLineName": "azurestackedge",
"productName": "",
"configurationName": ""
}
}
}
],
- "filterableProperties": [
- {
- "type": "ShipToCountries",
- "supportedValues": [
- "US",
- "UK"
- ]
- },
- {
- "type": "DoubleEncryptionStatus",
- "supportedValues": [
- "Enabled"
- ]
- }
- ],
"displayName": "Azure Stack Edge",
"description": {
"descriptionType": "Base",
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamiliesMetadata.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamiliesMetadata.json
index 67240b8f6d75..5aadcaf2d601 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamiliesMetadata.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamiliesMetadata.json
@@ -15,6 +15,21 @@
"value": [
{
"properties": {
+ "productLines": [],
+ "filterableProperties": [
+ {
+ "type": "ShipToCountries",
+ "supportedValues": [
+ "US"
+ ]
+ },
+ {
+ "type": "DoubleEncryptionStatus",
+ "supportedValues": [
+ "Enabled"
+ ]
+ }
+ ],
"displayName": "Azure Stack Edge",
"description": {
"descriptionType": "Base",
@@ -23,20 +38,16 @@
"links": []
},
"imageInformation": [],
- "costInformation": {},
"availabilityInformation": {
"availabilityStage": "Available",
"disabledReason": "None"
},
- "filterableProperties": [
- {
- "type": "ShipToCountries",
- "supportedValues": [
- "US",
- "UK"
- ]
- }
- ]
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "",
+ "productName": "",
+ "configurationName": ""
+ }
}
}
]
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemCancel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemCancel.json
deleted file mode 100644
index 4776fefb2196..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemCancel.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "orderItemName": "TestOrderName1",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1/cancel?api-version=2020-12-01-preview"
- ],
- "Content-Type": [
- "application/json; charset=utf-8"
- ],
- "Content-Length": [
- "34"
- ],
- "cancellationReason": {
- "reason": "Order cancelled"
- }
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemCreate.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemCreate.json
deleted file mode 100644
index 745a4512e6de..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemCreate.json
+++ /dev/null
@@ -1,156 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "orderItemName": "TestOrderItemName01",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2020-12-01-preview"
- ],
- "Content-Type": [
- "application/json; charset=utf-8"
- ],
- "Content-Length": [
- "1388"
- ],
- "orderItemResource": {
- "properties": {
- "orderItemDetails": {
- "orderItemType": "Purchase",
- "productDetails": {
- "hierarchyInformation": {
- "productFamilyName": "azurestackedge",
- "productLineName": "Azure Stack Edge_Pl",
- "productName": "Azure Stack Edge Pro - FPGA",
- "configurationName": "Azure Stack Edge Pro - FPGA 1 GPU"
- }
- },
- "preferences": {
- "transportPreferences": {
- "preferredShipmentType": "MicrosoftManaged"
- }
- }
- },
- "addressDetails": {
- "forwardAddress": {
- "shippingAddress": {
- "streetAddress1": "16 townsend st",
- "streetAddress2": "unit 1",
- "city": "san francisco",
- "stateOrProvince": "ca",
- "country": "us",
- "postalCode": "94107",
- "companyName": "microsoft",
- "zipExtendedCode": "1",
- "addressType": "Residential"
- },
- "contactDetails": {
- "contactName": "164 TOWNSEND ST",
- "phone": "32131311",
- "emailList": [
- "ssemmail@microsoft.com",
- "vishwamdir@microsoft.com"
- ]
- }
- }
- },
- "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
- },
- "tags": {
- "mango": "fruit",
- "carrot": "vegetable"
- },
- "location": "westus"
- }
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "orderItemDetails": {
- "productDetails": {
- "hierarchyInformation": {
- "productFamilyName": "azurestackedge",
- "productLineName": "azure stack edge_pl",
- "productName": "azure stack edge pro - fpga",
- "configurationName": "azure stack edge pro - fpga 1 gpu"
- },
- "count": 0,
- "deviceDetails": []
- },
- "orderItemType": "Purchase",
- "currentStage": {
- "stageStatus": "InProgress",
- "stageName": "InReview",
- "startTime": "2021-03-24T15:17:13.1376775+05:30"
- },
- "orderItemStageHistory": [
- {
- "stageStatus": "None",
- "stageName": "InReview"
- },
- {
- "stageStatus": "None",
- "stageName": "Placed"
- },
- {
- "stageStatus": "None",
- "stageName": "Confirmed"
- },
- {
- "stageStatus": "None",
- "stageName": "ReadyForDispatch"
- }
- ],
- "preferences": {
- "transportPreferences": {
- "preferredShipmentType": "MicrosoftManaged"
- }
- },
- "notificationEmailList": [],
- "cancellationStatus": "Cancellable",
- "deletionStatus": "Allowed",
- "returnStatus": "Returnable"
- },
- "addressDetails": {
- "forwardAddress": {
- "shippingAddress": {
- "streetAddress1": "16 TOWNSEND ST",
- "streetAddress2": "UNIT 1",
- "city": "San Francisco",
- "stateOrProvince": "CA",
- "country": "US",
- "postalCode": "94107",
- "zipExtendedCode": "1",
- "companyName": "Microsoft",
- "addressType": "Residential"
- },
- "contactDetails": {
- "contactName": "164 TOWNSEND ST",
- "phone": "32131311",
- "emailList": [
- "ssemmail@microsoft.com",
- "vishwamdir@microsoft.com"
- ]
- }
- }
- },
- "startTime": "2021-03-24T15:17:13.1376775+05:30",
- "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
- },
- "location": "westus",
- "tags": {
- "mango": "fruit",
- "carrot": "vegetable"
- },
- "name": "TestOrderItemName01",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
- "type": "Microsoft.EdgeOrder/orderItems"
- }
- },
- "202": {}
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGet.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGet.json
deleted file mode 100644
index 9257bae6e814..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGet.json
+++ /dev/null
@@ -1,100 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "orderItemName": "TestOrderItemName01",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2020-12-01-preview"
- ]
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "orderItemDetails": {
- "productDetails": {
- "hierarchyInformation": {
- "productFamilyName": "azurestackedge",
- "productLineName": "azure stack edge_pl",
- "productName": "azure stack edge pro - fpga",
- "configurationName": "azure stack edge pro - fpga 1 gpu"
- },
- "count": 0,
- "deviceDetails": []
- },
- "orderItemType": "Purchase",
- "currentStage": {
- "stageStatus": "InProgress",
- "stageName": "InReview",
- "startTime": "2021-03-24T15:17:13.1376775+05:30"
- },
- "orderItemStageHistory": [
- {
- "stageStatus": "None",
- "stageName": "InReview"
- },
- {
- "stageStatus": "None",
- "stageName": "Placed"
- },
- {
- "stageStatus": "None",
- "stageName": "Confirmed"
- },
- {
- "stageStatus": "None",
- "stageName": "ReadyForDispatch"
- }
- ],
- "preferences": {
- "transportPreferences": {
- "preferredShipmentType": "MicrosoftManaged"
- }
- },
- "notificationEmailList": [],
- "cancellationStatus": "Cancellable",
- "deletionStatus": "Allowed",
- "returnStatus": "Returnable"
- },
- "addressDetails": {
- "forwardAddress": {
- "shippingAddress": {
- "streetAddress1": "16 TOWNSEND ST",
- "streetAddress2": "UNIT 1",
- "city": "San Francisco",
- "stateOrProvince": "CA",
- "country": "US",
- "postalCode": "94107",
- "zipExtendedCode": "1",
- "companyName": "Microsoft",
- "addressType": "Residential"
- },
- "contactDetails": {
- "contactName": "164 TOWNSEND ST",
- "phone": "32131311",
- "emailList": [
- "ssemmail@microsoft.com",
- "vishwamdir@microsoft.com"
- ]
- }
- }
- },
- "startTime": "2021-03-24T15:17:13.1376775+05:30",
- "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
- },
- "location": "westus",
- "tags": {
- "mango": "fruit",
- "carrot": "vegetable"
- },
- "name": "TestOrderItemName01",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
- "type": "Microsoft.EdgeOrder/orderItems"
- }
- }
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGetByRG.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGetByRG.json
deleted file mode 100644
index 58b12efd0a25..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGetByRG.json
+++ /dev/null
@@ -1,185 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems?api-version=2020-12-01-preview"
- ]
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "orderItemDetails": {
- "productDetails": {
- "hierarchyInformation": {
- "productFamilyName": "azurestackedge",
- "productLineName": "azure stack edge_pl",
- "productName": "azure stack edge pro - fpga",
- "configurationName": "azure stack edge pro - fpga 1 gpu"
- },
- "count": 0,
- "deviceDetails": []
- },
- "orderItemType": "Purchase",
- "currentStage": {
- "stageStatus": "InProgress",
- "stageName": "InReview",
- "startTime": "2021-03-24T15:13:04.0758106+05:30"
- },
- "orderItemStageHistory": [
- {
- "stageStatus": "None",
- "stageName": "InReview"
- },
- {
- "stageStatus": "None",
- "stageName": "Placed"
- },
- {
- "stageStatus": "None",
- "stageName": "Confirmed"
- },
- {
- "stageStatus": "None",
- "stageName": "ReadyForDispatch"
- }
- ],
- "preferences": {
- "transportPreferences": {
- "preferredShipmentType": "MicrosoftManaged"
- }
- },
- "notificationEmailList": [],
- "cancellationStatus": "Cancellable",
- "deletionStatus": "Allowed",
- "returnStatus": "Returnable"
- },
- "addressDetails": {
- "forwardAddress": {
- "shippingAddress": {
- "streetAddress1": "16 TOWNSEND ST",
- "streetAddress2": "UNIT 1",
- "city": "San Francisco",
- "stateOrProvince": "CA",
- "country": "US",
- "postalCode": "94107",
- "zipExtendedCode": "1",
- "companyName": "Microsoft",
- "addressType": "Residential"
- },
- "contactDetails": {
- "contactName": "164 TOWNSEND ST",
- "phone": "32131311",
- "emailList": [
- "ssemmail@microsoft.com",
- "vishwamdir@microsoft.com"
- ]
- }
- }
- },
- "startTime": "2021-03-24T15:13:04.0758106+05:30",
- "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901"
- },
- "location": "westus",
- "tags": {
- "mango": "fruit",
- "carrot": "vegetable"
- },
- "name": "TestOrderItemName901",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901",
- "type": "Microsoft.EdgeOrder/orderItems"
- },
- {
- "properties": {
- "orderItemDetails": {
- "productDetails": {
- "hierarchyInformation": {
- "productFamilyName": "azurestackedge",
- "productLineName": "azure stack edge_pl",
- "productName": "azure stack edge pro - fpga",
- "configurationName": "azure stack edge pro - fpga 1 gpu"
- },
- "count": 0,
- "deviceDetails": []
- },
- "orderItemType": "Purchase",
- "currentStage": {
- "stageStatus": "InProgress",
- "stageName": "InReview",
- "startTime": "2021-03-24T15:17:13.1376775+05:30"
- },
- "orderItemStageHistory": [
- {
- "stageStatus": "None",
- "stageName": "InReview"
- },
- {
- "stageStatus": "None",
- "stageName": "Placed"
- },
- {
- "stageStatus": "None",
- "stageName": "Confirmed"
- },
- {
- "stageStatus": "None",
- "stageName": "ReadyForDispatch"
- }
- ],
- "preferences": {
- "transportPreferences": {
- "preferredShipmentType": "MicrosoftManaged"
- }
- },
- "notificationEmailList": [],
- "cancellationStatus": "Cancellable",
- "deletionStatus": "Allowed",
- "returnStatus": "Returnable"
- },
- "addressDetails": {
- "forwardAddress": {
- "shippingAddress": {
- "streetAddress1": "16 TOWNSEND ST",
- "streetAddress2": "UNIT 1",
- "city": "San Francisco",
- "stateOrProvince": "CA",
- "country": "US",
- "postalCode": "94107",
- "zipExtendedCode": "1",
- "companyName": "Microsoft",
- "addressType": "Residential"
- },
- "contactDetails": {
- "contactName": "164 TOWNSEND ST",
- "phone": "32131311",
- "emailList": [
- "ssemmail@microsoft.com",
- "vishwamdir@microsoft.com"
- ]
- }
- }
- },
- "startTime": "2021-03-24T15:17:13.1376775+05:30",
- "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
- },
- "location": "westus",
- "tags": {
- "mango": "fruit",
- "carrot": "vegetable"
- },
- "name": "TestOrderItemName01",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
- "type": "Microsoft.EdgeOrder/orderItems"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGetBySubscription.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGetBySubscription.json
deleted file mode 100644
index 672cd69fff94..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGetBySubscription.json
+++ /dev/null
@@ -1,184 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/orderItems?api-version=2020-12-01-preview"
- ]
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "orderItemDetails": {
- "productDetails": {
- "hierarchyInformation": {
- "productFamilyName": "azurestackedge",
- "productLineName": "azure stack edge_pl",
- "productName": "azure stack edge pro - fpga",
- "configurationName": "azure stack edge pro - fpga 1 gpu"
- },
- "count": 0,
- "deviceDetails": []
- },
- "orderItemType": "Purchase",
- "currentStage": {
- "stageStatus": "InProgress",
- "stageName": "InReview",
- "startTime": "2021-03-24T15:13:04.0758106+05:30"
- },
- "orderItemStageHistory": [
- {
- "stageStatus": "None",
- "stageName": "InReview"
- },
- {
- "stageStatus": "None",
- "stageName": "Placed"
- },
- {
- "stageStatus": "None",
- "stageName": "Confirmed"
- },
- {
- "stageStatus": "None",
- "stageName": "ReadyForDispatch"
- }
- ],
- "preferences": {
- "transportPreferences": {
- "preferredShipmentType": "MicrosoftManaged"
- }
- },
- "notificationEmailList": [],
- "cancellationStatus": "Cancellable",
- "deletionStatus": "Allowed",
- "returnStatus": "Returnable"
- },
- "addressDetails": {
- "forwardAddress": {
- "shippingAddress": {
- "streetAddress1": "16 TOWNSEND ST",
- "streetAddress2": "UNIT 1",
- "city": "San Francisco",
- "stateOrProvince": "CA",
- "country": "US",
- "postalCode": "94107",
- "zipExtendedCode": "1",
- "companyName": "Microsoft",
- "addressType": "Residential"
- },
- "contactDetails": {
- "contactName": "164 TOWNSEND ST",
- "phone": "32131311",
- "emailList": [
- "ssemmail@microsoft.com",
- "vishwamdir@microsoft.com"
- ]
- }
- }
- },
- "startTime": "2021-03-24T15:13:04.0758106+05:30",
- "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901"
- },
- "location": "westus",
- "tags": {
- "mango": "fruit",
- "carrot": "vegetable"
- },
- "name": "TestOrderItemName901",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901",
- "type": "Microsoft.EdgeOrder/orderItems"
- },
- {
- "properties": {
- "orderItemDetails": {
- "productDetails": {
- "hierarchyInformation": {
- "productFamilyName": "azurestackedge",
- "productLineName": "azure stack edge_pl",
- "productName": "azure stack edge pro - fpga",
- "configurationName": "azure stack edge pro - fpga 1 gpu"
- },
- "count": 0,
- "deviceDetails": []
- },
- "orderItemType": "Purchase",
- "currentStage": {
- "stageStatus": "InProgress",
- "stageName": "InReview",
- "startTime": "2021-03-24T15:17:13.1376775+05:30"
- },
- "orderItemStageHistory": [
- {
- "stageStatus": "None",
- "stageName": "InReview"
- },
- {
- "stageStatus": "None",
- "stageName": "Placed"
- },
- {
- "stageStatus": "None",
- "stageName": "Confirmed"
- },
- {
- "stageStatus": "None",
- "stageName": "ReadyForDispatch"
- }
- ],
- "preferences": {
- "transportPreferences": {
- "preferredShipmentType": "MicrosoftManaged"
- }
- },
- "notificationEmailList": [],
- "cancellationStatus": "Cancellable",
- "deletionStatus": "Allowed",
- "returnStatus": "Returnable"
- },
- "addressDetails": {
- "forwardAddress": {
- "shippingAddress": {
- "streetAddress1": "16 TOWNSEND ST",
- "streetAddress2": "UNIT 1",
- "city": "San Francisco",
- "stateOrProvince": "CA",
- "country": "US",
- "postalCode": "94107",
- "zipExtendedCode": "1",
- "companyName": "Microsoft",
- "addressType": "Residential"
- },
- "contactDetails": {
- "contactName": "164 TOWNSEND ST",
- "phone": "32131311",
- "emailList": [
- "ssemmail@microsoft.com",
- "vishwamdir@microsoft.com"
- ]
- }
- }
- },
- "startTime": "2021-03-24T15:17:13.1376775+05:30",
- "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
- },
- "location": "westus",
- "tags": {
- "mango": "fruit",
- "carrot": "vegetable"
- },
- "name": "TestOrderItemName01",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
- "type": "Microsoft.EdgeOrder/orderItems"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemUpdate.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemUpdate.json
deleted file mode 100644
index 7d6e178ba412..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemUpdate.json
+++ /dev/null
@@ -1,119 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "orderItemName": "TestOrderItemName01",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2020-12-01-preview"
- ],
- "Content-Type": [
- "application/json; charset=utf-8"
- ],
- "Content-Length": [
- "493"
- ],
- "orderItemUpdateParameter": {
- "properties": {
- "forwardAddress": {
- "contactDetails": {
- "contactName": "Updated contact name",
- "phone": "22222",
- "emailList": [
- "testemail@microsoft.com"
- ]
- }
- },
- "preferences": {
- "transportPreferences": {
- "preferredShipmentType": "CustomerManaged"
- }
- }
- },
- "tags": {
- "pigeon": "bird",
- "tiger": "animal",
- "ant": "insect"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "orderItemDetails": {
- "productDetails": {
- "hierarchyInformation": {
- "productFamilyName": "azurestackedge",
- "productLineName": "azure stack edge_pl",
- "productName": "azure stack edge pro - fpga",
- "configurationName": "azure stack edge pro - fpga 1 gpu"
- },
- "count": 0,
- "deviceDetails": []
- },
- "orderItemType": "Purchase",
- "currentStage": {
- "stageStatus": "InProgress",
- "stageName": "InReview",
- "startTime": "2021-03-24T15:17:13.1376775+05:30"
- },
- "orderItemStageHistory": [
- {
- "stageStatus": "None",
- "stageName": "InReview"
- },
- {
- "stageStatus": "None",
- "stageName": "Placed"
- },
- {
- "stageStatus": "None",
- "stageName": "Confirmed"
- },
- {
- "stageStatus": "None",
- "stageName": "ReadyForDispatch"
- }
- ],
- "preferences": {
- "transportPreferences": {
- "preferredShipmentType": "CustomerManaged"
- }
- },
- "notificationEmailList": [],
- "cancellationStatus": "Cancellable",
- "deletionStatus": "Allowed",
- "returnStatus": "Returnable"
- },
- "addressDetails": {
- "forwardAddress": {
- "contactDetails": {
- "contactName": "Updated contact name",
- "phone": "22222",
- "emailList": [
- "testemail@microsoft.com"
- ]
- }
- }
- },
- "startTime": "2021-03-24T15:17:13.1376775+05:30",
- "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
- },
- "location": "westus",
- "tags": {
- "pigeon": "bird",
- "tiger": "animal",
- "ant": "insect"
- },
- "name": "TestOrderItemName01",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
- "type": "Microsoft.EdgeOrder/orderItems"
- }
- },
- "202": {}
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemReturn.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ReturnOrderItem.json
similarity index 100%
rename from specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemReturn.json
rename to specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ReturnOrderItem.json
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateAddress.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateAddress.json
new file mode 100644
index 000000000000..d97d12d9ceae
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateAddress.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "addressName": "TestAddressName2",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2?api-version=2020-12-01-preview"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "612"
+ ],
+ "addressUpdateParameter": {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND STT",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemcr@microsoft.com"
+ ]
+ }
+ },
+ "tags": {
+ "Name": "Smile-Updated",
+ "Work": "Engineering",
+ "Hobby": "Web Series Added",
+ "WhatElse": "Web Series Added"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND STT",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemcr@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "name": "Smile-Updated",
+ "work": "Engineering",
+ "hobby": "Web Series Added",
+ "whatElse": "Web Series Added"
+ },
+ "name": "TestAddressName2",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2",
+ "type": "Microsoft.EdgeOrder/addresses"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateOrderItem.json
new file mode 100644
index 000000000000..e2103d6a1000
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateOrderItem.json
@@ -0,0 +1,142 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "orderItemName": "TestOrderItemName01",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2020-12-01-preview"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "533"
+ ],
+ "orderItemUpdateParameter": {
+ "properties": {
+ "forwardAddress": {
+ "contactDetails": {
+ "contactName": "Updated contact name",
+ "phone": "2222200000",
+ "emailList": [
+ "testemail@microsoft.com"
+ ]
+ }
+ },
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "CustomerManaged"
+ }
+ }
+ },
+ "tags": {
+ "pigeon": "bird",
+ "tiger": "animal",
+ "ant": "insect"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "displayInfo": {
+ "productFamilyDisplayName": "Azure Stack Edge",
+ "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "azurestackedgegpu"
+ },
+ "count": 0
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T13:14:40.0815406+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T13:14:40.0815406+05:30"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyToShip"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Shipped"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Delivered"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "InUse"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "CustomerManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "NotAllowed",
+ "returnStatus": "NotReturnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "Updated contact name",
+ "phone": "2222200000",
+ "emailList": [
+ "testemail@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-06-07T13:14:37.4649597+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "location": "westus",
+ "tags": {
+ "pigeon": "bird",
+ "tiger": "animal",
+ "ant": "insect"
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/readme.go.md b/specification/edgeorder/resource-manager/readme.go.md
new file mode 100644
index 000000000000..cc32eb1019e9
--- /dev/null
+++ b/specification/edgeorder/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_MIT_NO_VERSION
+ clear-output-folder: true
+ namespace: edgeorder
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-12-preview
+```
+
+### Tag: package-2020-12-preview and go
+
+These settings apply only when `--tag=package-2020-12-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2020-12-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-12-01-preview/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/edgeorder/resource-manager/readme.md b/specification/edgeorder/resource-manager/readme.md
index f20620ade6ec..b35e7a45fbe2 100644
--- a/specification/edgeorder/resource-manager/readme.md
+++ b/specification/edgeorder/resource-manager/readme.md
@@ -25,7 +25,8 @@ To see additional help and options, run:
These are the global settings for the EdgeOrder API.
``` yaml
-title: Edge Order API's
+title: EdgeOrderManagementClient
+description: Edge Order API's
openapi-type: arm
tag: package-2020-12-preview
```
@@ -38,4 +39,40 @@ These settings apply only when `--tag=package-2020-12-preview` is specified on t
input-file:
- Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json
```
----
\ No newline at end of file
+---
+# Code Generation
+
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-net
+ - repo: azure-sdk-for-python-track2
+ - repo: azure-sdk-for-go
+```
+
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.Azure.Management.EdgeOrder
+ output-folder: $(csharp-sdks-folder)/edgeorder/Microsoft.Azure.Management.EdgeOrder/src/Generated
+ clear-output-folder: true
+```
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
\ No newline at end of file
diff --git a/specification/edgeorder/resource-manager/readme.python.md b/specification/edgeorder/resource-manager/readme.python.md
new file mode 100644
index 000000000000..91a7c02645b3
--- /dev/null
+++ b/specification/edgeorder/resource-manager/readme.python.md
@@ -0,0 +1,24 @@
+## 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.
+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-edgeorder
+no-namespace-folders: true
+package-version: 1.0.0b1
+clear-output-folder: true
+```
+
+```yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/edgeorder/azure-mgmt-edgeorder/azure/mgmt/edgeorder
+```
+
+```yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/edgeorder/azure-mgmt-edgeorder
\ No newline at end of file
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/elastic.json b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/elastic.json
new file mode 100644
index 000000000000..04870dd910e8
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/elastic.json
@@ -0,0 +1,1569 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft.Elastic",
+ "version": "2020-07-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.Elastic/operations": {
+ "get": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "List all operations provided by Microsoft.Elastic.",
+ "operationId": "Operations_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Elastic/monitors": {
+ "get": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "List all monitors under the specified subscription.",
+ "operationId": "Monitors_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ElasticMonitorResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Monitors_List": {
+ "$ref": "./examples/Monitors_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors": {
+ "get": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "List all monitors under the specified resource group.",
+ "operationId": "Monitors_ListByResourceGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ElasticMonitorResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Monitors_ListByResourceGroup": {
+ "$ref": "./examples/Monitors_ListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}": {
+ "get": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "Get the properties of a specific monitor resource.",
+ "operationId": "Monitors_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ElasticMonitorResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Monitors_Get": {
+ "$ref": "./examples/Monitors_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "Create a monitor resource.",
+ "operationId": "Monitors_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Elastic monitor resource model",
+ "schema": {
+ "$ref": "#/definitions/ElasticMonitorResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ElasticMonitorResource"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ElasticMonitorResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Monitors_Create": {
+ "$ref": "./examples/Monitors_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "Update a monitor resource.",
+ "operationId": "Monitors_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Elastic resource model update parameters.",
+ "schema": {
+ "$ref": "#/definitions/ElasticMonitorResourceUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ElasticMonitorResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Monitors_Update": {
+ "$ref": "./examples/Monitors_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "Delete a monitor resource.",
+ "operationId": "Monitors_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Success"
+ },
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Monitors_Delete": {
+ "$ref": "./examples/Monitors_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/listMonitoredResources": {
+ "post": {
+ "tags": [
+ "MonitoredResources"
+ ],
+ "summary": "List the resources currently being monitored by the Elastic monitor resource.",
+ "operationId": "MonitoredResources_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MonitoredResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "MonitoredResources_List": {
+ "$ref": "./examples/MonitoredResources_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/listDeploymentInfo": {
+ "post": {
+ "tags": [
+ "DeploymentInfo"
+ ],
+ "summary": "Fetch information regarding Elastic cloud deployment corresponding to the Elastic monitor resource.",
+ "operationId": "DeploymentInfo_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeploymentInfoResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeploymentInfo_List": {
+ "$ref": "./examples/DeploymentInfo_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/tagRules": {
+ "get": {
+ "tags": [
+ "Rules"
+ ],
+ "summary": "List the tag rules for a given monitor resource.",
+ "operationId": "TagRules_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MonitoringTagRulesListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "TagRules_List": {
+ "$ref": "./examples/TagRules_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/tagRules/{ruleSetName}": {
+ "put": {
+ "tags": [
+ "Rules"
+ ],
+ "summary": "Create or update a tag rule set for a given monitor resource.",
+ "operationId": "TagRules_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RuleSetNameParameter"
+ },
+ {
+ "description": "request body of MonitoringTagRules",
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/MonitoringTagRules"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MonitoringTagRules"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TagRules_CreateOrUpdate": {
+ "$ref": "./examples/TagRules_CreateOrUpdate.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Rules"
+ ],
+ "summary": "Get a tag rule set for a given monitor resource.",
+ "operationId": "TagRules_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RuleSetNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MonitoringTagRules"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TagRules_Get": {
+ "$ref": "./examples/TagRules_Get.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Rules"
+ ],
+ "summary": "Delete a tag rule set for a given monitor resource.",
+ "operationId": "TagRules_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RuleSetNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Success"
+ },
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "TagRules_Delete": {
+ "$ref": "./examples/TagRules_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/listVMHost": {
+ "post": {
+ "tags": [
+ "VMHHostList"
+ ],
+ "summary": "List the vm resources currently being monitored by the Elastic monitor resource.",
+ "operationId": "VMHost_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VMHostListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "VMHost_List": {
+ "$ref": "./examples/VMHost_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/vmIngestionDetails": {
+ "post": {
+ "tags": [
+ "VMIngestionDetails"
+ ],
+ "summary": "List the vm ingestion details that will be monitored by the Elastic monitor resource.",
+ "operationId": "VMIngestion_Details",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VMIngestionDetailsResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "VMIngestion_Details": {
+ "$ref": "./examples/VMIngestion_Details.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/vmCollectionUpdate": {
+ "post": {
+ "tags": [
+ "VMCollectionUpdate"
+ ],
+ "summary": "Update the vm details that will be monitored by the Elastic monitor resource.",
+ "operationId": "VMCollection_Update",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "VM resource Id",
+ "schema": {
+ "$ref": "#/definitions/VMCollectionUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "VMCollection_Update": {
+ "$ref": "./examples/VMCollection_Update.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponseBody": {
+ "description": "Error response body.",
+ "title": "ErrorResponseBody",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Error target.",
+ "type": "string"
+ },
+ "details": {
+ "description": "Error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResponseBody"
+ }
+ }
+ }
+ },
+ "ResourceProviderDefaultErrorResponse": {
+ "description": "RP default error response.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "Response body of Error",
+ "readOnly": true,
+ "$ref": "#/definitions/ErrorResponseBody"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "The object that represents the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Service provider, i.e., Microsoft.Elastic.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Type on which the operation is performed, e.g., 'monitors'.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type, e.g., read, write, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation, e.g., 'Write monitors'.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationResult": {
+ "description": "A Microsoft.Elastic REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name, i.e., {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "$ref": "#/definitions/OperationDisplay"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of GET request to list the Microsoft.Elastic operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of operations supported by the Microsoft.Elastic provider.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationResult"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of operation list results if there are any.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceSku": {
+ "description": "Microsoft.Elastic SKU.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the SKU.",
+ "type": "string"
+ }
+ }
+ },
+ "ProvisioningState": {
+ "enum": [
+ "Accepted",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Deleted",
+ "NotSpecified"
+ ],
+ "type": "string",
+ "description": "Provisioning state of Elastic resource.",
+ "title": "ProvisioningState",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ProvisioningState"
+ }
+ },
+ "MonitoringStatus": {
+ "description": "Flag specifying if the resource monitoring is enabled or disabled.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "MonitoringStatus"
+ }
+ },
+ "ElasticCloudUser": {
+ "description": "Details of the user's elastic account.",
+ "type": "object",
+ "properties": {
+ "emailAddress": {
+ "description": "Email of the Elastic User Account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "User Id of the elastic account of the User.",
+ "type": "string",
+ "readOnly": true
+ },
+ "elasticCloudSsoDefaultUrl": {
+ "description": "Elastic cloud default dashboard sso URL of the Elastic user account.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ElasticCloudDeployment": {
+ "description": "Details of the user's elastic deployment associated with the monitor resource.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Elastic deployment name",
+ "type": "string",
+ "readOnly": true
+ },
+ "deploymentId": {
+ "description": "Elastic deployment Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "azureSubscriptionId": {
+ "description": "Associated Azure subscription Id for the elastic deployment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "elasticsearchRegion": {
+ "description": "Region where Deployment at Elastic side took place.",
+ "type": "string",
+ "readOnly": true
+ },
+ "elasticsearchServiceUrl": {
+ "description": "Elasticsearch ingestion endpoint of the Elastic deployment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "kibanaServiceUrl": {
+ "description": "Kibana endpoint of the Elastic deployment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "kibanaSsoUrl": {
+ "description": "Kibana dashboard sso URL of the Elastic deployment.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ElasticProperties": {
+ "description": "Elastic Resource Properties.",
+ "type": "object",
+ "properties": {
+ "elasticCloudUser": {
+ "description": "Details of the user's elastic account.",
+ "$ref": "#/definitions/ElasticCloudUser"
+ },
+ "elasticCloudDeployment": {
+ "description": "Details of the elastic cloud deployment.",
+ "$ref": "#/definitions/ElasticCloudDeployment"
+ }
+ }
+ },
+ "CompanyInfo": {
+ "description": "Company information of the user to be passed to partners.",
+ "type": "object",
+ "properties": {
+ "domain": {
+ "description": "Domain of the company",
+ "maxLength": 250,
+ "type": "string"
+ },
+ "business": {
+ "description": "Business of the company",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "employeesNumber": {
+ "description": "Number of employees in the company",
+ "maxLength": 20,
+ "type": "string"
+ },
+ "state": {
+ "description": "State of the company location.",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "country": {
+ "description": "Country of the company location.",
+ "maxLength": 50,
+ "type": "string"
+ }
+ }
+ },
+ "UserInfo": {
+ "description": "User Information to be passed to partners.",
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "description": "First name of the user",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "lastName": {
+ "description": "Last name of the user",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "companyName": {
+ "description": "Company name of the user",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "emailAddress": {
+ "description": "Email of the user used by Elastic for contacting them if needed",
+ "pattern": "^([^<>()\\[\\]\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\"]+)*)@(([a-zA-Z-_0-9]+\\.)+[a-zA-Z]{2,})$",
+ "type": "string"
+ },
+ "companyInfo": {
+ "description": "Company information of the user to be passed to partners.",
+ "$ref": "#/definitions/CompanyInfo"
+ }
+ }
+ },
+ "LiftrResourceCategories": {
+ "enum": [
+ "Unknown",
+ "MonitorLogs"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "LiftrResourceCategories"
+ },
+ "readOnly": true
+ },
+ "MonitorProperties": {
+ "description": "Properties specific to the monitor resource.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the monitor resource.",
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "monitoringStatus": {
+ "description": "Flag specifying if the resource monitoring is enabled or disabled.",
+ "$ref": "#/definitions/MonitoringStatus"
+ },
+ "elasticProperties": {
+ "description": "Elastic cloud properties.",
+ "$ref": "#/definitions/ElasticProperties"
+ },
+ "userInfo": {
+ "description": "User information.",
+ "$ref": "#/definitions/UserInfo",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "liftrResourceCategory": {
+ "$ref": "#/definitions/LiftrResourceCategories"
+ },
+ "liftrResourcePreference": {
+ "description": "The priority of the resource.",
+ "format": "int32",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagedIdentityTypes": {
+ "enum": [
+ "SystemAssigned"
+ ],
+ "type": "string",
+ "description": "Managed Identity types.",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ManagedIdentityTypes"
+ }
+ },
+ "IdentityProperties": {
+ "description": "Identity properties.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The identity ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "The tenant ID of resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Managed identity type.",
+ "$ref": "#/definitions/ManagedIdentityTypes"
+ }
+ }
+ },
+ "ElasticMonitorResource": {
+ "description": "Monitor resource.",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "ARM id of the monitor resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the monitor resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the monitor resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sku": {
+ "description": "SKU of the monitor resource.",
+ "$ref": "#/definitions/ResourceSku"
+ },
+ "properties": {
+ "description": "Properties of the monitor resource.",
+ "$ref": "#/definitions/MonitorProperties",
+ "x-ms-client-flatten": false
+ },
+ "identity": {
+ "description": "Identity properties of the monitor resource.",
+ "$ref": "#/definitions/IdentityProperties"
+ },
+ "tags": {
+ "description": "The tags of the monitor resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "location": {
+ "description": "The location of the monitor resource",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system metadata relating to this resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "ElasticMonitorResourceListResponse": {
+ "description": "Response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Results of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElasticMonitorResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results, if any.",
+ "type": "string"
+ }
+ }
+ },
+ "ElasticMonitorResourceUpdateParameters": {
+ "description": "Monitor resource update parameters.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "elastic monitor resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SendingLogs": {
+ "enum": [
+ "True",
+ "False"
+ ],
+ "type": "string",
+ "description": "Flag indicating the status of the resource for sending logs operation to Elastic.",
+ "title": "SendingLogs",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "SendingLogs"
+ }
+ },
+ "MonitoredResource": {
+ "description": "The properties of a resource currently being monitored by the Elastic monitor resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ARM id of the resource.",
+ "type": "string"
+ },
+ "sendingLogs": {
+ "description": "Flag indicating the status of the resource for sending logs operation to Elastic.",
+ "$ref": "#/definitions/SendingLogs"
+ },
+ "reasonForLogsStatus": {
+ "description": "Reason for why the resource is sending logs (or why it is not sending).",
+ "type": "string"
+ }
+ }
+ },
+ "MonitoredResourceListResponse": {
+ "description": "Response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Results of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MonitoredResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results, if any.",
+ "type": "string"
+ }
+ }
+ },
+ "TagAction": {
+ "description": "Valid actions for a filtering tag. Exclusion takes priority over inclusion.",
+ "enum": [
+ "Include",
+ "Exclude"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "TagAction"
+ }
+ },
+ "FilteringTag": {
+ "description": "The definition of a filtering tag. Filtering tags are used for capturing resources and include/exclude them from being monitored.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name (also known as the key) of the tag.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of the tag.",
+ "type": "string"
+ },
+ "action": {
+ "description": "Valid actions for a filtering tag.",
+ "$ref": "#/definitions/TagAction"
+ }
+ }
+ },
+ "LogRules": {
+ "description": "Set of rules for sending logs for the Monitor resource.",
+ "type": "object",
+ "properties": {
+ "sendAadLogs": {
+ "description": "Flag specifying if AAD logs should be sent for the Monitor resource.",
+ "type": "boolean"
+ },
+ "sendSubscriptionLogs": {
+ "description": "Flag specifying if subscription logs should be sent for the Monitor resource.",
+ "type": "boolean"
+ },
+ "sendActivityLogs": {
+ "description": "Flag specifying if activity logs from Azure resources should be sent for the Monitor resource.",
+ "type": "boolean"
+ },
+ "filteringTags": {
+ "description": "List of filtering tags to be used for capturing logs. This only takes effect if SendActivityLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FilteringTag"
+ }
+ }
+ }
+ },
+ "MonitoringTagRulesProperties": {
+ "description": "Definition of the properties for a TagRules resource.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the monitoring tag rules.",
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "logRules": {
+ "description": "Rules for sending logs.",
+ "$ref": "#/definitions/LogRules"
+ }
+ }
+ },
+ "MonitoringTagRules": {
+ "description": "Capture logs and metrics of Azure resources based on ARM tags.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "name": {
+ "description": "Name of the rule set.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "The id of the rule set.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the rule set.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Properties of the monitoring tag rules.",
+ "$ref": "#/definitions/MonitoringTagRulesProperties",
+ "x-ms-client-flatten": false
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system metadata relating to this resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "MonitoringTagRulesListResponse": {
+ "description": "Response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Results of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MonitoringTagRules"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results, if any.",
+ "type": "string"
+ }
+ }
+ },
+ "ElasticDeploymentStatus": {
+ "description": "Flag specifying if the Elastic deployment status is healthy or not.",
+ "enum": [
+ "Healthy",
+ "Unhealthy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ElasticDeploymentStatus"
+ }
+ },
+ "DeploymentInfoResponse": {
+ "description": "The properties of deployment in Elastic cloud corresponding to the Elastic monitor resource.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The Elastic deployment status.",
+ "$ref": "#/definitions/ElasticDeploymentStatus",
+ "readOnly": true
+ },
+ "version": {
+ "description": "Version of the elasticsearch in Elastic cloud deployment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "memoryCapacity": {
+ "description": "RAM capacity of the elasticsearch in Elastic cloud deployment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskCapacity": {
+ "description": "Disk capacity of the elasticsearch in Elastic cloud deployment.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "VMHostListResponse": {
+ "description": "Response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Results of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMResources"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next Vm resource Id, if any.",
+ "type": "string"
+ }
+ }
+ },
+ "VMResources": {
+ "description": "The vm resource properties that is currently being monitored by the Elastic monitor resource.",
+ "type": "object",
+ "properties": {
+ "vmResourceId": {
+ "description": "The ARM id of the VM resource.",
+ "type": "string"
+ }
+ }
+ },
+ "VMIngestionDetailsResponse": {
+ "description": "The vm ingestion details to install an agent.",
+ "type": "object",
+ "properties": {
+ "cloudId": {
+ "description": "The cloudId of given Elastic monitor resource.",
+ "type": "string"
+ },
+ "ingestionKey": {
+ "description": "Ingestion details to install agent on given VM.",
+ "type": "string",
+ "x-ms-secret": true
+ }
+ }
+ },
+ "OperationName": {
+ "enum": [
+ "Add",
+ "Delete"
+ ],
+ "type": "string",
+ "description": "Operation to be performed on the given vm resource id.",
+ "title": "OperationName",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "OperationName"
+ }
+ },
+ "VMCollectionUpdate": {
+ "description": "Update VM resource collection.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "vmResourceId": {
+ "description": "ARM id of the VM resource.",
+ "type": "string"
+ },
+ "operationName": {
+ "description": "Operation to be performed for given VM.",
+ "$ref": "#/definitions/OperationName"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API version to be used with the HTTP request.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2020-07-01"
+ ]
+ },
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group to which the Elastic resource belongs.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "MonitorNameParameter": {
+ "in": "path",
+ "name": "monitorName",
+ "description": "Monitor resource name",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "RuleSetNameParameter": {
+ "in": "path",
+ "name": "ruleSetName",
+ "description": "Tag Rule Set resource name",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/DeploymentInfo_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/DeploymentInfo_List.json
new file mode 100644
index 000000000000..c82d18490286
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/DeploymentInfo_List.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "Healthy",
+ "version": "7.9.3",
+ "memoryCapacity": "1024",
+ "diskCapacity": "245760"
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/MonitoredResources_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/MonitoredResources_List.json
new file mode 100644
index 000000000000..4ca83243930d
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/MonitoredResources_List.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVault",
+ "sendingLogs": "True",
+ "reasonForLogsStatus": "CapturedByRules"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_Create.json b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_Create.json
new file mode 100644
index 000000000000..4132739b074a
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_Create.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "requestBody": {
+ "name": "myMonitor",
+ "sku": {
+ "name": "free_Monthly"
+ },
+ "properties": {
+ "userInfo": {
+ "firstName": "Alice",
+ "lastName": "Bob",
+ "companyName": "Microsoft",
+ "emailAddress": "alice@microsoft.com",
+ "companyInfo": {
+ "domain": "microsoft.com",
+ "business": "Technology",
+ "employeeNumber": "10000",
+ "state": "WA",
+ "country": "US"
+ }
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.Elastic/monitors",
+ "sku": {
+ "name": "free_Monthly"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "elasticProperties": {
+ "elasticCloudUser": {
+ "emailAddress": "alice@microsoft.com",
+ "id": "myid123",
+ "elasticCloudSsoDefaultUrl": "https://examplessourl.com"
+ },
+ "elasticCloudDeployment": {
+ "name": "deploymentname",
+ "deploymentId": "deployment_id",
+ "azureSubscriptionId": "00000000-0000-0000-0000-000000000000",
+ "elasticsearchRegion": "azure-westus2",
+ "elasticsearchServiceUrl": "https://elasticsearchendpoint.com",
+ "kibanaServiceUrl": "https://kibanaserviceurl.com",
+ "kibanaSsoUrl": "https://kibanssourl.com"
+ }
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.Elastic/monitors",
+ "sku": {
+ "name": "free_Monthly"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "monitoringStatus": "Enabled",
+ "elasticProperties": {
+ "elasticCloudUser": {
+ "emailAddress": "alice@microsoft.com",
+ "id": "myid123",
+ "elasticCloudSsoDefaultUrl": "https://examplessourl.com"
+ },
+ "elasticCloudDeployment": {
+ "name": "deploymentname",
+ "deploymentId": "deployment_id",
+ "azureSubscriptionId": "00000000-0000-0000-0000-000000000000",
+ "elasticsearchRegion": "azure-westus2",
+ "elasticsearchServiceUrl": "https://elasticsearchendpoint.com",
+ "kibanaServiceUrl": "https://kibanaserviceurl.com",
+ "kibanaSsoUrl": "https://kibanssourl.com"
+ }
+ },
+ "liftrResourceCategory": "MonitorLogs",
+ "liftrResourcePreference": 0
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_Delete.json b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_Delete.json
new file mode 100644
index 000000000000..b755053252d3
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_Get.json b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_Get.json
new file mode 100644
index 000000000000..2eaac9e3f6e4
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_Get.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.Elastic/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled",
+ "elasticProperties": {
+ "elasticCloudUser": {
+ "emailAddress": "alice@microsoft.com",
+ "id": "myid123",
+ "elasticCloudSsoDefaultUrl": "https://examplessourl.com"
+ },
+ "elasticCloudDeployment": {
+ "name": "deploymentname",
+ "deploymentId": "deployment_id",
+ "azureSubscriptionId": "00000000-0000-0000-0000-000000000000",
+ "elasticsearchRegion": "azure-westus2",
+ "elasticsearchServiceUrl": "https://elasticsearchendpoint.com",
+ "kibanaServiceUrl": "https://kibanaserviceurl.com",
+ "kibanaSsoUrl": "https://kibanssourl.com"
+ }
+ },
+ "liftrResourceCategory": "MonitorLogs",
+ "liftrResourcePreference": 0
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_List.json
new file mode 100644
index 000000000000..791cbdb1dab3
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_List.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.Elastic/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled",
+ "elasticProperties": {
+ "elasticCloudUser": {
+ "emailAddress": "alice@microsoft.com",
+ "id": "myid123",
+ "elasticCloudSsoDefaultUrl": "https://examplessourl.com"
+ },
+ "elasticCloudDeployment": {
+ "name": "deploymentname",
+ "deploymentId": "deployment_id",
+ "azureSubscriptionId": "00000000-0000-0000-0000-000000000000",
+ "elasticsearchRegion": "azure-westus2",
+ "elasticsearchServiceUrl": "https://elasticsearchendpoint.com",
+ "kibanaServiceUrl": "https://kibanaserviceurl.com",
+ "kibanaSsoUrl": "https://kibanssourl.com"
+ }
+ },
+ "liftrResourceCategory": "MonitorLogs",
+ "liftrResourcePreference": 0
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_ListByResourceGroup.json b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_ListByResourceGroup.json
new file mode 100644
index 000000000000..afb91c51ee4e
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_ListByResourceGroup.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.Elastic/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled",
+ "elasticProperties": {
+ "elasticCloudUser": {
+ "emailAddress": "alice@microsoft.com",
+ "id": "myid123",
+ "elasticCloudSsoDefaultUrl": "https://examplessourl.com"
+ },
+ "elasticCloudDeployment": {
+ "name": "deploymentname",
+ "deploymentId": "deployment_id",
+ "azureSubscriptionId": "00000000-0000-0000-0000-000000000000",
+ "elasticsearchRegion": "azure-westus2",
+ "elasticsearchServiceUrl": "https://elasticsearchendpoint.com",
+ "kibanaServiceUrl": "https://kibanaserviceurl.com",
+ "kibanaSsoUrl": "https://kibanssourl.com"
+ }
+ },
+ "liftrResourceCategory": "MonitorLogs",
+ "liftrResourcePreference": 0
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_Update.json b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_Update.json
new file mode 100644
index 000000000000..c15e443129c6
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Monitors_Update.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "requestBody": {
+ "name": "myMonitor",
+ "sku": {
+ "name": "free_Monthly"
+ },
+ "properties": {
+ "elasticProperties": {
+ "elasticCloudUser": {
+ "emailAddress": "alice@microsoft.com",
+ "id": "myid123",
+ "elasticCloudSsoDefaultUrl": "https://examplessourl.com"
+ },
+ "elasticCloudDeployment": {
+ "name": "deploymentname",
+ "azureSubscriptionId": "00000000-0000-0000-0000-000000000000",
+ "elasticsearchRegion": "azure-westus2",
+ "elasticsearchServiceUrl": "https://elasticsearchendpoint.com",
+ "kibanaServiceUrl": "https://kibanaserviceurl.com",
+ "kibanaSsoUrl": "https://kibanssourl.com"
+ }
+ },
+ "userInfo": {
+ "firstName": "Alice",
+ "lastName": "Bob",
+ "companyName": "Microsoft",
+ "emailAddress": "alice@microsoft.com",
+ "companyInfo": {
+ "domain": "microsoft.com",
+ "business": "Technology",
+ "employeeNumber": "10000",
+ "state": "WA",
+ "country": "US"
+ }
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.Elastic/monitors",
+ "sku": {
+ "name": "free_Monthly"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled",
+ "elasticProperties": {
+ "elasticCloudUser": {
+ "emailAddress": "alice@microsoft.com",
+ "id": "myid123",
+ "elasticCloudSsoDefaultUrl": "https://examplessourl.com"
+ },
+ "elasticCloudDeployment": {
+ "name": "deploymentname",
+ "deploymentId": "deployment_id",
+ "azureSubscriptionId": "00000000-0000-0000-0000-000000000000",
+ "elasticsearchRegion": "azure-westus2",
+ "elasticsearchServiceUrl": "https://elasticsearchendpoint.com",
+ "kibanaServiceUrl": "https://kibanaserviceurl.com",
+ "kibanaSsoUrl": "https://kibanssourl.com"
+ }
+ },
+ "liftrResourceCategory": "MonitorLogs",
+ "liftrResourcePreference": 0
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Operations_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Operations_List.json
new file mode 100644
index 000000000000..aecf2b634478
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/Operations_List.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Elastic/monitors/write",
+ "display": {
+ "provider": "Microsoft.Elastic",
+ "resource": "monitors",
+ "operation": "write",
+ "description": "Write monitors resource"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/TagRules_CreateOrUpdate.json b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/TagRules_CreateOrUpdate.json
new file mode 100644
index 000000000000..0919ae1209c8
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/TagRules_CreateOrUpdate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "ruleSetName": "default",
+ "requestBody": {
+ "properties": {
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendActivityLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/tagRules/default",
+ "type": "Microsoft.Datadog/monitors/tagRules",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendActivityLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/TagRules_Delete.json b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/TagRules_Delete.json
new file mode 100644
index 000000000000..eb020710a82b
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/TagRules_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "ruleSetName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/TagRules_Get.json b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/TagRules_Get.json
new file mode 100644
index 000000000000..61f34084b1fd
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/TagRules_Get.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "ruleSetName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/tagRules/default",
+ "type": "Microsoft.Datadog/monitors/tagRules",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendActivityLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/TagRules_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/TagRules_List.json
new file mode 100644
index 000000000000..f16fc546f923
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/TagRules_List.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/tagRules/default",
+ "type": "Microsoft.Datadog/monitors/tagRules",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendActivityLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/VMCollection_Update.json b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/VMCollection_Update.json
new file mode 100644
index 000000000000..88435653e554
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/VMCollection_Update.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "requestBody": {
+ "vmResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualmachines/myVM",
+ "operationName": "Add"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/VMHost_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/VMHost_List.json
new file mode 100644
index 000000000000..6fdc98452a0e
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/VMHost_List.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "vmResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualmachines/myVM"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/VMIngestion_Details.json b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/VMIngestion_Details.json
new file mode 100644
index 000000000000..737c93978e5f
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/stable/2020-07-01/examples/VMIngestion_Details.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "cloudId": "myid123",
+ "ingestionKey": "Vmingeationkey"
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/readme.go.md b/specification/elastic/resource-manager/readme.go.md
index 7e832819f32b..49db6d1ade71 100644
--- a/specification/elastic/resource-manager/readme.go.md
+++ b/specification/elastic/resource-manager/readme.go.md
@@ -13,9 +13,19 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-07-01
- tag: package-2020-07-01-preview
```
+### Tag: package-2020-07-01 and go
+
+These settings apply only when `--tag=package-2020-07-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-2020-07-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-07-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.
diff --git a/specification/elastic/resource-manager/readme.md b/specification/elastic/resource-manager/readme.md
index 4db60005e365..6df68d981667 100644
--- a/specification/elastic/resource-manager/readme.md
+++ b/specification/elastic/resource-manager/readme.md
@@ -26,7 +26,8 @@ These are the global settings for the elastic.
```yaml
openapi-type: arm
-tag: package-2020-07-01-preview
+openapi-subtype: rpaas
+tag: package-2020-07-01
```
### Tag: package-2020-07-01-preview
@@ -40,6 +41,16 @@ input-file:
---
+### Tag: package-2020-07-01
+
+These settings apply only when `--tag=package-2020-07-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-07-01'
+input-file:
+ - Microsoft.Elastic/stable/2020-07-01/elastic.json
+```
+
+---
# Code Generation
## Swagger to SDK
@@ -65,6 +76,12 @@ directive:
where:
- $.definitions.VMIngestionDetailsResponse.properties.ingestionKey
reason: Secrets are OK to return in a POST response.
+ - suppress: SECRET_PROPERTY
+ from:
+ - Microsoft.Elastic/stable/2020-07-01/elastic.json
+ where:
+ - $.definitions.VMIngestionDetailsResponse.properties.ingestionKey
+ reason: Secrets are OK to return in a POST response.
```
## Az
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json
index 689b7e987042..d352755c3a5e 100644
--- a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json
@@ -18,6 +18,13 @@
"messageBody": {
"description": "The body of the chat message",
"type": "string"
+ },
+ "metadata": {
+ "description": "The chat message metadata",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
}
}
},
@@ -32,6 +39,13 @@
"messageBody": {
"description": "The body of the chat message",
"type": "string"
+ },
+ "metadata": {
+ "description": "The chat message metadata",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
}
}
},
@@ -47,6 +61,13 @@
"description": "The body of the chat message",
"type": "string"
},
+ "metadata": {
+ "description": "The chat message metadata",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
"editTime": {
"description": "The time at which the message was edited",
"format": "date-time",
@@ -66,6 +87,13 @@
"description": "The body of the chat message",
"type": "string"
},
+ "metadata": {
+ "description": "The chat message metadata",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
"editTime": {
"description": "The time at which the message was edited",
"format": "date-time",
@@ -652,6 +680,14 @@
"endReason": {
"description": "The reason for ending the recording chunk",
"type": "string"
+ },
+ "metadataLocation": {
+ "description": "The location of the metadata for this chunk",
+ "type": "string"
+ },
+ "contentLocation": {
+ "description": "The location of the content for this chunk",
+ "type": "string"
}
}
}
diff --git a/specification/eventgrid/data-plane/Microsoft.ContainerService/stable/2018-01-01/ContainerService.json b/specification/eventgrid/data-plane/Microsoft.ContainerService/stable/2018-01-01/ContainerService.json
new file mode 100644
index 000000000000..14308bc7a6d6
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.ContainerService/stable/2018-01-01/ContainerService.json
@@ -0,0 +1,33 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-01-01",
+ "title": "Schema of Azure Kubernetes Service events published to Azure Event Grid",
+ "description": "Describes the schema of the Azure Kubernetes Service events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent"
+ },
+ "paths": {},
+ "definitions": {
+ "ContainerServiceNewKubernetesVersionAvailableEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ContainerService.NewKubernetesVersionAvailable event",
+ "type": "object",
+ "properties": {
+ "latestSupportedKubernetesVersion": {
+ "description": "The highest PATCH Kubernetes version for the highest MINOR version supported by ManagedCluster resource",
+ "type": "string"
+ },
+ "latestStableKubernetesVersion": {
+ "description": "The highest PATCH Kubernetes version for the MINOR version considered stable for the ManagedCluster resource",
+ "type": "string"
+ },
+ "lowestMinorKubernetesVersion": {
+ "description": "The highest PATCH Kubernetes version for the lowest applicable MINOR version available for the ManagedCluster resource",
+ "type": "string"
+ },
+ "latestPreviewKubernetesVersion": {
+ "description": "The highest PATCH Kubernetes version considered preview for the ManagedCluster resource. There might not be any version in preview at the time of publishing the event",
+ "type": "string"
+ }
+ }
+ }
+ }
+}
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 0caf38799d41..b552a85f6074 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
@@ -389,6 +389,41 @@
"type": "object"
}
}
+ },
+ "StorageBlobInventoryPolicyCompletedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Storage.BlobInventoryPolicyCompleted event.",
+ "type": "object",
+ "properties": {
+ "scheduleDateTime": {
+ "description": "The time at which inventory policy was scheduled.",
+ "format": "date-time",
+ "type": "string"
+ },
+ "accountName": {
+ "description": "The account name for which inventory policy is registered.",
+ "type": "string"
+ },
+ "ruleName": {
+ "description": "The rule name for inventory policy.",
+ "type": "string"
+ },
+ "policyRunStatus": {
+ "description": "The status of inventory run, it can be Succeeded/PartiallySucceeded/Failed.",
+ "type": "string"
+ },
+ "policyRunStatusMessage": {
+ "description": "The status message for inventory run.",
+ "type": "string"
+ },
+ "policyRunId": {
+ "description": "The policy run id for inventory run.",
+ "type": "string"
+ },
+ "manifestBlobUrl": {
+ "description": "The blob URL for manifest file for inventory run.",
+ "type": "string"
+ }
+ }
}
}
}
diff --git a/specification/eventgrid/data-plane/readme.md b/specification/eventgrid/data-plane/readme.md
index 394fdfaa854d..6fcfc2401860 100644
--- a/specification/eventgrid/data-plane/readme.md
+++ b/specification/eventgrid/data-plane/readme.md
@@ -86,6 +86,7 @@ input-file:
- Microsoft.Web/stable/2018-01-01/Web.json
- Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json
- Microsoft.PolicyInsights/stable/2018-01-01/PolicyInsights.json
+- Microsoft.ContainerService/stable/2018-01-01/ContainerService.json
```
### Suppression
@@ -179,6 +180,7 @@ input-file:
- $(this-folder)/Microsoft.Cache/stable/2018-01-01/RedisCache.json
- $(this-folder)/Microsoft.Web/stable/2018-01-01/Web.json
- $(this-folder)/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json
+ - $(this-folder)/Microsoft.ContainerService/stable/2018-01-01/ContainerService.json
```
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2020-10-15-preview/EventGrid.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2020-10-15-preview/EventGrid.json
index 82ba19735633..045e22aa2f15 100644
--- a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2020-10-15-preview/EventGrid.json
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2020-10-15-preview/EventGrid.json
@@ -6878,7 +6878,8 @@
},
"isSecret": {
"description": "Boolean flag to tell if the attribute contains sensitive information .",
- "type": "boolean"
+ "type": "boolean",
+ "default": false
}
}
},
@@ -8241,7 +8242,8 @@
"x-ms-enum": {
"name": "ResourceKind",
"modelAsString": true
- }
+ },
+ "default": "Azure"
},
"extendedLocation": {
"$ref": "#/definitions/ExtendedLocation",
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/EventGrid.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/EventGrid.json
new file mode 100644
index 000000000000..cac52caceb07
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/EventGrid.json
@@ -0,0 +1,8519 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-06-01-preview",
+ "title": "EventGridManagementClient",
+ "description": "Azure EventGrid Management Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}": {
+ "get": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "Get a domain.",
+ "description": "Get properties of a domain.",
+ "operationId": "Domains_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_Get": {
+ "$ref": "./examples/Domains_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "Create or update a domain.",
+ "description": "Asynchronously creates or updates a new domain with the specified parameters.",
+ "operationId": "Domains_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainInfo",
+ "in": "body",
+ "description": "Domain information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_CreateOrUpdate": {
+ "$ref": "./examples/Domains_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "Delete a domain.",
+ "description": "Delete existing domain.",
+ "operationId": "Domains_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_Delete": {
+ "$ref": "./examples/Domains_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "Update a domain.",
+ "description": "Asynchronously updates a domain with the specified parameters.",
+ "operationId": "Domains_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainUpdateParameters",
+ "in": "body",
+ "description": "Domain update information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DomainUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "201": {
+ "description": "Domain update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_Update": {
+ "$ref": "./examples/Domains_Update.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/domains": {
+ "get": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "List domains under an Azure subscription.",
+ "description": "List all the domains under an Azure subscription.",
+ "operationId": "Domains_ListBySubscription",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_ListBySubscription": {
+ "$ref": "./examples/Domains_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains": {
+ "get": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "List domains under a resource group.",
+ "description": "List all the domains under a resource group.",
+ "operationId": "Domains_ListByResourceGroup",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_ListByResourceGroup": {
+ "$ref": "./examples/Domains_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/listKeys": {
+ "post": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "List keys for a domain.",
+ "description": "List the two keys used to publish to a domain.",
+ "operationId": "Domains_ListSharedAccessKeys",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainSharedAccessKeys"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_ListSharedAccessKeys": {
+ "$ref": "./examples/Domains_ListSharedAccessKeys.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/regenerateKey": {
+ "post": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "Regenerate key for a domain.",
+ "description": "Regenerate a shared access key for a domain.",
+ "operationId": "Domains_RegenerateKey",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "regenerateKeyRequest",
+ "in": "body",
+ "description": "Request body to regenerate key.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DomainRegenerateKeyRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainSharedAccessKeys"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_RegenerateKey": {
+ "$ref": "./examples/Domains_RegenerateKey.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName}": {
+ "get": {
+ "tags": [
+ "DomainTopics"
+ ],
+ "summary": "Get a domain topic.",
+ "description": "Get properties of a domain topic.",
+ "operationId": "DomainTopics_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainTopicName",
+ "in": "path",
+ "description": "Name of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "DomainTopics_Get": {
+ "$ref": "./examples/DomainTopics_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DomainTopics"
+ ],
+ "summary": "Create or update a domain topic.",
+ "description": "Asynchronously creates or updates a new domain topic with the specified parameters.",
+ "operationId": "DomainTopics_CreateOrUpdate",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainTopicName",
+ "in": "path",
+ "description": "Name of the domain topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/DomainTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "DomainTopics_CreateOrUpdate": {
+ "$ref": "./examples/DomainTopics_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "DomainTopics"
+ ],
+ "summary": "Delete a domain topic.",
+ "description": "Delete existing domain topic.",
+ "operationId": "DomainTopics_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainTopicName",
+ "in": "path",
+ "description": "Name of the domain topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "DomainTopics_Delete": {
+ "$ref": "./examples/DomainTopics_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics": {
+ "get": {
+ "tags": [
+ "DomainTopics"
+ ],
+ "summary": "List domain topics.",
+ "description": "List all the topics in a domain.",
+ "operationId": "DomainTopics_ListByDomain",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Domain name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainTopicsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "DomainTopics_ListByDomain": {
+ "$ref": "./examples/DomainTopics_ListByDomain.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}/eventChannels/{eventChannelName}": {
+ "get": {
+ "tags": [
+ "EventChannels"
+ ],
+ "summary": "Get an event channel.",
+ "description": "Get properties of an event channel.",
+ "operationId": "EventChannels_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerNamespaceName",
+ "in": "path",
+ "description": "Name of the partner namespace.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventChannelName",
+ "in": "path",
+ "description": "Name of the event channel.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventChannel"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventChannels_Get": {
+ "$ref": "./examples/EventChannels_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "EventChannels"
+ ],
+ "summary": "Create an event channel.",
+ "description": "Asynchronously creates a new event channel with the specified parameters.",
+ "operationId": "EventChannels_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerNamespaceName",
+ "in": "path",
+ "description": "Name of the partner namespace.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventChannelName",
+ "in": "path",
+ "description": "Name of the event channel.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventChannelInfo",
+ "in": "body",
+ "description": "EventChannel information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EventChannel"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventChannel"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventChannels_CreateOrUpdate": {
+ "$ref": "./examples/EventChannels_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "EventChannels"
+ ],
+ "summary": "Delete an event channel.",
+ "description": "Delete existing event channel.",
+ "operationId": "EventChannels_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerNamespaceName",
+ "in": "path",
+ "description": "Name of the partner namespace.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventChannelName",
+ "in": "path",
+ "description": "Name of the event channel.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventChannels_Delete": {
+ "$ref": "./examples/EventChannels_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}/eventChannels": {
+ "get": {
+ "tags": [
+ "EventChannels"
+ ],
+ "summary": "List event channels.",
+ "description": "List all the event channels in a partner namespace.",
+ "operationId": "EventChannels_ListByPartnerNamespace",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerNamespaceName",
+ "in": "path",
+ "description": "Name of the partner namespace.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventChannelsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventChannels_ListByPartnerNamespace": {
+ "$ref": "./examples/EventChannels_ListByPartnerNamespace.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get an event subscription.",
+ "description": "Get properties of an event subscription.",
+ "operationId": "EventSubscriptions_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_GetForSubscription": {
+ "$ref": "./examples/EventSubscriptions_GetForSubscription.json"
+ },
+ "EventSubscriptions_GetForResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_GetForResourceGroup.json"
+ },
+ "EventSubscriptions_GetForResource": {
+ "$ref": "./examples/EventSubscriptions_GetForResource.json"
+ },
+ "EventSubscriptions_GetForCustomTopic": {
+ "$ref": "./examples/EventSubscriptions_GetForCustomTopic.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Create or update an event subscription.",
+ "description": "Asynchronously creates a new event subscription or updates an existing event subscription based on the specified scope.",
+ "operationId": "EventSubscriptions_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The identifier of the resource to which the event subscription needs to be created or updated. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription. Event subscription names must be between 3 and 64 characters in length and should use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionInfo",
+ "in": "body",
+ "description": "Event subscription properties containing the destination and filter information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "EventSubscription CreateOrUpdate request accepted.",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_CreateOrUpdateForSubscription": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForSubscription.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForResource": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForResource.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Delete an event subscription.",
+ "description": "Delete an existing event subscription.",
+ "operationId": "EventSubscriptions_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_DeleteForSubscription": {
+ "$ref": "./examples/EventSubscriptions_DeleteForSubscription.json"
+ },
+ "EventSubscriptions_DeleteForResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_DeleteForResourceGroup.json"
+ },
+ "EventSubscriptions_DeleteForResource": {
+ "$ref": "./examples/EventSubscriptions_DeleteForResource.json"
+ },
+ "EventSubscriptions_DeleteForCustomTopic": {
+ "$ref": "./examples/EventSubscriptions_DeleteForCustomTopic.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Update an event subscription.",
+ "description": "Asynchronously updates an existing event subscription.",
+ "operationId": "EventSubscriptions_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The scope of existing event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be updated.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionUpdateParameters",
+ "in": "body",
+ "description": "Updated event subscription information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "EventSubscription update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_UpdateForSubscription": {
+ "$ref": "./examples/EventSubscriptions_UpdateForSubscription.json"
+ },
+ "EventSubscriptions_UpdateForResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_UpdateForResourceGroup.json"
+ },
+ "EventSubscriptions_UpdateForResource": {
+ "$ref": "./examples/EventSubscriptions_UpdateForResource.json"
+ },
+ "EventSubscriptions_UpdateForCustomTopic": {
+ "$ref": "./examples/EventSubscriptions_UpdateForCustomTopic.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get an event subscription of a system topic.",
+ "description": "Get an event subscription.",
+ "operationId": "SystemTopicEventSubscriptions_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopicEventSubscriptions_Get": {
+ "$ref": "./examples/SystemTopicEventSubscriptions_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Create or update an event subscription for a system topic.",
+ "description": "Asynchronously creates or updates an event subscription with the specified parameters. Existing event subscriptions will be updated with this API.",
+ "operationId": "SystemTopicEventSubscriptions_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionInfo",
+ "in": "body",
+ "description": "Event subscription properties containing the destination and filter information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopicEventSubscriptions_CreateOrUpdate": {
+ "$ref": "./examples/SystemTopicEventSubscriptions_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Delete an event subscription of a system topic.",
+ "description": "Delete an event subscription of a system topic.",
+ "operationId": "SystemTopicEventSubscriptions_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopicEventSubscriptions_Delete": {
+ "$ref": "./examples/SystemTopicEventSubscriptions_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Update event subscription of a system topic.",
+ "description": "Update event subscription of a system topic.",
+ "operationId": "SystemTopicEventSubscriptions_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionUpdateParameters",
+ "in": "body",
+ "description": "Updated event subscription information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopicEventSubscriptions_Update": {
+ "$ref": "./examples/SystemTopicEventSubscriptions_Update.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}/getFullUrl": {
+ "post": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get full URL of an event subscription of a system topic",
+ "description": "Get the full endpoint URL for an event subscription of a system topic.",
+ "operationId": "SystemTopicEventSubscriptions_GetFullUrl",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionFullUrl"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopicEventSubscriptions_GetFullUrl": {
+ "$ref": "./examples/SystemTopicEventSubscriptions_GetFullUrl.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getFullUrl": {
+ "post": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get full URL of an event subscription.",
+ "description": "Get the full endpoint URL for an event subscription.",
+ "operationId": "EventSubscriptions_GetFullUrl",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionFullUrl"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_GetFullUrlForSubscription": {
+ "$ref": "./examples/EventSubscriptions_GetFullUrlForSubscription.json"
+ },
+ "EventSubscriptions_GetFullUrlForResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_GetFullUrlForResourceGroup.json"
+ },
+ "EventSubscriptions_GetFullUrlForResource": {
+ "$ref": "./examples/EventSubscriptions_GetFullUrlForResource.json"
+ },
+ "EventSubscriptions_GetFullUrlForCustomTopic": {
+ "$ref": "./examples/EventSubscriptions_GetFullUrlForCustomTopic.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List event subscriptions of a system topic.",
+ "description": "List event subscriptions that belong to a specific system topic.",
+ "operationId": "SystemTopicEventSubscriptions_ListBySystemTopic",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopicEventSubscriptions_ListBySystemTopic": {
+ "$ref": "./examples/SystemTopicEventSubscriptions_ListBySystemTopic.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}/eventSubscriptions/{eventSubscriptionName}": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get an event subscription of a partner topic.",
+ "description": "Get an event subscription of a partner topic.",
+ "operationId": "PartnerTopicEventSubscriptions_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerTopicName",
+ "in": "path",
+ "description": "Name of the partner topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be found. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerTopicEventSubscriptions_Get": {
+ "$ref": "./examples/PartnerTopicEventSubscriptions_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Create or update an event subscription of a partner topic.",
+ "description": "Asynchronously creates or updates an event subscription of a partner topic with the specified parameters. Existing event subscriptions will be updated with this API.",
+ "operationId": "PartnerTopicEventSubscriptions_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerTopicName",
+ "in": "path",
+ "description": "Name of the partner topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionInfo",
+ "in": "body",
+ "description": "Event subscription properties containing the destination and filter information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerTopicEventSubscriptions_CreateOrUpdate": {
+ "$ref": "./examples/PartnerTopicEventSubscriptions_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Delete an event subscription of a partner topic.",
+ "description": "Delete an event subscription of a partner topic.",
+ "operationId": "PartnerTopicEventSubscriptions_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerTopicName",
+ "in": "path",
+ "description": "Name of the partner topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerTopicEventSubscriptions_Delete": {
+ "$ref": "./examples/PartnerTopicEventSubscriptions_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Update event subscription of a partner topic.",
+ "description": "Update event subscription of a partner topic.",
+ "operationId": "PartnerTopicEventSubscriptions_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerTopicName",
+ "in": "path",
+ "description": "Name of the partner topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionUpdateParameters",
+ "in": "body",
+ "description": "Updated event subscription information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerTopicEventSubscriptions_Update": {
+ "$ref": "./examples/PartnerTopicEventSubscriptions_Update.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}/eventSubscriptions/{eventSubscriptionName}/getFullUrl": {
+ "post": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get full URL of an event subscription of a partner topic.",
+ "description": "Get the full endpoint URL for an event subscription of a partner topic.",
+ "operationId": "PartnerTopicEventSubscriptions_GetFullUrl",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerTopicName",
+ "in": "path",
+ "description": "Name of the partner topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionFullUrl"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerTopicEventSubscriptions_GetFullUrl": {
+ "$ref": "./examples/PartnerTopicEventSubscriptions_GetFullUrl.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List event subscriptions of a partner topic.",
+ "description": "List event subscriptions that belong to a specific partner topic.",
+ "operationId": "PartnerTopicEventSubscriptions_ListByPartnerTopic",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerTopicName",
+ "in": "path",
+ "description": "Name of the partner topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerTopicEventSubscriptions_ListByPartnerTopic": {
+ "$ref": "./examples/PartnerTopicEventSubscriptions_ListByPartnerTopic.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get an aggregated list of all global event subscriptions under an Azure subscription.",
+ "description": "List all aggregated global event subscriptions under a specific Azure subscription.",
+ "operationId": "EventSubscriptions_ListGlobalBySubscription",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListGlobalBySubscription": {
+ "$ref": "./examples/EventSubscriptions_ListGlobalBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all global event subscriptions for a topic type.",
+ "description": "List all global event subscriptions under an Azure subscription for a topic type.",
+ "operationId": "EventSubscriptions_ListGlobalBySubscriptionForTopicType",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListGlobalBySubscriptionForTopicType": {
+ "$ref": "./examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all global event subscriptions under an Azure subscription and resource group.",
+ "description": "List all global event subscriptions under a specific Azure subscription and resource group.",
+ "operationId": "EventSubscriptions_ListGlobalByResourceGroup",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListGlobalByResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_ListGlobalByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all global event subscriptions under a resource group for a topic type.",
+ "description": "List all global event subscriptions under a resource group for a specific topic type.",
+ "operationId": "EventSubscriptions_ListGlobalByResourceGroupForTopicType",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListGlobalByResourceGroupForTopicType": {
+ "$ref": "./examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all regional event subscriptions under an Azure subscription.",
+ "description": "List all event subscriptions from the given location under a specific Azure subscription.",
+ "operationId": "EventSubscriptions_ListRegionalBySubscription",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Name of the location.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListRegionalBySubscription": {
+ "$ref": "./examples/EventSubscriptions_ListRegionalBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all regional event subscriptions under an Azure subscription and resource group.",
+ "description": "List all event subscriptions from the given location under a specific Azure subscription and resource group.",
+ "operationId": "EventSubscriptions_ListRegionalByResourceGroup",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Name of the location.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListRegionalByResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_ListRegionalByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all regional event subscriptions under an Azure subscription for a topic type.",
+ "description": "List all event subscriptions from the given location under a specific Azure subscription and topic type.",
+ "operationId": "EventSubscriptions_ListRegionalBySubscriptionForTopicType",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Name of the location.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListRegionalBySubscriptionForTopicType": {
+ "$ref": "./examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all regional event subscriptions under an Azure subscription and resource group for a topic type.",
+ "description": "List all event subscriptions from the given location under a specific Azure subscription and resource group and topic type.",
+ "operationId": "EventSubscriptions_ListRegionalByResourceGroupForTopicType",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Name of the location.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListRegionalByResourceGroupForTopicType": {
+ "$ref": "./examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all event subscriptions for a specific topic.",
+ "description": "List all event subscriptions that have been created for a specific topic.",
+ "operationId": "EventSubscriptions_ListByResource",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerNamespace",
+ "in": "path",
+ "description": "Namespace of the provider of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceTypeName",
+ "in": "path",
+ "description": "Name of the resource type.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Name of the resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListByResource": {
+ "$ref": "./examples/EventSubscriptions_ListByResource.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{topicName}/providers/Microsoft.EventGrid/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all event subscriptions for a specific domain topic.",
+ "description": "List all event subscriptions that have been created for a specific domain topic.",
+ "operationId": "EventSubscriptions_ListByDomainTopic",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the top level domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the domain topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListByDomainTopic": {
+ "$ref": "./examples/EventSubscriptions_ListByDomainTopic.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getDeliveryAttributes": {
+ "post": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get delivery attributes for an event subscription.",
+ "description": "Get all delivery attributes for an event subscription.",
+ "operationId": "EventSubscriptions_GetDeliveryAttributes",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DeliveryAttributeListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_GetDeliveryAttributes": {
+ "$ref": "./examples/EventSubscriptions_GetDeliveryAttributes.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}/getDeliveryAttributes": {
+ "post": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get delivery attributes for an event subscription.",
+ "description": "Get all delivery attributes for an event subscription.",
+ "operationId": "SystemTopicEventSubscriptions_GetDeliveryAttributes",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DeliveryAttributeListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopicEventSubscriptions_GetDeliveryAttributes": {
+ "$ref": "./examples/SystemTopicEventSubscriptions_GetDeliveryAttributes.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}/eventSubscriptions/{eventSubscriptionName}/getDeliveryAttributes": {
+ "post": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get delivery attributes for an event subscription of a partner topic.",
+ "description": "Get all delivery attributes for an event subscription of a partner topic.",
+ "operationId": "PartnerTopicEventSubscriptions_GetDeliveryAttributes",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerTopicName",
+ "in": "path",
+ "description": "Name of the partner topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DeliveryAttributeListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerTopicEventSubscriptions_GetDeliveryAttributes": {
+ "$ref": "./examples/PartnerTopicEventSubscriptions_GetDeliveryAttributes.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.EventGrid/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "List available operations.",
+ "description": "List the available operations supported by the Microsoft.EventGrid resource provider.",
+ "operationId": "Operations_List",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}": {
+ "get": {
+ "tags": [
+ "PartnerNamespaces"
+ ],
+ "summary": "Get a partner namespace.",
+ "description": "Get properties of a partner namespace.",
+ "operationId": "PartnerNamespaces_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerNamespaceName",
+ "in": "path",
+ "description": "Name of the partner namespace.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PartnerNamespace"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerNamespaces_Get": {
+ "$ref": "./examples/PartnerNamespaces_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PartnerNamespaces"
+ ],
+ "summary": "Create a partner namespace.",
+ "description": "Asynchronously creates a new partner namespace with the specified parameters.",
+ "operationId": "PartnerNamespaces_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerNamespaceName",
+ "in": "path",
+ "description": "Name of the partner namespace.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerNamespaceInfo",
+ "in": "body",
+ "description": "PartnerNamespace information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PartnerNamespace"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/PartnerNamespace"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerNamespaces_CreateOrUpdate": {
+ "$ref": "./examples/PartnerNamespaces_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "PartnerNamespaces"
+ ],
+ "summary": "Delete a partner namespace.",
+ "description": "Delete existing partner namespace.",
+ "operationId": "PartnerNamespaces_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerNamespaceName",
+ "in": "path",
+ "description": "Name of the partner namespace.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerNamespaces_Delete": {
+ "$ref": "./examples/PartnerNamespaces_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "PartnerNamespaces"
+ ],
+ "summary": "Update a partner namespace.",
+ "description": "Asynchronously updates a partner namespace with the specified parameters.",
+ "operationId": "PartnerNamespaces_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerNamespaceName",
+ "in": "path",
+ "description": "Name of the partner namespace.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerNamespaceUpdateParameters",
+ "in": "body",
+ "description": "Partner namespace update information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PartnerNamespaceUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "201": {
+ "description": "Partner namespace update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/PartnerNamespace"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerNamespaces_Update": {
+ "$ref": "./examples/PartnerNamespaces_Update.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/partnerNamespaces": {
+ "get": {
+ "tags": [
+ "PartnerNamespaces"
+ ],
+ "summary": "List partner namespaces under an Azure subscription.",
+ "description": "List all the partner namespaces under an Azure subscription.",
+ "operationId": "PartnerNamespaces_ListBySubscription",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PartnerNamespacesListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerNamespaces_ListBySubscription": {
+ "$ref": "./examples/PartnerNamespaces_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces": {
+ "get": {
+ "tags": [
+ "PartnerNamespaces"
+ ],
+ "summary": "List partner namespaces under a resource group.",
+ "description": "List all the partner namespaces under a resource group.",
+ "operationId": "PartnerNamespaces_ListByResourceGroup",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PartnerNamespacesListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerNamespaces_ListByResourceGroup": {
+ "$ref": "./examples/PartnerNamespaces_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}/listKeys": {
+ "post": {
+ "tags": [
+ "PartnerNamespaces"
+ ],
+ "summary": "List keys for a partner namespace.",
+ "description": "List the two keys used to publish to a partner namespace.",
+ "operationId": "PartnerNamespaces_ListSharedAccessKeys",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerNamespaceName",
+ "in": "path",
+ "description": "Name of the partner namespace.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PartnerNamespaceSharedAccessKeys"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerNamespaces_ListSharedAccessKeys": {
+ "$ref": "./examples/PartnerNamespaces_ListSharedAccessKeys.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}/regenerateKey": {
+ "post": {
+ "tags": [
+ "PartnerNamespaces"
+ ],
+ "summary": "Regenerate key for a partner namespace.",
+ "description": "Regenerate a shared access key for a partner namespace.",
+ "operationId": "PartnerNamespaces_RegenerateKey",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerNamespaceName",
+ "in": "path",
+ "description": "Name of the partner namespace.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "regenerateKeyRequest",
+ "in": "body",
+ "description": "Request body to regenerate key.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PartnerNamespaceRegenerateKeyRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PartnerNamespaceSharedAccessKeys"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerNamespaces_RegenerateKey": {
+ "$ref": "./examples/PartnerNamespaces_RegenerateKey.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerRegistrations/{partnerRegistrationName}": {
+ "get": {
+ "tags": [
+ "PartnerRegistrations"
+ ],
+ "summary": "Get a partner registration.",
+ "description": "Gets a partner registration with the specified parameters.",
+ "operationId": "PartnerRegistrations_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerRegistrationName",
+ "in": "path",
+ "description": "Name of the partner registration.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PartnerRegistration"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerRegistrations_Get": {
+ "$ref": "./examples/PartnerRegistrations_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PartnerRegistrations"
+ ],
+ "summary": "Create a partner registration.",
+ "description": "Creates a new partner registration with the specified parameters.",
+ "operationId": "PartnerRegistrations_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerRegistrationName",
+ "in": "path",
+ "description": "Name of the partner registration.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerRegistrationInfo",
+ "in": "body",
+ "description": "PartnerRegistration information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PartnerRegistration"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PartnerRegistration"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/PartnerRegistration"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerRegistrations_CreateOrUpdate": {
+ "$ref": "./examples/PartnerRegistrations_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PartnerRegistrations"
+ ],
+ "summary": "Delete a partner registration.",
+ "description": "Deletes a partner registration with the specified parameters.",
+ "operationId": "PartnerRegistrations_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerRegistrationName",
+ "in": "path",
+ "description": "Name of the partner registration.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerRegistrations_Delete": {
+ "$ref": "./examples/PartnerRegistrations_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "PartnerRegistrations"
+ ],
+ "summary": "Update a partner registration.",
+ "description": "Updates a partner registration with the specified parameters.",
+ "operationId": "PartnerRegistrations_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerRegistrationName",
+ "in": "path",
+ "description": "Name of the partner registration.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerRegistrationUpdateParameters",
+ "in": "body",
+ "description": "Partner registration update information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PartnerRegistrationUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "201": {
+ "description": "Partner registration update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/PartnerRegistration"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerRegistrations_Update": {
+ "$ref": "./examples/PartnerRegistrations_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/partnerRegistrations": {
+ "get": {
+ "tags": [
+ "PartnerRegistrations"
+ ],
+ "summary": "List partner registrations under an Azure subscription.",
+ "description": "List all the partner registrations under an Azure subscription.",
+ "operationId": "PartnerRegistrations_ListBySubscription",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PartnerRegistrationsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerRegistrations_ListBySubscription": {
+ "$ref": "./examples/PartnerRegistrations_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerRegistrations": {
+ "get": {
+ "tags": [
+ "PartnerRegistrations"
+ ],
+ "summary": "List partner registrations under a resource group.",
+ "description": "List all the partner registrations under a resource group.",
+ "operationId": "PartnerRegistrations_ListByResourceGroup",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PartnerRegistrationsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerRegistrations_ListByResourceGroup": {
+ "$ref": "./examples/PartnerRegistrations_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}": {
+ "get": {
+ "tags": [
+ "PartnerTopics"
+ ],
+ "summary": "Get a partner topic.",
+ "description": "Get properties of a partner topic.",
+ "operationId": "PartnerTopics_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerTopicName",
+ "in": "path",
+ "description": "Name of the partner topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PartnerTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerTopics_Get": {
+ "$ref": "./examples/PartnerTopics_Get.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PartnerTopics"
+ ],
+ "summary": "Delete a partner topic.",
+ "description": "Delete existing partner topic.",
+ "operationId": "PartnerTopics_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerTopicName",
+ "in": "path",
+ "description": "Name of the partner topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerTopics_Delete": {
+ "$ref": "./examples/PartnerTopics_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "PartnerTopics"
+ ],
+ "summary": "Update a partner topic.",
+ "description": "Asynchronously updates a partner topic with the specified parameters.",
+ "operationId": "PartnerTopics_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerTopicName",
+ "in": "path",
+ "description": "Name of the partner topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerTopicUpdateParameters",
+ "in": "body",
+ "description": "PartnerTopic update information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PartnerTopicUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "201": {
+ "description": "Partner Topic update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/PartnerTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerTopics_Update": {
+ "$ref": "./examples/PartnerTopics_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/partnerTopics": {
+ "get": {
+ "tags": [
+ "PartnerTopics"
+ ],
+ "summary": "List partner topics under an Azure subscription.",
+ "description": "List all the partner topics under an Azure subscription.",
+ "operationId": "PartnerTopics_ListBySubscription",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PartnerTopicsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerTopics_ListBySubscription": {
+ "$ref": "./examples/PartnerTopics_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics": {
+ "get": {
+ "tags": [
+ "PartnerTopics"
+ ],
+ "summary": "List partner topics under a resource group.",
+ "description": "List all the partner topics under a resource group.",
+ "operationId": "PartnerTopics_ListByResourceGroup",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PartnerTopicsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerTopics_ListByResourceGroup": {
+ "$ref": "./examples/PartnerTopics_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}/activate": {
+ "post": {
+ "tags": [
+ "PartnerTopics"
+ ],
+ "summary": "Activate a partner topic.",
+ "description": "Activate a newly created partner topic.",
+ "operationId": "PartnerTopics_Activate",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerTopicName",
+ "in": "path",
+ "description": "Name of the partner topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PartnerTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerTopics_Activate": {
+ "$ref": "./examples/PartnerTopics_Activate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}/deactivate": {
+ "post": {
+ "tags": [
+ "PartnerTopics"
+ ],
+ "summary": "Deactivate a partner topic.",
+ "description": "Deactivate specific partner topic.",
+ "operationId": "PartnerTopics_Deactivate",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "partnerTopicName",
+ "in": "path",
+ "description": "Name of the partner topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PartnerTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PartnerTopics_Deactivate": {
+ "$ref": "./examples/PartnerTopics_Deactivate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "summary": "Get a specific private endpoint connection.",
+ "description": "Get a specific private endpoint connection under a topic, domain, or partner namespace.",
+ "operationId": "PrivateEndpointConnections_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parentType",
+ "in": "path",
+ "description": "The type of the parent resource. This can be either \\'topics\\', \\'domains\\', or \\'partnerNamespaces\\'.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "topics",
+ "domains",
+ "partnerNamespaces"
+ ]
+ },
+ {
+ "name": "parentName",
+ "in": "path",
+ "description": "The name of the parent resource (namely, either, the topic name, domain name, or partner namespace name).",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection connection.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnections_Get": {
+ "$ref": "./examples/PrivateEndpointConnections_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "summary": "Update a specific private endpoint connection.",
+ "description": "Update a specific private endpoint connection under a topic, domain or partner namespace.",
+ "operationId": "PrivateEndpointConnections_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parentType",
+ "in": "path",
+ "description": "The type of the parent resource. This can be either \\'topics\\', \\'domains\\', or \\'partnerNamespaces\\'.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "topics",
+ "domains",
+ "partnerNamespaces"
+ ]
+ },
+ {
+ "name": "parentName",
+ "in": "path",
+ "description": "The name of the parent resource (namely, either, the topic name, domain name, or partner namespace name).",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection connection.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "description": "The private endpoint connection object to update.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnections_Update": {
+ "$ref": "./examples/PrivateEndpointConnections_Update.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "summary": "Delete a specific private endpoint connection.",
+ "description": "Delete a specific private endpoint connection under a topic, domain, or partner namespace.",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parentType",
+ "in": "path",
+ "description": "The type of the parent resource. This can be either \\'topics\\', \\'domains\\', or \\'partnerNamespaces\\'.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "topics",
+ "domains",
+ "partnerNamespaces"
+ ]
+ },
+ {
+ "name": "parentName",
+ "in": "path",
+ "description": "The name of the parent resource (namely, either, the topic name, domain name, or partner namespace name).",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection connection.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnections_Delete": {
+ "$ref": "./examples/PrivateEndpointConnections_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "summary": "Lists all private endpoint connections under a resource.",
+ "description": "Get all private endpoint connections under a topic, domain, or partner namespace.",
+ "operationId": "PrivateEndpointConnections_ListByResource",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parentType",
+ "in": "path",
+ "description": "The type of the parent resource. This can be either \\'topics\\', \\'domains\\', or \\'partnerNamespaces\\'.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "topics",
+ "domains",
+ "partnerNamespaces"
+ ]
+ },
+ {
+ "name": "parentName",
+ "in": "path",
+ "description": "The name of the parent resource (namely, either, the topic name, domain name, or partner namespace name).",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnections_ListByResource": {
+ "$ref": "./examples/PrivateEndpointConnections_ListByResource.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateLinkResources/{privateLinkResourceName}": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "summary": "Get a private link resource.",
+ "description": "Get properties of a private link resource.",
+ "operationId": "PrivateLinkResources_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parentType",
+ "in": "path",
+ "description": "The type of the parent resource. This can be either \\'topics\\', \\'domains\\', or \\'partnerNamespaces\\'.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parentName",
+ "in": "path",
+ "description": "The name of the parent resource (namely, either, the topic name, domain name, or partner namespace name).",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "privateLinkResourceName",
+ "in": "path",
+ "description": "The name of private link resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkResources_Get": {
+ "$ref": "./examples/PrivateLinkResources_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "summary": "List private link resources under specific topic, domain, or partner namespace.",
+ "description": "List all the private link resources under a topic, domain, or partner namespace.",
+ "operationId": "PrivateLinkResources_ListByResource",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parentType",
+ "in": "path",
+ "description": "The type of the parent resource. This can be either \\'topics\\', \\'domains\\', or \\'partnerNamespaces\\'.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parentName",
+ "in": "path",
+ "description": "The name of the parent resource (namely, either, the topic name, domain name, or partner namespace name).",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourcesListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkResources_ListByResource": {
+ "$ref": "./examples/PrivateLinkResources_ListByResource.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}": {
+ "get": {
+ "tags": [
+ "SystemTopics"
+ ],
+ "summary": "Get a system topic.",
+ "description": "Get properties of a system topic.",
+ "operationId": "SystemTopics_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SystemTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopics_Get": {
+ "$ref": "./examples/SystemTopics_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SystemTopics"
+ ],
+ "summary": "Create a system topic.",
+ "description": "Asynchronously creates a new system topic with the specified parameters.",
+ "operationId": "SystemTopics_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicInfo",
+ "in": "body",
+ "description": "System Topic information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SystemTopic"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SystemTopic"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SystemTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopics_CreateOrUpdate": {
+ "$ref": "./examples/SystemTopics_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "SystemTopics"
+ ],
+ "summary": "Delete a system topic.",
+ "description": "Delete existing system topic.",
+ "operationId": "SystemTopics_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopics_Delete": {
+ "$ref": "./examples/SystemTopics_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "SystemTopics"
+ ],
+ "summary": "Update a system topic.",
+ "description": "Asynchronously updates a system topic with the specified parameters.",
+ "operationId": "SystemTopics_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicUpdateParameters",
+ "in": "body",
+ "description": "SystemTopic update information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SystemTopicUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "System Topic update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/SystemTopic"
+ }
+ },
+ "201": {
+ "description": "System Topic update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/SystemTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopics_Update": {
+ "$ref": "./examples/SystemTopics_Update.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/systemTopics": {
+ "get": {
+ "tags": [
+ "SystemTopics"
+ ],
+ "summary": "List system topics under an Azure subscription.",
+ "description": "List all the system topics under an Azure subscription.",
+ "operationId": "SystemTopics_ListBySubscription",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SystemTopicsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopics_ListBySubscription": {
+ "$ref": "./examples/SystemTopics_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics": {
+ "get": {
+ "tags": [
+ "SystemTopics"
+ ],
+ "summary": "List system topics under a resource group.",
+ "description": "List all the system topics under a resource group.",
+ "operationId": "SystemTopics_ListByResourceGroup",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SystemTopicsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopics_ListByResourceGroup": {
+ "$ref": "./examples/SystemTopics_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}": {
+ "get": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "Get a topic.",
+ "description": "Get properties of a topic.",
+ "operationId": "Topics_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Topic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_Get": {
+ "$ref": "./examples/Topics_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "Create a topic.",
+ "description": "Asynchronously creates a new topic with the specified parameters.",
+ "operationId": "Topics_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicInfo",
+ "in": "body",
+ "description": "Topic information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Topic"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Topic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_CreateOrUpdate": {
+ "$ref": "./examples/Topics_CreateOrUpdate.json"
+ },
+ "Topics_CreateOrUpdateForAzureArc": {
+ "$ref": "./examples/Topics_CreateOrUpdateForAzureArc.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "Delete a topic.",
+ "description": "Delete existing topic.",
+ "operationId": "Topics_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_Delete": {
+ "$ref": "./examples/Topics_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "Update a topic.",
+ "description": "Asynchronously updates a topic with the specified parameters.",
+ "operationId": "Topics_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicUpdateParameters",
+ "in": "body",
+ "description": "Topic update information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TopicUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "201": {
+ "description": "Topic update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/Topic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_Update": {
+ "$ref": "./examples/Topics_Update.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics": {
+ "get": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "List topics under an Azure subscription.",
+ "description": "List all the topics under an Azure subscription.",
+ "operationId": "Topics_ListBySubscription",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_ListBySubscription": {
+ "$ref": "./examples/Topics_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics": {
+ "get": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "List topics under a resource group.",
+ "description": "List all the topics under a resource group.",
+ "operationId": "Topics_ListByResourceGroup",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_ListByResourceGroup": {
+ "$ref": "./examples/Topics_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/listKeys": {
+ "post": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "List keys for a topic.",
+ "description": "List the two keys used to publish to a topic.",
+ "operationId": "Topics_ListSharedAccessKeys",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicSharedAccessKeys"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_ListSharedAccessKeys": {
+ "$ref": "./examples/Topics_ListSharedAccessKeys.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/regenerateKey": {
+ "post": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "Regenerate key for a topic.",
+ "description": "Regenerate a shared access key for a topic.",
+ "operationId": "Topics_RegenerateKey",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "regenerateKeyRequest",
+ "in": "body",
+ "description": "Request body to regenerate key.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TopicRegenerateKeyRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicSharedAccessKeys"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_RegenerateKey": {
+ "$ref": "./examples/Topics_RegenerateKey.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventTypes": {
+ "get": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "List topic event types.",
+ "description": "List event types for a topic.",
+ "operationId": "Topics_ListEventTypes",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerNamespace",
+ "in": "path",
+ "description": "Namespace of the provider of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceTypeName",
+ "in": "path",
+ "description": "Name of the topic type.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Name of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventTypesListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_ListEventTypes": {
+ "$ref": "./examples/Topics_ListEventTypes.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.EventGrid/extensionTopics/default": {
+ "get": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "Get properties of an extension topic.",
+ "description": "Get the properties of an extension topic.",
+ "operationId": "ExtensionTopics_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The identifier of the resource to which extension topic is queried. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for Azure resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExtensionTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "ExtensionTopics_Get": {
+ "$ref": "./examples/ExtensionTopics_Get.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.EventGrid/topicTypes": {
+ "get": {
+ "tags": [
+ "TopicTypes"
+ ],
+ "summary": "List topic types.",
+ "description": "List all registered topic types.",
+ "operationId": "TopicTypes_List",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicTypesListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "TopicTypes_List": {
+ "$ref": "./examples/TopicTypes_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}": {
+ "get": {
+ "tags": [
+ "TopicTypes"
+ ],
+ "summary": "Get a topic type.",
+ "description": "Get information about a topic type.",
+ "operationId": "TopicTypes_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicTypeInfo"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "TopicTypes_Get": {
+ "$ref": "./examples/TopicTypes_Get.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventTypes": {
+ "get": {
+ "tags": [
+ "TopicTypes"
+ ],
+ "summary": "List event types.",
+ "description": "List event types for a topic type.",
+ "operationId": "TopicTypes_ListEventTypes",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventTypesListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "TopicTypes_ListEventTypes": {
+ "$ref": "./examples/TopicTypes_ListEventTypes.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DomainProperties": {
+ "description": "Properties of the Event Grid Domain Resource.",
+ "type": "object",
+ "properties": {
+ "privateEndpointConnections": {
+ "description": "List of private endpoint connections.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the Event Grid Domain Resource.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DomainProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "endpoint": {
+ "description": "Endpoint for the Event Grid Domain Resource which is used for publishing the events.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inputSchema": {
+ "description": "This determines the format that Event Grid should expect for incoming events published to the Event Grid Domain Resource.",
+ "enum": [
+ "EventGridSchema",
+ "CustomEventSchema",
+ "CloudEventSchemaV1_0"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InputSchema",
+ "modelAsString": true
+ },
+ "default": "EventGridSchema"
+ },
+ "inputSchemaMapping": {
+ "$ref": "#/definitions/InputSchemaMapping",
+ "description": "Information about the InputSchemaMapping which specified the info about mapping event payload."
+ },
+ "metricResourceId": {
+ "description": "Metric resource id for the Event Grid Domain Resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publicNetworkAccess": {
+ "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "default": "Enabled"
+ },
+ "inboundIpRules": {
+ "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundIpRule"
+ }
+ },
+ "disableLocalAuth": {
+ "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the domain.",
+ "default": false,
+ "type": "boolean"
+ },
+ "autoCreateTopicWithFirstSubscription": {
+ "description": "This Boolean is used to specify the creation mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain resource.\r\nIn this context, creation of domain topic can be auto-managed (when true) or self-managed (when false). The default value for this property is true.\r\nWhen this property is null or set to true, Event Grid is responsible of automatically creating the domain topic when the first event subscription is\r\ncreated at the scope of the domain topic. If this property is set to false, then creating the first event subscription will require creating a domain topic\r\nby the user. The self-management mode can be used if the user wants full control of when the domain topic is created, while auto-managed mode provides the\r\nflexibility to perform less operations and manage fewer resources by the user. Also, note that in auto-managed creation mode, user is allowed to create the\r\ndomain topic on demand if needed.",
+ "default": true,
+ "type": "boolean"
+ },
+ "autoDeleteTopicWithLastSubscription": {
+ "description": "This Boolean is used to specify the deletion mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain resource.\r\nIn this context, deletion of domain topic can be auto-managed (when true) or self-managed (when false). The default value for this property is true.\r\nWhen this property is set to true, Event Grid is responsible of automatically deleting the domain topic when the last event subscription at the scope\r\nof the domain topic is deleted. If this property is set to false, then the user needs to manually delete the domain topic when it is no longer needed\r\n(e.g., when last event subscription is deleted and the resource needs to be cleaned up). The self-management mode can be used if the user wants full\r\ncontrol of when the domain topic needs to be deleted, while auto-managed mode provides the flexibility to perform less operations and manage fewer\r\nresources by the user.",
+ "default": true,
+ "type": "boolean"
+ }
+ }
+ },
+ "ResourceSku": {
+ "description": "Describes an EventGrid Resource Sku.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The Sku name of the resource. The possible values are: Basic or Premium.",
+ "default": "Basic",
+ "enum": [
+ "Basic",
+ "Premium"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Sku",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "IdentityInfo": {
+ "description": "The identity information for the resource.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identity.",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
+ },
+ "principalId": {
+ "description": "The principal ID of resource identity.",
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "The tenant ID of resource.",
+ "type": "string"
+ },
+ "userAssignedIdentities": {
+ "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form:\r\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.\r\nThis property is currently not used and reserved for future usage.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserIdentityProperties"
+ }
+ }
+ }
+ },
+ "InboundIpRule": {
+ "type": "object",
+ "properties": {
+ "ipMask": {
+ "description": "IP Address in CIDR notation e.g., 10.0.0.0/8.",
+ "type": "string"
+ },
+ "action": {
+ "description": "Action to perform based on the match or no match of the IpMask.",
+ "enum": [
+ "Allow"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IpActionType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UserIdentityProperties": {
+ "description": "The information about the user identity.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The principal id of user assigned identity.",
+ "type": "string"
+ },
+ "clientId": {
+ "description": "The client id of user assigned identity.",
+ "type": "string"
+ }
+ }
+ },
+ "Resource": {
+ "description": "Definition of a Resource",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Fully qualified identifier of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Type of the resource.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "Properties of the private endpoint connection resource.",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The Private Endpoint resource for this Connection."
+ },
+ "groupIds": {
+ "description": "GroupIds from the private link service resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/ConnectionState",
+ "description": "Details about the state of the connection."
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the Private Endpoint Connection.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateEndpoint": {
+ "description": "PrivateEndpoint information.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ARM identifier for Private Endpoint.",
+ "type": "string"
+ }
+ }
+ },
+ "ConnectionState": {
+ "description": "ConnectionState information.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of the connection.",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PersistedConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "description": "Description of the connection state.",
+ "type": "string"
+ },
+ "actionsRequired": {
+ "description": "Actions required (if any).",
+ "type": "string"
+ }
+ }
+ },
+ "JsonInputSchemaMappingProperties": {
+ "description": "This can be used to map properties of a source schema (or default values, for certain supported properties) to properties of the EventGridEvent schema.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/JsonField",
+ "description": "The mapping information for the Id property of the Event Grid Event."
+ },
+ "topic": {
+ "$ref": "#/definitions/JsonField",
+ "description": "The mapping information for the Topic property of the Event Grid Event."
+ },
+ "eventTime": {
+ "$ref": "#/definitions/JsonField",
+ "description": "The mapping information for the EventTime property of the Event Grid Event."
+ },
+ "eventType": {
+ "$ref": "#/definitions/JsonFieldWithDefault",
+ "description": "The mapping information for the EventType property of the Event Grid Event."
+ },
+ "subject": {
+ "$ref": "#/definitions/JsonFieldWithDefault",
+ "description": "The mapping information for the Subject property of the Event Grid Event."
+ },
+ "dataVersion": {
+ "$ref": "#/definitions/JsonFieldWithDefault",
+ "description": "The mapping information for the DataVersion property of the Event Grid Event."
+ }
+ }
+ },
+ "JsonField": {
+ "description": "This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the input event schema.",
+ "type": "object",
+ "properties": {
+ "sourceField": {
+ "description": "Name of a field in the input event schema that's to be used as the source of a mapping.",
+ "type": "string"
+ }
+ }
+ },
+ "JsonFieldWithDefault": {
+ "description": "This is used to express the source of an input schema mapping for a single target field\r\nin the Event Grid Event schema. This is currently used in the mappings for the 'subject',\r\n'eventtype' and 'dataversion' properties. This represents a field in the input event schema\r\nalong with a default value to be used, and at least one of these two properties should be provided.",
+ "type": "object",
+ "properties": {
+ "sourceField": {
+ "description": "Name of a field in the input event schema that's to be used as the source of a mapping.",
+ "type": "string"
+ },
+ "defaultValue": {
+ "description": "The default value to be used for mapping when a SourceField is not provided or if there's no property with the specified name in the published JSON event payload.",
+ "type": "string"
+ }
+ }
+ },
+ "JsonInputSchemaMapping": {
+ "description": "This enables publishing to Event Grid using a custom input schema. This can be used to map properties from a custom input JSON schema to the Event Grid event schema.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/InputSchemaMapping"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/JsonInputSchemaMappingProperties",
+ "description": "JSON Properties of the input schema mapping",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "Json"
+ },
+ "InputSchemaMapping": {
+ "description": "By default, Event Grid expects events to be in the Event Grid event schema. Specifying an input schema mapping enables publishing to Event Grid using a custom input schema. Currently, the only supported type of InputSchemaMapping is 'JsonInputSchemaMapping'.",
+ "required": [
+ "inputSchemaMappingType"
+ ],
+ "type": "object",
+ "properties": {
+ "inputSchemaMappingType": {
+ "description": "Type of the custom mapping",
+ "enum": [
+ "Json"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InputSchemaMappingType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "inputSchemaMappingType"
+ },
+ "PrivateEndpointConnection": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "Properties of the PrivateEndpointConnection.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "TrackedResource": {
+ "description": "Definition of a Tracked Resource.",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "Location of the resource.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "Tags of the resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Domain": {
+ "description": "EventGrid Domain.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DomainProperties",
+ "description": "Properties of the Event Grid Domain resource.",
+ "x-ms-client-flatten": true
+ },
+ "sku": {
+ "$ref": "#/definitions/ResourceSku",
+ "description": "The Sku pricing tier for the Event Grid Domain resource."
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityInfo",
+ "description": "Identity information for the Event Grid Domain resource."
+ },
+ "systemData": {
+ "description": "The system metadata relating to the Event Grid Domain resource.",
+ "type": "object",
+ "readOnly": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "DomainUpdateParameters": {
+ "description": "Properties of the Domain update.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Tags of the domains resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/DomainUpdateParameterProperties",
+ "description": "Properties of the resource.",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityInfo",
+ "description": "Identity information for the resource."
+ },
+ "sku": {
+ "$ref": "#/definitions/ResourceSku",
+ "description": "The Sku pricing tier for the domain."
+ }
+ }
+ },
+ "DomainUpdateParameterProperties": {
+ "description": "Information of domain update parameter properties.",
+ "type": "object",
+ "properties": {
+ "publicNetworkAccess": {
+ "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ }
+ },
+ "inboundIpRules": {
+ "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundIpRule"
+ }
+ },
+ "disableLocalAuth": {
+ "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the domain.",
+ "type": "boolean"
+ },
+ "autoCreateTopicWithFirstSubscription": {
+ "description": "This Boolean is used to specify the creation mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain resource.\r\nIn this context, creation of domain topic can be auto-managed (when true) or self-managed (when false). The default value for this property is true.\r\nWhen this property is null or set to true, Event Grid is responsible of automatically creating the domain topic when the first event subscription is\r\ncreated at the scope of the domain topic. If this property is set to false, then creating the first event subscription will require creating a domain topic\r\nby the user. The self-management mode can be used if the user wants full control of when the domain topic is created, while auto-managed mode provides the\r\nflexibility to perform less operations and manage fewer resources by the user. Also, note that in auto-managed creation mode, user is allowed to create the\r\ndomain topic on demand if needed.",
+ "type": "boolean"
+ },
+ "autoDeleteTopicWithLastSubscription": {
+ "description": "This Boolean is used to specify the deletion mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain resource.\r\nIn this context, deletion of domain topic can be auto-managed (when true) or self-managed (when false). The default value for this property is true.\r\nWhen this property is set to true, Event Grid is responsible of automatically deleting the domain topic when the last event subscription at the scope\r\nof the domain topic is deleted. If this property is set to false, then the user needs to manually delete the domain topic when it is no longer needed\r\n(e.g., when last event subscription is deleted and the resource needs to be cleaned up). The self-management mode can be used if the user wants full\r\ncontrol of when the domain topic needs to be deleted, while auto-managed mode provides the flexibility to perform less operations and manage fewer\r\nresources by the user.",
+ "type": "boolean"
+ }
+ }
+ },
+ "DomainsListResult": {
+ "description": "Result of the List Domains operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of Domains",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of domains",
+ "type": "string"
+ }
+ }
+ },
+ "DomainSharedAccessKeys": {
+ "description": "Shared access keys of the Domain.",
+ "type": "object",
+ "properties": {
+ "key1": {
+ "description": "Shared access key1 for the domain.",
+ "type": "string"
+ },
+ "key2": {
+ "description": "Shared access key2 for the domain.",
+ "type": "string"
+ }
+ }
+ },
+ "DomainRegenerateKeyRequest": {
+ "description": "Domain regenerate share access key request.",
+ "required": [
+ "keyName"
+ ],
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "description": "Key name to regenerate key1 or key2.",
+ "type": "string"
+ }
+ }
+ },
+ "DomainTopicProperties": {
+ "description": "Properties of the Domain Topic.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the domain topic.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DomainTopicProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DomainTopic": {
+ "description": "Domain Topic.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DomainTopicProperties",
+ "description": "Properties of the Domain Topic.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "description": "The system metadata relating to Domain Topic resource.",
+ "type": "object",
+ "readOnly": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "DomainTopicsListResult": {
+ "description": "Result of the List Domain Topics operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of Domain Topics.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DomainTopic"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of domain topics.",
+ "type": "string"
+ }
+ }
+ },
+ "EventChannelProperties": {
+ "description": "Properties of the Event Channel.",
+ "type": "object",
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/EventChannelSource",
+ "description": "Source of the event channel. This represents a unique resource in the partner's resource model."
+ },
+ "destination": {
+ "$ref": "#/definitions/EventChannelDestination",
+ "description": "Represents the destination of an event channel."
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the event channel.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "EventChannelProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "partnerTopicReadinessState": {
+ "description": "The readiness state of the corresponding partner topic.",
+ "enum": [
+ "NotActivatedByUserYet",
+ "ActivatedByUser",
+ "DeactivatedByUser",
+ "DeletedByUser"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PartnerTopicReadinessState",
+ "modelAsString": true
+ }
+ },
+ "expirationTimeIfNotActivatedUtc": {
+ "format": "date-time",
+ "description": "Expiration time of the event channel. If this timer expires while the corresponding partner topic is never activated,\r\nthe event channel and corresponding partner topic are deleted.",
+ "type": "string"
+ },
+ "filter": {
+ "$ref": "#/definitions/EventChannelFilter",
+ "description": "Information about the filter for the event channel."
+ },
+ "partnerTopicFriendlyDescription": {
+ "description": "Friendly description about the topic. This can be set by the publisher/partner to show custom description for the customer partner topic.\r\nThis will be helpful to remove any ambiguity of the origin of creation of the partner topic for the customer.",
+ "type": "string"
+ }
+ }
+ },
+ "EventChannelSource": {
+ "description": "Properties of the source of an event channel.",
+ "type": "object",
+ "properties": {
+ "source": {
+ "description": "The identifier of the resource that's the source of the events.\r\nThis represents a unique resource in the partner's resource model.",
+ "type": "string"
+ }
+ }
+ },
+ "EventChannelDestination": {
+ "description": "Properties of the destination of an event channel.",
+ "type": "object",
+ "properties": {
+ "azureSubscriptionId": {
+ "description": "Azure subscription ID of the customer creating the event channel. The partner topic\r\nassociated with the event channel will be created under this Azure subscription.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Azure Resource Group of the customer creating the event channel. The partner topic\r\nassociated with the event channel will be created under this resource group.",
+ "type": "string"
+ },
+ "partnerTopicName": {
+ "description": "Name of the partner topic associated with the event channel.",
+ "type": "string"
+ }
+ }
+ },
+ "EventChannelFilter": {
+ "description": "Filter for the Event Channel.",
+ "type": "object",
+ "properties": {
+ "enableAdvancedFilteringOnArrays": {
+ "description": "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value. The default value is either false or null.",
+ "default": false,
+ "type": "boolean"
+ },
+ "advancedFilters": {
+ "description": "An array of advanced filters that are used for filtering event channels.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ }
+ }
+ },
+ "NumberInAdvancedFilter": {
+ "description": "NumberIn Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "NumberIn"
+ },
+ "NumberNotInAdvancedFilter": {
+ "description": "NumberNotIn Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "NumberNotIn"
+ },
+ "NumberLessThanAdvancedFilter": {
+ "description": "NumberLessThan Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "value": {
+ "format": "double",
+ "description": "The filter value.",
+ "type": "number"
+ }
+ },
+ "x-ms-discriminator-value": "NumberLessThan"
+ },
+ "NumberGreaterThanAdvancedFilter": {
+ "description": "NumberGreaterThan Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "value": {
+ "format": "double",
+ "description": "The filter value.",
+ "type": "number"
+ }
+ },
+ "x-ms-discriminator-value": "NumberGreaterThan"
+ },
+ "NumberLessThanOrEqualsAdvancedFilter": {
+ "description": "NumberLessThanOrEquals Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "value": {
+ "format": "double",
+ "description": "The filter value.",
+ "type": "number"
+ }
+ },
+ "x-ms-discriminator-value": "NumberLessThanOrEquals"
+ },
+ "NumberGreaterThanOrEqualsAdvancedFilter": {
+ "description": "NumberGreaterThanOrEquals Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "value": {
+ "format": "double",
+ "description": "The filter value.",
+ "type": "number"
+ }
+ },
+ "x-ms-discriminator-value": "NumberGreaterThanOrEquals"
+ },
+ "BoolEqualsAdvancedFilter": {
+ "description": "BoolEquals Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "The boolean filter value.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "BoolEquals"
+ },
+ "StringInAdvancedFilter": {
+ "description": "StringIn Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringIn"
+ },
+ "StringNotInAdvancedFilter": {
+ "description": "StringNotIn Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringNotIn"
+ },
+ "StringBeginsWithAdvancedFilter": {
+ "description": "StringBeginsWith Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringBeginsWith"
+ },
+ "StringEndsWithAdvancedFilter": {
+ "description": "StringEndsWith Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringEndsWith"
+ },
+ "StringContainsAdvancedFilter": {
+ "description": "StringContains Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringContains"
+ },
+ "NumberInRangeAdvancedFilter": {
+ "description": "NumberInRange Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ }
+ }
+ }
+ },
+ "x-ms-discriminator-value": "NumberInRange"
+ },
+ "NumberNotInRangeAdvancedFilter": {
+ "description": "NumberNotInRange Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ }
+ }
+ }
+ },
+ "x-ms-discriminator-value": "NumberNotInRange"
+ },
+ "StringNotBeginsWithAdvancedFilter": {
+ "description": "StringNotBeginsWith Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringNotBeginsWith"
+ },
+ "StringNotEndsWithAdvancedFilter": {
+ "description": "StringNotEndsWith Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringNotEndsWith"
+ },
+ "StringNotContainsAdvancedFilter": {
+ "description": "StringNotContains Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringNotContains"
+ },
+ "IsNullOrUndefinedAdvancedFilter": {
+ "description": "IsNullOrUndefined Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "IsNullOrUndefined"
+ },
+ "IsNotNullAdvancedFilter": {
+ "description": "IsNotNull Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "IsNotNull"
+ },
+ "AdvancedFilter": {
+ "description": "This is the base type that represents an advanced filter. To configure an advanced filter, do not directly instantiate an object of this class. Instead, instantiate an object of a derived class such as BoolEqualsAdvancedFilter, NumberInAdvancedFilter, StringEqualsAdvancedFilter etc. depending on the type of the key based on which you want to filter.",
+ "required": [
+ "operatorType"
+ ],
+ "type": "object",
+ "properties": {
+ "operatorType": {
+ "description": "The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.",
+ "enum": [
+ "NumberIn",
+ "NumberNotIn",
+ "NumberLessThan",
+ "NumberGreaterThan",
+ "NumberLessThanOrEquals",
+ "NumberGreaterThanOrEquals",
+ "BoolEquals",
+ "StringIn",
+ "StringNotIn",
+ "StringBeginsWith",
+ "StringEndsWith",
+ "StringContains",
+ "NumberInRange",
+ "NumberNotInRange",
+ "StringNotBeginsWith",
+ "StringNotEndsWith",
+ "StringNotContains",
+ "IsNullOrUndefined",
+ "IsNotNull"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AdvancedFilterOperatorType",
+ "modelAsString": true
+ }
+ },
+ "key": {
+ "description": "The field/property in the event based on which you want to filter.",
+ "type": "string"
+ }
+ },
+ "discriminator": "operatorType"
+ },
+ "EventChannel": {
+ "description": "Event Channel.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EventChannelProperties",
+ "description": "Properties of the EventChannel.",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "description": "The system metadata relating to Event Channel resource.",
+ "type": "object",
+ "readOnly": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "EventChannelsListResult": {
+ "description": "Result of the List Event Channels operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of Event Channels",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EventChannel"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of event channels",
+ "type": "string"
+ }
+ }
+ },
+ "EventSubscriptionProperties": {
+ "description": "Properties of the Event Subscription.",
+ "type": "object",
+ "properties": {
+ "topic": {
+ "description": "Name of the topic of the event subscription.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the event subscription.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed",
+ "AwaitingManualAction"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "EventSubscriptionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "destination": {
+ "$ref": "#/definitions/EventSubscriptionDestination",
+ "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses Azure Event Grid's identity to acquire the authentication tokens being used during delivery / dead-lettering."
+ },
+ "deliveryWithResourceIdentity": {
+ "$ref": "#/definitions/DeliveryWithResourceIdentity",
+ "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering."
+ },
+ "filter": {
+ "$ref": "#/definitions/EventSubscriptionFilter",
+ "description": "Information about the filter for the event subscription."
+ },
+ "labels": {
+ "description": "List of user defined labels.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "expirationTimeUtc": {
+ "format": "date-time",
+ "description": "Expiration time of the event subscription.",
+ "type": "string"
+ },
+ "eventDeliverySchema": {
+ "description": "The event delivery schema for the event subscription.",
+ "default": "EventGridSchema",
+ "enum": [
+ "EventGridSchema",
+ "CustomInputSchema",
+ "CloudEventSchemaV1_0"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EventDeliverySchema",
+ "modelAsString": true
+ }
+ },
+ "retryPolicy": {
+ "$ref": "#/definitions/RetryPolicy",
+ "description": "The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events."
+ },
+ "deadLetterDestination": {
+ "$ref": "#/definitions/DeadLetterDestination",
+ "description": "The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.\r\nUses Azure Event Grid's identity to acquire the authentication tokens being used during delivery / dead-lettering."
+ },
+ "deadLetterWithResourceIdentity": {
+ "$ref": "#/definitions/DeadLetterWithResourceIdentity",
+ "description": "The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.\r\nUses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering."
+ }
+ }
+ },
+ "DeliveryWithResourceIdentity": {
+ "description": "Information about the delivery for an event subscription with resource identity.",
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/EventSubscriptionIdentity",
+ "description": "The identity to use when delivering events."
+ },
+ "destination": {
+ "$ref": "#/definitions/EventSubscriptionDestination",
+ "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses Azure Event Grid's identity to acquire the authentication tokens being used during delivery / dead-lettering."
+ }
+ }
+ },
+ "EventSubscriptionFilter": {
+ "description": "Filter for the Event Subscription.",
+ "type": "object",
+ "properties": {
+ "subjectBeginsWith": {
+ "description": "An optional string to filter events for an event subscription based on a resource path prefix.\r\nThe format of this depends on the publisher of the events.\r\nWildcard characters are not supported in this path.",
+ "type": "string"
+ },
+ "subjectEndsWith": {
+ "description": "An optional string to filter events for an event subscription based on a resource path suffix.\r\nWildcard characters are not supported in this path.",
+ "type": "string"
+ },
+ "includedEventTypes": {
+ "description": "A list of applicable event types that need to be part of the event subscription. If it is desired to subscribe to all default event types, set the IncludedEventTypes to null.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isSubjectCaseSensitive": {
+ "description": "Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter\r\nshould be compared in a case sensitive manner.",
+ "default": false,
+ "type": "boolean"
+ },
+ "enableAdvancedFilteringOnArrays": {
+ "description": "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value.",
+ "type": "boolean"
+ },
+ "advancedFilters": {
+ "description": "An array of advanced filters that are used for filtering event subscriptions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ }
+ }
+ },
+ "RetryPolicy": {
+ "description": "Information about the retry policy for an event subscription.",
+ "type": "object",
+ "properties": {
+ "maxDeliveryAttempts": {
+ "format": "int32",
+ "description": "Maximum number of delivery retry attempts for events.",
+ "default": 30,
+ "type": "integer"
+ },
+ "eventTimeToLiveInMinutes": {
+ "format": "int32",
+ "description": "Time To Live (in minutes) for events.",
+ "default": 1440,
+ "type": "integer"
+ }
+ }
+ },
+ "DeadLetterWithResourceIdentity": {
+ "description": "Information about the deadletter destination with resource identity.",
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/EventSubscriptionIdentity",
+ "description": "The identity to use when dead-lettering events."
+ },
+ "deadLetterDestination": {
+ "$ref": "#/definitions/DeadLetterDestination",
+ "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering."
+ }
+ }
+ },
+ "EventSubscriptionIdentity": {
+ "description": "The identity information with the event subscription.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identity.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EventSubscriptionIdentityType",
+ "modelAsString": true
+ }
+ },
+ "userAssignedIdentity": {
+ "description": "The user identity associated with the resource.",
+ "type": "string"
+ }
+ }
+ },
+ "WebHookEventSubscriptionDestinationProperties": {
+ "description": "Information about the webhook destination properties for an event subscription.",
+ "type": "object",
+ "properties": {
+ "endpointUrl": {
+ "description": "The URL that represents the endpoint of the destination of an event subscription.",
+ "type": "string",
+ "x-ms-secret": true
+ },
+ "endpointBaseUrl": {
+ "description": "The base URL that represents the endpoint of the destination of an event subscription.",
+ "type": "string",
+ "readOnly": true
+ },
+ "maxEventsPerBatch": {
+ "format": "int32",
+ "description": "Maximum number of events per batch.",
+ "default": 1,
+ "type": "integer"
+ },
+ "preferredBatchSizeInKilobytes": {
+ "format": "int32",
+ "description": "Preferred batch size in Kilobytes.",
+ "default": 64,
+ "type": "integer"
+ },
+ "azureActiveDirectoryTenantId": {
+ "description": "The Azure Active Directory Tenant ID to get the access token that will be included as the bearer token in delivery requests.",
+ "type": "string"
+ },
+ "azureActiveDirectoryApplicationIdOrUri": {
+ "description": "The Azure Active Directory Application ID or URI to get the access token that will be included as the bearer token in delivery requests.",
+ "type": "string"
+ },
+ "deliveryAttributeMappings": {
+ "description": "Delivery attribute details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ }
+ }
+ },
+ "StorageBlobDeadLetterDestinationProperties": {
+ "description": "Properties of the storage blob based dead letter destination.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource ID of the storage account that is the destination of the deadletter events",
+ "type": "string"
+ },
+ "blobContainerName": {
+ "description": "The name of the Storage blob container that is the destination of the deadletter events",
+ "type": "string"
+ }
+ }
+ },
+ "StaticDeliveryAttributeMappingProperties": {
+ "description": "Properties of static delivery attribute mapping.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Value of the delivery attribute.",
+ "type": "string"
+ },
+ "isSecret": {
+ "description": "Boolean flag to tell if the attribute contains sensitive information .",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ },
+ "StaticDeliveryAttributeMapping": {
+ "description": "Static delivery attribute mapping details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StaticDeliveryAttributeMappingProperties",
+ "description": "Properties of static delivery attribute mapping.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "Static"
+ },
+ "DynamicDeliveryAttributeMappingProperties": {
+ "description": "Properties of dynamic delivery attribute mapping.",
+ "type": "object",
+ "properties": {
+ "sourceField": {
+ "description": "JSON path in the event which contains attribute value.",
+ "type": "string"
+ }
+ }
+ },
+ "DynamicDeliveryAttributeMapping": {
+ "description": "Dynamic delivery attribute mapping details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DynamicDeliveryAttributeMappingProperties",
+ "description": "Properties of dynamic delivery attribute mapping.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "Dynamic"
+ },
+ "DeliveryAttributeMapping": {
+ "description": "Delivery attribute mapping details.",
+ "required": [
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the delivery attribute or header.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of the delivery attribute or header name.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DeliveryAttributeMappingType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "type"
+ },
+ "StorageBlobDeadLetterDestination": {
+ "description": "Information about the storage blob based dead letter destination.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeadLetterDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageBlobDeadLetterDestinationProperties",
+ "description": "The properties of the Storage Blob based deadletter destination",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "StorageBlob"
+ },
+ "WebHookEventSubscriptionDestination": {
+ "description": "Information about the webhook destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WebHookEventSubscriptionDestinationProperties",
+ "description": "WebHook Properties of the event subscription destination.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "WebHook"
+ },
+ "DeadLetterDestination": {
+ "description": "Information about the dead letter destination for an event subscription. To configure a deadletter destination, do not directly instantiate an object of this class. Instead, instantiate an object of a derived class. Currently, StorageBlobDeadLetterDestination is the only class that derives from this class.",
+ "required": [
+ "endpointType"
+ ],
+ "type": "object",
+ "properties": {
+ "endpointType": {
+ "description": "Type of the endpoint for the dead letter destination",
+ "enum": [
+ "StorageBlob"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DeadLetterEndPointType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "endpointType"
+ },
+ "EventHubEventSubscriptionDestinationProperties": {
+ "description": "The properties for a event hub destination.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource Id that represents the endpoint of an Event Hub destination of an event subscription.",
+ "type": "string"
+ },
+ "deliveryAttributeMappings": {
+ "description": "Delivery attribute details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ }
+ }
+ },
+ "EventHubEventSubscriptionDestination": {
+ "description": "Information about the event hub destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EventHubEventSubscriptionDestinationProperties",
+ "description": "Event Hub Properties of the event subscription destination.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "EventHub"
+ },
+ "StorageQueueEventSubscriptionDestinationProperties": {
+ "description": "The properties for a storage queue destination.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource ID of the storage account that contains the queue that is the destination of an event subscription.",
+ "type": "string"
+ },
+ "queueName": {
+ "description": "The name of the Storage queue under a storage account that is the destination of an event subscription.",
+ "type": "string"
+ },
+ "queueMessageTimeToLiveInSeconds": {
+ "format": "int64",
+ "description": "Storage queue message time to live in seconds.",
+ "type": "integer"
+ }
+ }
+ },
+ "StorageQueueEventSubscriptionDestination": {
+ "description": "Information about the storage queue destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageQueueEventSubscriptionDestinationProperties",
+ "description": "Storage Queue Properties of the event subscription destination.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "StorageQueue"
+ },
+ "HybridConnectionEventSubscriptionDestinationProperties": {
+ "description": "The properties for a hybrid connection destination.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource ID of an hybrid connection that is the destination of an event subscription.",
+ "type": "string"
+ },
+ "deliveryAttributeMappings": {
+ "description": "Delivery attribute details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ }
+ }
+ },
+ "HybridConnectionEventSubscriptionDestination": {
+ "description": "Information about the HybridConnection destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/HybridConnectionEventSubscriptionDestinationProperties",
+ "description": "Hybrid connection Properties of the event subscription destination.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "HybridConnection"
+ },
+ "ServiceBusQueueEventSubscriptionDestinationProperties": {
+ "description": "The properties that represent the Service Bus destination of an event subscription.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource Id that represents the endpoint of the Service Bus destination of an event subscription.",
+ "type": "string"
+ },
+ "deliveryAttributeMappings": {
+ "description": "Delivery attribute details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ }
+ }
+ },
+ "ServiceBusQueueEventSubscriptionDestination": {
+ "description": "Information about the service bus destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ServiceBusQueueEventSubscriptionDestinationProperties",
+ "description": "Service Bus Properties of the event subscription destination.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "ServiceBusQueue"
+ },
+ "ServiceBusTopicEventSubscriptionDestinationProperties": {
+ "description": "The properties that represent the Service Bus Topic destination of an event subscription.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event subscription.",
+ "type": "string"
+ },
+ "deliveryAttributeMappings": {
+ "description": "Delivery attribute details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ }
+ }
+ },
+ "ServiceBusTopicEventSubscriptionDestination": {
+ "description": "Information about the service bus topic destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ServiceBusTopicEventSubscriptionDestinationProperties",
+ "description": "Service Bus Topic Properties of the event subscription destination.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "ServiceBusTopic"
+ },
+ "AzureFunctionEventSubscriptionDestinationProperties": {
+ "description": "The properties that represent the Azure Function destination of an event subscription.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource Id that represents the endpoint of the Azure Function destination of an event subscription.",
+ "type": "string"
+ },
+ "maxEventsPerBatch": {
+ "format": "int32",
+ "description": "Maximum number of events per batch.",
+ "default": 1,
+ "type": "integer"
+ },
+ "preferredBatchSizeInKilobytes": {
+ "format": "int32",
+ "description": "Preferred batch size in Kilobytes.",
+ "default": 64,
+ "type": "integer"
+ },
+ "deliveryAttributeMappings": {
+ "description": "Delivery attribute details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ }
+ }
+ },
+ "AzureFunctionEventSubscriptionDestination": {
+ "description": "Information about the azure function destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AzureFunctionEventSubscriptionDestinationProperties",
+ "description": "Azure Function Properties of the event subscription destination.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "AzureFunction"
+ },
+ "EventSubscriptionDestination": {
+ "description": "Information about the destination for an event subscription.",
+ "required": [
+ "endpointType"
+ ],
+ "type": "object",
+ "properties": {
+ "endpointType": {
+ "description": "Type of the endpoint for the event subscription destination.",
+ "enum": [
+ "WebHook",
+ "EventHub",
+ "StorageQueue",
+ "HybridConnection",
+ "ServiceBusQueue",
+ "ServiceBusTopic",
+ "AzureFunction"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EndpointType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "endpointType"
+ },
+ "EventSubscription": {
+ "description": "Event Subscription",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EventSubscriptionProperties",
+ "description": "Properties of the event subscription.",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "description": "The system metadata relating to Event Subscription resource.",
+ "type": "object",
+ "readOnly": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "EventSubscriptionUpdateParameters": {
+ "description": "Properties of the Event Subscription update.",
+ "type": "object",
+ "properties": {
+ "destination": {
+ "$ref": "#/definitions/EventSubscriptionDestination",
+ "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses Azure Event Grid's identity to acquire the authentication tokens being used during delivery / dead-lettering."
+ },
+ "deliveryWithResourceIdentity": {
+ "$ref": "#/definitions/DeliveryWithResourceIdentity",
+ "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses the managed identity setup on the parent resource (topic / domain) to acquire the authentication tokens being used during delivery / dead-lettering."
+ },
+ "filter": {
+ "$ref": "#/definitions/EventSubscriptionFilter",
+ "description": "Information about the filter for the event subscription."
+ },
+ "labels": {
+ "description": "List of user defined labels.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "expirationTimeUtc": {
+ "format": "date-time",
+ "description": "Information about the expiration time for the event subscription.",
+ "type": "string"
+ },
+ "eventDeliverySchema": {
+ "description": "The event delivery schema for the event subscription.",
+ "enum": [
+ "EventGridSchema",
+ "CustomInputSchema",
+ "CloudEventSchemaV1_0"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EventDeliverySchema",
+ "modelAsString": true
+ }
+ },
+ "retryPolicy": {
+ "$ref": "#/definitions/RetryPolicy",
+ "description": "The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events."
+ },
+ "deadLetterDestination": {
+ "$ref": "#/definitions/DeadLetterDestination",
+ "description": "The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.\r\nUses Azure Event Grid's identity to acquire the authentication tokens being used during delivery / dead-lettering."
+ },
+ "deadLetterWithResourceIdentity": {
+ "$ref": "#/definitions/DeadLetterWithResourceIdentity",
+ "description": "The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.\r\nUses the managed identity setup on the parent resource (topic / domain) to acquire the authentication tokens being used during delivery / dead-lettering."
+ }
+ }
+ },
+ "EventSubscriptionFullUrl": {
+ "description": "Full endpoint url of an event subscription",
+ "type": "object",
+ "properties": {
+ "endpointUrl": {
+ "description": "The URL that represents the endpoint of the destination of an event subscription.",
+ "type": "string"
+ }
+ }
+ },
+ "EventSubscriptionsListResult": {
+ "description": "Result of the List EventSubscriptions operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of EventSubscriptions",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of event subscriptions",
+ "type": "string"
+ }
+ }
+ },
+ "DeliveryAttributeListResult": {
+ "description": "Result of the Get delivery attributes operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of DeliveryAttributeMapping",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ }
+ }
+ },
+ "OperationsListResult": {
+ "description": "Result of the List Operations operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of operations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ }
+ }
+ },
+ "Operation": {
+ "description": "Represents an operation returned by the GetOperations request",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationInfo",
+ "description": "Display name of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "This Boolean is used to determine if the operation is a data plane action or not.",
+ "type": "boolean"
+ },
+ "properties": {
+ "description": "Properties of the operation",
+ "type": "object",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationInfo": {
+ "description": "Information about an operation",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Name of the provider",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Name of the resource type",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation",
+ "type": "string"
+ }
+ }
+ },
+ "PartnerNamespaceProperties": {
+ "description": "Properties of the partner namespace.",
+ "type": "object",
+ "properties": {
+ "privateEndpointConnections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the partner namespace.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PartnerNamespaceProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "partnerRegistrationFullyQualifiedId": {
+ "description": "The fully qualified ARM Id of the partner registration that should be associated with this partner namespace. This takes the following format:\r\n/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerRegistrations/{partnerRegistrationName}.",
+ "type": "string"
+ },
+ "endpoint": {
+ "description": "Endpoint for the partner namespace.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publicNetworkAccess": {
+ "description": "This determines if traffic is allowed over public network. By default it is enabled.\r\nYou can further restrict to specific IPs by configuring ",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "default": "Enabled"
+ },
+ "inboundIpRules": {
+ "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundIpRule"
+ }
+ },
+ "disableLocalAuth": {
+ "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the partner namespace.",
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ },
+ "PartnerNamespace": {
+ "description": "EventGrid Partner Namespace.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PartnerNamespaceProperties",
+ "description": "Properties of the partner namespace.",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "description": "The system metadata relating to Partner Namespace resource.",
+ "type": "object",
+ "readOnly": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "PartnerNamespaceUpdateParameters": {
+ "description": "Properties of the PartnerNamespace update.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Tags of the partner namespace.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/PartnerNamespaceUpdateParameterProperties",
+ "description": "Properties of the Partner Namespace.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PartnerNamespaceUpdateParameterProperties": {
+ "description": "Information of Partner Namespace update parameter properties.",
+ "type": "object",
+ "properties": {
+ "publicNetworkAccess": {
+ "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ }
+ },
+ "inboundIpRules": {
+ "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundIpRule"
+ }
+ },
+ "disableLocalAuth": {
+ "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the partner namespace.",
+ "type": "boolean"
+ }
+ }
+ },
+ "PartnerNamespacesListResult": {
+ "description": "Result of the List Partner Namespaces operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of partner namespaces.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PartnerNamespace"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of partner namespaces.",
+ "type": "string"
+ }
+ }
+ },
+ "PartnerNamespaceSharedAccessKeys": {
+ "description": "Shared access keys of the partner namespace.",
+ "type": "object",
+ "properties": {
+ "key1": {
+ "description": "Shared access key1 for the partner namespace.",
+ "type": "string"
+ },
+ "key2": {
+ "description": "Shared access key2 for the partner namespace.",
+ "type": "string"
+ }
+ }
+ },
+ "PartnerNamespaceRegenerateKeyRequest": {
+ "description": "PartnerNamespace regenerate shared access key request.",
+ "required": [
+ "keyName"
+ ],
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "description": "Key name to regenerate (key1 or key2).",
+ "type": "string"
+ }
+ }
+ },
+ "PartnerRegistrationProperties": {
+ "description": "Properties of the partner registration.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the partner registration.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PartnerRegistrationProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "partnerName": {
+ "description": "Official name of the partner name. For example: \"Contoso\".",
+ "type": "string"
+ },
+ "partnerResourceTypeName": {
+ "description": "Name of the partner resource type.",
+ "type": "string"
+ },
+ "partnerResourceTypeDisplayName": {
+ "description": "Display name of the partner resource type.",
+ "type": "string"
+ },
+ "partnerResourceTypeDescription": {
+ "description": "Short description of the partner resource type. The length of this description should not exceed 256 characters.",
+ "type": "string"
+ },
+ "longDescription": {
+ "description": "Long description for the custom scenarios and integration to be displayed in the portal if needed.\r\nLength of this description should not exceed 2048 characters.",
+ "type": "string"
+ },
+ "partnerCustomerServiceNumber": {
+ "description": "The customer service number of the publisher. The expected phone format should start with a '+' sign \r\nfollowed by the country code. The remaining digits are then followed. Only digits and spaces are allowed and its\r\nlength cannot exceed 16 digits including country code. Examples of valid phone numbers are: +1 515 123 4567 and\r\n+966 7 5115 2471. Examples of invalid phone numbers are: +1 (515) 123-4567, 1 515 123 4567 and +966 121 5115 24 7 551 1234 43",
+ "type": "string"
+ },
+ "partnerCustomerServiceExtension": {
+ "description": "The extension of the customer service number of the publisher. Only digits are allowed and number of digits should not exceed 10.",
+ "type": "string"
+ },
+ "customerServiceUri": {
+ "description": "The extension of the customer service URI of the publisher.",
+ "type": "string"
+ },
+ "setupUri": {
+ "description": "URI of the partner website that can be used by Azure customers to setup Event Grid\r\nintegration on an event source.",
+ "type": "string"
+ },
+ "logoUri": {
+ "description": "URI of the logo.",
+ "type": "string"
+ },
+ "visibilityState": {
+ "description": "Visibility state of the partner registration.",
+ "enum": [
+ "Hidden",
+ "PublicPreview",
+ "GenerallyAvailable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PartnerRegistrationVisibilityState",
+ "modelAsString": true
+ }
+ },
+ "authorizedAzureSubscriptionIds": {
+ "description": "List of Azure subscription Ids that are authorized to create a partner namespace\r\nassociated with this partner registration. This is an optional property. Creating\r\npartner namespaces is always permitted under the same Azure subscription as the one used\r\nfor creating the partner registration.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PartnerRegistration": {
+ "description": "Information about a partner registration.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PartnerRegistrationProperties",
+ "description": "Properties of the partner registration.",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "description": "The system metadata relating to Partner Registration resource.",
+ "type": "object",
+ "readOnly": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "PartnerRegistrationUpdateParameters": {
+ "description": "Properties of the Partner Registration update.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Tags of the partner registration resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "partnerTopicTypeName": {
+ "description": "Name of the partner topic type.",
+ "type": "string"
+ },
+ "partnerTopicTypeDisplayName": {
+ "description": "Display name of the partner topic type.",
+ "type": "string"
+ },
+ "partnerTopicTypeDescription": {
+ "description": "Description of the partner topic type.",
+ "type": "string"
+ },
+ "setupUri": {
+ "description": "URI of the partner website that can be used by Azure customers to setup Event Grid\r\nintegration on an event source.",
+ "type": "string"
+ },
+ "logoUri": {
+ "description": "URI of the partner logo.",
+ "type": "string"
+ },
+ "authorizedAzureSubscriptionIds": {
+ "description": "List of IDs of Azure AD applications that are authorized to create a partner namespace\r\nassociated with this partner registration. This is an optional property. Creating\r\npartner namespaces is always permitted under the same Azure subscription as the one used\r\nfor creating the partner registration.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PartnerRegistrationsListResult": {
+ "description": "Result of the List Partner Registrations operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of partner registrations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PartnerRegistration"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of partner registrations.",
+ "type": "string"
+ }
+ }
+ },
+ "EventTypeProperties": {
+ "description": "Properties of the event type",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "description": "Display name of the event type.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the event type.",
+ "type": "string"
+ },
+ "schemaUrl": {
+ "description": "Url of the schema for this event type.",
+ "type": "string"
+ },
+ "isInDefaultSet": {
+ "description": "IsInDefaultSet flag of the event type.",
+ "type": "boolean"
+ }
+ }
+ },
+ "EventType": {
+ "description": "Event Type for a subject under a topic",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EventTypeProperties",
+ "description": "Properties of the event type.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PartnerTopicUpdateParameters": {
+ "description": "Properties of the Partner Topic update.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Tags of the Partner Topic resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityInfo",
+ "description": "Identity information for the Partner Topic resource."
+ }
+ }
+ },
+ "PartnerTopicProperties": {
+ "description": "Properties of the Partner Topic.",
+ "type": "object",
+ "properties": {
+ "source": {
+ "description": "Source associated with this partner topic. This represents a unique partner resource.",
+ "type": "string"
+ },
+ "expirationTimeIfNotActivatedUtc": {
+ "format": "date-time",
+ "description": "Expiration time of the partner topic. If this timer expires while the partner topic is still never activated,\r\nthe partner topic and corresponding event channel are deleted.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the partner topic.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PartnerTopicProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "activationState": {
+ "description": "Activation state of the partner topic.",
+ "enum": [
+ "NeverActivated",
+ "Activated",
+ "Deactivated"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PartnerTopicActivationState",
+ "modelAsString": true
+ }
+ },
+ "partnerTopicFriendlyDescription": {
+ "description": "Friendly description about the topic. This can be set by the publisher/partner to show custom description for the customer partner topic.\r\nThis will be helpful to remove any ambiguity of the origin of creation of the partner topic for the customer.",
+ "type": "string"
+ }
+ }
+ },
+ "PartnerTopic": {
+ "description": "EventGrid Partner Topic.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PartnerTopicProperties",
+ "description": "Properties of the partner topic.",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "description": "The system metadata relating to Partner Topic resource.",
+ "type": "object",
+ "readOnly": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityInfo",
+ "description": "Identity information for the Partner Topic resource."
+ }
+ }
+ },
+ "PartnerTopicsListResult": {
+ "description": "Result of the List Partner Topics operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of partner topics.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PartnerTopic"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of partner topics.",
+ "type": "string"
+ }
+ }
+ },
+ "EventTypesListResult": {
+ "description": "Result of the List Event Types operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of event types",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EventType"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnectionListResult": {
+ "description": "Result of the list of all private endpoint connections operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of private endpoint connection resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of private endpoint connection resources.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "Information of the private link resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Properties of the private link resource.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "Fully qualified identifier of the resource.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the resource.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of the resource.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkResourceProperties": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "type": "string"
+ },
+ "displayName": {
+ "type": "string"
+ },
+ "requiredMembers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "requiredZoneNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PrivateLinkResourcesListResult": {
+ "description": "Result of the List private link resources operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of private link resources",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of private link resources.",
+ "type": "string"
+ }
+ }
+ },
+ "SystemTopicProperties": {
+ "description": "Properties of the System Topic.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the system topic.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ResourceProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "source": {
+ "description": "Source for the system topic.",
+ "type": "string"
+ },
+ "topicType": {
+ "description": "TopicType for the system topic.",
+ "type": "string"
+ },
+ "metricResourceId": {
+ "description": "Metric resource id for the system topic.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SystemTopic": {
+ "description": "EventGrid System Topic.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SystemTopicProperties",
+ "description": "Properties of the system topic.",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "description": "The system metadata relating to System Topic resource.",
+ "type": "object",
+ "readOnly": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityInfo",
+ "description": "Identity information for the resource."
+ }
+ }
+ },
+ "SystemTopicUpdateParameters": {
+ "description": "Properties of the System Topic update.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Tags of the system topic.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityInfo",
+ "description": "Resource identity information."
+ }
+ }
+ },
+ "SystemTopicsListResult": {
+ "description": "Result of the List System topics operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of system Topics.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SystemTopic"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of topics.",
+ "type": "string"
+ }
+ }
+ },
+ "TopicProperties": {
+ "description": "Properties of the Topic.",
+ "type": "object",
+ "properties": {
+ "privateEndpointConnections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the topic.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "TopicProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "endpoint": {
+ "description": "Endpoint for the topic.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inputSchema": {
+ "description": "This determines the format that Event Grid should expect for incoming events published to the topic.",
+ "enum": [
+ "EventGridSchema",
+ "CustomEventSchema",
+ "CloudEventSchemaV1_0"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InputSchema",
+ "modelAsString": true
+ },
+ "default": "EventGridSchema"
+ },
+ "inputSchemaMapping": {
+ "$ref": "#/definitions/InputSchemaMapping",
+ "description": "This enables publishing using custom event schemas. An InputSchemaMapping can be specified to map various properties of a source schema to various required properties of the EventGridEvent schema."
+ },
+ "metricResourceId": {
+ "description": "Metric resource id for the topic.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publicNetworkAccess": {
+ "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "default": "Enabled"
+ },
+ "inboundIpRules": {
+ "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundIpRule"
+ }
+ },
+ "disableLocalAuth": {
+ "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the topic.",
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ },
+ "ExtendedLocation": {
+ "description": "Definition of an Extended Location",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Fully qualified name of the extended location.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of the extended location.",
+ "type": "string"
+ }
+ }
+ },
+ "Topic": {
+ "description": "EventGrid Topic",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TopicProperties",
+ "description": "Properties of the topic.",
+ "x-ms-client-flatten": true
+ },
+ "sku": {
+ "$ref": "#/definitions/ResourceSku",
+ "description": "The Sku pricing tier for the topic."
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityInfo",
+ "description": "Identity information for the resource."
+ },
+ "kind": {
+ "description": "Kind of the resource.",
+ "enum": [
+ "Azure",
+ "AzureArc"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceKind",
+ "modelAsString": true
+ },
+ "default": "Azure"
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "Extended location of the resource."
+ },
+ "systemData": {
+ "description": "The system metadata relating to Topic resource.",
+ "type": "object",
+ "readOnly": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "TopicUpdateParameters": {
+ "description": "Properties of the Topic update",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Tags of the Topic resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityInfo",
+ "description": "Topic resource identity information."
+ },
+ "properties": {
+ "$ref": "#/definitions/TopicUpdateParameterProperties",
+ "description": "Properties of the Topic resource.",
+ "x-ms-client-flatten": true
+ },
+ "sku": {
+ "$ref": "#/definitions/ResourceSku",
+ "description": "The Sku pricing tier for the topic."
+ }
+ }
+ },
+ "TopicUpdateParameterProperties": {
+ "description": "Information of topic update parameter properties.",
+ "type": "object",
+ "properties": {
+ "publicNetworkAccess": {
+ "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ }
+ },
+ "inboundIpRules": {
+ "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundIpRule"
+ }
+ },
+ "disableLocalAuth": {
+ "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the topic.",
+ "type": "boolean"
+ }
+ }
+ },
+ "TopicsListResult": {
+ "description": "Result of the List Topics operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of Topics",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Topic"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of topics",
+ "type": "string"
+ }
+ }
+ },
+ "TopicSharedAccessKeys": {
+ "description": "Shared access keys of the Topic",
+ "type": "object",
+ "properties": {
+ "key1": {
+ "description": "Shared access key1 for the topic.",
+ "type": "string"
+ },
+ "key2": {
+ "description": "Shared access key2 for the topic.",
+ "type": "string"
+ }
+ }
+ },
+ "TopicRegenerateKeyRequest": {
+ "description": "Topic regenerate share access key request",
+ "required": [
+ "keyName"
+ ],
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "description": "Key name to regenerate key1 or key2",
+ "type": "string"
+ }
+ }
+ },
+ "ExtensionTopicProperties": {
+ "description": "Properties of the Extension Topic",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description of the extension topic.",
+ "type": "string"
+ },
+ "systemTopic": {
+ "description": "System topic resource id which is mapped to the source.",
+ "type": "string"
+ }
+ }
+ },
+ "ExtensionTopic": {
+ "description": "Event grid Extension Topic. This is used for getting Event Grid related metrics for Azure resources.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ExtensionTopicProperties",
+ "description": "Properties of the extension topic",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "TopicTypesListResult": {
+ "description": "Result of the List Topic Types operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of topic types",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TopicTypeInfo"
+ }
+ }
+ }
+ },
+ "TopicTypeProperties": {
+ "description": "Properties of a topic type.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Namespace of the provider of the topic type.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Display Name for the topic type.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the topic type.",
+ "type": "string"
+ },
+ "resourceRegionType": {
+ "description": "Region type of the resource.",
+ "enum": [
+ "RegionalResource",
+ "GlobalResource"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceRegionType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the topic type",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TopicTypeProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "supportedLocations": {
+ "description": "List of locations supported by this topic type.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "sourceResourceFormat": {
+ "description": "Source resource format.",
+ "type": "string"
+ },
+ "supportedScopesForSource": {
+ "description": "Supported source scopes.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Resource",
+ "ResourceGroup",
+ "AzureSubscription"
+ ],
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TopicTypeInfo": {
+ "description": "Properties of a topic type info.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TopicTypeProperties",
+ "description": "Properties of the topic type info",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "required": true,
+ "type": "string"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Version of the API to be used with the client request.",
+ "required": true,
+ "type": "string"
+ },
+ "FilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "description": "The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "TopParameter": {
+ "name": "$top",
+ "in": "query",
+ "description": "The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/DomainTopics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/DomainTopics_CreateOrUpdate.json
new file mode 100644
index 000000000000..85cea2d99df6
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/DomainTopics_CreateOrUpdate.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain1",
+ "domainTopicName": "exampledomaintopic1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1/topics/exampledomaintopic1",
+ "name": "exampledomaintopic1",
+ "type": "Microsoft.EventGrid/domains/topics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/DomainTopics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/DomainTopics_Delete.json
new file mode 100644
index 000000000000..850b159c4413
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/DomainTopics_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain1",
+ "domainTopicName": "exampledomaintopic1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/DomainTopics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/DomainTopics_Get.json
new file mode 100644
index 000000000000..832b42e4f7b0
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/DomainTopics_Get.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain2",
+ "domainTopicName": "topic1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2/topics/topic1",
+ "name": "topic1",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.EventGrid/domains/topics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/DomainTopics_ListByDomain.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/DomainTopics_ListByDomain.json
new file mode 100644
index 000000000000..07021b9965b8
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/DomainTopics_ListByDomain.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain2",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/devexprg/providers/Microsoft.EventGrid/domains/domainCli100/topics/domainCli100topic1",
+ "name": "domainCli100topic1",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.EventGrid/domains/topics"
+ },
+ {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/devexprg/providers/Microsoft.EventGrid/domains/domainCli100/topics/domainCli100topic2",
+ "name": "domainCli100topic2",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.EventGrid/domains/topics"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_CreateOrUpdate.json
new file mode 100644
index 000000000000..e148bc951f4b
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_CreateOrUpdate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain1",
+ "api-version": "2021-06-01-preview",
+ "domainInfo": {
+ "location": "westus2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "publicNetworkAccess": "Enabled",
+ "inboundIpRules": [
+ {
+ "ipMask": "12.18.30.15",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "12.18.176.1",
+ "action": "Allow"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Enabled",
+ "inboundIpRules": [
+ {
+ "ipMask": "12.18.30.15",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "12.18.176.1",
+ "action": "Allow"
+ }
+ ]
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1",
+ "location": "westus2",
+ "name": "exampledomain1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_Delete.json
new file mode 100644
index 000000000000..fe053c439ce3
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_Get.json
new file mode 100644
index 000000000000..f31a54a75120
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain2",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2",
+ "location": "westcentralus",
+ "name": "exampledomain2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_ListByResourceGroup.json
new file mode 100644
index 000000000000..74ba50db6a12
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_ListByResourceGroup.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1",
+ "location": "westus2",
+ "name": "exampledomain1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ },
+ {
+ "properties": {
+ "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2",
+ "location": "westcentralus",
+ "name": "exampledomain2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_ListBySubscription.json
new file mode 100644
index 000000000000..4045d12c803f
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_ListBySubscription.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1",
+ "location": "westus2",
+ "name": "exampledomain1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ },
+ {
+ "properties": {
+ "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2",
+ "location": "westcentralus",
+ "name": "exampledomain2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_ListSharedAccessKeys.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_ListSharedAccessKeys.json
new file mode 100644
index 000000000000..b2130ada0546
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_ListSharedAccessKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain2",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "testKey1Value",
+ "key2": "testKey2Value"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_RegenerateKey.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_RegenerateKey.json
new file mode 100644
index 000000000000..3353e6ee3401
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_RegenerateKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain2",
+ "api-version": "2021-06-01-preview",
+ "regenerateKeyRequest": {
+ "keyName": "key1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "testKey1Value",
+ "key2": "testKey2Value"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_Update.json
new file mode 100644
index 000000000000..6fc61b59924b
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Domains_Update.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain1",
+ "api-version": "2021-06-01-preview",
+ "domainUpdateParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "publicNetworkAccess": "Enabled",
+ "inboundIpRules": [
+ {
+ "ipMask": "12.18.30.15",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "12.18.176.1",
+ "action": "Allow"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "201": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Enabled",
+ "inboundIpRules": [
+ {
+ "ipMask": "12.18.30.15",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "12.18.176.1",
+ "action": "Allow"
+ }
+ ]
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1",
+ "location": "westus2",
+ "name": "exampledomain1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventChannels_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventChannels_CreateOrUpdate.json
new file mode 100644
index 000000000000..3ae654c2a189
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventChannels_CreateOrUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerNamespaceName": "examplePartnerNamespaceName1",
+ "eventChannelName": "exampleEventChannelName1",
+ "api-version": "2021-06-01-preview",
+ "eventChannelInfo": {
+ "properties": {
+ "source": {
+ "source": "ContosoCorp.Accounts.User1"
+ },
+ "destination": {
+ "azureSubscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroup": "examplerg2",
+ "partnerTopicName": "examplePartnerTopic1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "source": {
+ "source": "ContosoCorp.Accounts.User1"
+ },
+ "destination": {
+ "azureSubscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroup": "examplerg2",
+ "partnerTopicName": "examplePartnerTopic1"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerNamespaces/partnerNamespace123/eventChannels/exampleEventChannelName1",
+ "name": "exampleEventChannelName1",
+ "type": "Microsoft.EventGrid/partnerNamespaces/eventChannels"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventChannels_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventChannels_Delete.json
new file mode 100644
index 000000000000..224e368788a5
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventChannels_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerNamespaceName": "examplePartnerNamespaceName1",
+ "eventChannelName": "exampleEventChannelName",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventChannels_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventChannels_Get.json
new file mode 100644
index 000000000000..1f57e7e14ab9
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventChannels_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerNamespaceName": "examplePartnerNamespaceName1",
+ "eventChannelName": "exampleEventChannelName1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "source": {
+ "source": "ContosoCorp.Accounts.User1"
+ },
+ "destination": {
+ "azureSubscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroup": "examplerg2",
+ "partnerTopicName": "examplePartnerTopic1"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerNamespaces/partnerNamespace123/eventChannels/exampleEventChannelName1",
+ "name": "exampleEventChannelName1",
+ "type": "Microsoft.EventGrid/partnerNamespaces/eventChannels"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventChannels_ListByPartnerNamespace.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventChannels_ListByPartnerNamespace.json
new file mode 100644
index 000000000000..297d7ef956cd
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventChannels_ListByPartnerNamespace.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerNamespaceName": "partnerNamespace123",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "source": {
+ "source": "ContosoCorp.Accounts.User1"
+ },
+ "destination": {
+ "azureSubscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroup": "amh",
+ "partnerTopicName": "examplePartnerTopic1"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/amh/providers/Microsoft.EventGrid/partnerNamespaces/partnerNamespace123/eventChannels/eventChannel1234",
+ "name": "eventChannel1234",
+ "type": "Microsoft.EventGrid/partnerNamespaces/eventChannels"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json
new file mode 100644
index 000000000000..d1a6fa923b05
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "EventHub",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1"
+ },
+ "endpointType": "EventHub"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "provisioningState": "Creating",
+ "labels": null,
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json
new file mode 100644
index 000000000000..c0184f05e893
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "HybridConnection",
+ "properties": {
+ "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Relay/namespaces/ContosoNamespace/hybridConnections/HC1"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Relay/namespaces/ContosoNamespace/hybridConnections/HC1"
+ },
+ "endpointType": "HybridConnection"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "provisioningState": "Creating",
+ "labels": null,
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json
new file mode 100644
index 000000000000..0218cb8ffb3d
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "StorageQueue",
+ "properties": {
+ "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "queueName": "queue1",
+ "queueMessageTimeToLiveInSeconds": 300
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "queueName": "queue1",
+ "queueMessageTimeToLiveInSeconds": 300
+ },
+ "endpointType": "StorageQueue"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "provisioningState": "Creating",
+ "labels": null,
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json
new file mode 100644
index 000000000000..f9d31fddfbf8
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "EventHub",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForResource.json
new file mode 100644
index 000000000000..aba73eee5083
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForResource.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1",
+ "eventSubscriptionName": "examplesubscription10",
+ "api-version": "2021-06-01-preview",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10",
+ "name": "examplesubscription10",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json
new file mode 100644
index 000000000000..3e99e7035a5e
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2021-06-01-preview",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForSubscription.json
new file mode 100644
index 000000000000..808ef4ee4744
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_CreateOrUpdateForSubscription.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2021-06-01-preview",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_DeleteForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_DeleteForCustomTopic.json
new file mode 100644
index 000000000000..4a4ac67289f4
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_DeleteForCustomTopic.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_DeleteForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_DeleteForResource.json
new file mode 100644
index 000000000000..f3c81358f838
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_DeleteForResource.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1",
+ "eventSubscriptionName": "examplesubscription10",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_DeleteForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_DeleteForResourceGroup.json
new file mode 100644
index 000000000000..563917d16376
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_DeleteForResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_DeleteForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_DeleteForSubscription.json
new file mode 100644
index 000000000000..7d30ba89015f
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_DeleteForSubscription.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetDeliveryAttributes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetDeliveryAttributes.json
new file mode 100644
index 000000000000..fdd30447d7ef
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetDeliveryAttributes.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "header1",
+ "type": "Static",
+ "properties": {
+ "value": "NormalValue",
+ "isSecret": false
+ }
+ },
+ {
+ "name": "header2",
+ "type": "Dynamic",
+ "properties": {
+ "sourceField": "data.foo"
+ }
+ },
+ {
+ "name": "header3",
+ "type": "Static",
+ "properties": {
+ "value": "mySecretValue",
+ "isSecret": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetForCustomTopic.json
new file mode 100644
index 000000000000..fa4451b5adf2
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetForCustomTopic.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetForResource.json
new file mode 100644
index 000000000000..0ef6cc0941b5
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetForResource.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1"
+ },
+ "endpointType": "EventHub"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetForResourceGroup.json
new file mode 100644
index 000000000000..ace21db9229d
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetForResourceGroup.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetForSubscription.json
new file mode 100644
index 000000000000..c925aaf3e392
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetForSubscription.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetFullUrlForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetFullUrlForCustomTopic.json
new file mode 100644
index 000000000000..3d2c67eafa3e
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetFullUrlForCustomTopic.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetFullUrlForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetFullUrlForResource.json
new file mode 100644
index 000000000000..dba9fbb9daa9
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetFullUrlForResource.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetFullUrlForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetFullUrlForResourceGroup.json
new file mode 100644
index 000000000000..da5399e77d9e
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetFullUrlForResourceGroup.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetFullUrlForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetFullUrlForSubscription.json
new file mode 100644
index 000000000000..51b7a5fdc904
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_GetFullUrlForSubscription.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListByDomainTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListByDomainTopic.json
new file mode 100644
index 000000000000..b24989918384
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListByDomainTopic.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "domain1",
+ "topicName": "topic1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/domains/domain1/topics/topic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/domains/domain1/topics/topic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "labels": [],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/domains/domain1/topics/topic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListByResource.json
new file mode 100644
index 000000000000..e4cb02bea1ec
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListByResource.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "providerNamespace": "Microsoft.EventGrid",
+ "resourceTypeName": "topics",
+ "resourceName": "exampletopic2",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "labels": [],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListGlobalByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListGlobalByResourceGroup.json
new file mode 100644
index 000000000000..faac65a36e7b
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListGlobalByResourceGroup.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription4",
+ "name": "examplesubscription4",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json
new file mode 100644
index 000000000000..93d8a6dbfb3d
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicTypeName": "Microsoft.Resources.ResourceGroups",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListGlobalBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListGlobalBySubscription.json
new file mode 100644
index 000000000000..faa9f7b681d9
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListGlobalBySubscription.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription4",
+ "name": "examplesubscription4",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json
new file mode 100644
index 000000000000..a441ca98312c
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "topicTypeName": "Microsoft.Resources.Subscriptions",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListRegionalByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListRegionalByResourceGroup.json
new file mode 100644
index 000000000000..1cf126e8c808
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListRegionalByResourceGroup.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "location": "westus2",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10",
+ "name": "examplesubscription10",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11",
+ "name": "examplesubscription11",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json
new file mode 100644
index 000000000000..e04f42f422d1
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "location": "westus2",
+ "topicTypeName": "Microsoft.EventHub.namespaces",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10",
+ "name": "examplesubscription10",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11",
+ "name": "examplesubscription11",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListRegionalBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListRegionalBySubscription.json
new file mode 100644
index 000000000000..a43e26350d00
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListRegionalBySubscription.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "location": "westus2",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1"
+ },
+ "endpointType": "EventHub"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10",
+ "name": "examplesubscription10",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11",
+ "name": "examplesubscription11",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json
new file mode 100644
index 000000000000..c62c8338d267
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "location": "westus2",
+ "topicTypeName": "Microsoft.EventHub.namespaces",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10",
+ "name": "examplesubscription10",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11",
+ "name": "examplesubscription11",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_UpdateForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_UpdateForCustomTopic.json
new file mode 100644
index 000000000000..031691c65eef
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_UpdateForCustomTopic.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview",
+ "eventSubscriptionUpdateParameters": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_UpdateForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_UpdateForResource.json
new file mode 100644
index 000000000000..ec139092d6c3
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_UpdateForResource.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview",
+ "eventSubscriptionUpdateParameters": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_UpdateForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_UpdateForResourceGroup.json
new file mode 100644
index 000000000000..5fc6d9ef0692
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_UpdateForResourceGroup.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2021-06-01-preview",
+ "eventSubscriptionUpdateParameters": {
+ "destination": {
+ "endpointType": "EventHub",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_UpdateForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_UpdateForSubscription.json
new file mode 100644
index 000000000000..59d570fc1ecc
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/EventSubscriptions_UpdateForSubscription.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2021-06-01-preview",
+ "eventSubscriptionUpdateParameters": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/ExtensionTopics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/ExtensionTopics_Get.json
new file mode 100644
index 000000000000..9a3a9ef9da81
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/ExtensionTopics_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.storage/storageaccounts/exampleResourceName/providers/Microsoft.eventgrid/extensionTopics/default",
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "providerNamespace": "microsoft.storage",
+ "resourceTypeName": "storageaccounts",
+ "resourceName": "exampleResourceName",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "Extension topic for /subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.storage/storageaccounts/exampleResourceName/providers/Microsoft.eventgrid/extensionTopics/default that can be used to obtain metrics",
+ "systemTopic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleResourceName-2a41650f-00dd-4790-b3ab-dabd12d227cb"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.storage/storageaccounts/exampleResourceName/providers/Microsoft.eventgrid/extensionTopics/default",
+ "name": "default",
+ "type": "providers/Microsoft.EventGrid/extensionTopics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Operations_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Operations_List.json
new file mode 100644
index 000000000000..ed591760d6c5
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Operations_List.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.EventGrid/register/action",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "EventGrid Resource Provider",
+ "operation": "Registers the EventGrid Resource Provider",
+ "description": "Registers the eventSubscription for the EventGrid resource provider and enables the creation of Event Grid subscriptions."
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/eventSubscriptions/write",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "eventSubscriptions",
+ "operation": "Write EventSubscription",
+ "description": "Create or update a eventSubscription"
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/eventSubscriptions/read",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "eventSubscriptions",
+ "operation": "Read EventSubscription",
+ "description": "Read a eventSubscription"
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/eventSubscriptions/delete",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "eventSubscriptions",
+ "operation": "Delete EventSubscription",
+ "description": "Delete a eventSubscription"
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/topics/write",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "topics",
+ "operation": "Write Topic",
+ "description": "Create or update a topic"
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/topics/read",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "topics",
+ "operation": "Read Topic",
+ "description": "Read a topic"
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/topics/delete",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "topics",
+ "operation": "Delete Topic",
+ "description": "Delete a topic"
+ },
+ "origin": "UserAndSystem"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_CreateOrUpdate.json
new file mode 100644
index 000000000000..40d4a5d92bc1
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_CreateOrUpdate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerNamespaceName": "examplePartnerNamespaceName1",
+ "api-version": "2021-06-01-preview",
+ "partnerNamespaceInfo": {
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "partnerRegistrationFullyQualifiedId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/ContosoCorpAccount1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "partnerRegistrationFullyQualifiedId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/ContosoCorpAccount1",
+ "endpoint": "https://examplePartnerNamespaceName1.centraluseuap-1.eventgrid.azure.net/api/events"
+ },
+ "location": "westus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerNamespaces/examplePartnerNamespaceName1",
+ "name": "examplePartnerNamespaceName1",
+ "type": "Microsoft.EventGrid/partnerNamespaces"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_Delete.json
new file mode 100644
index 000000000000..574a24996c4b
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerNamespaceName": "examplePartnerNamespaceName1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_Get.json
new file mode 100644
index 000000000000..ae366db7bc74
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerNamespaceName": "examplePartnerNamespaceName1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "partnerRegistrationFullyQualifiedId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/ContosoCorpAccount1",
+ "endpoint": "https://examplePartnerNamespaceName1.centraluseuap-1.eventgrid.azure.net/api/events"
+ },
+ "location": "Central US EUAP",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2",
+ "key3": "value3"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerNamespaces/examplePartnerNamespaceName1",
+ "name": "examplePartnerNamespaceName1",
+ "type": "Microsoft.EventGrid/partnerNamespaces"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_ListByResourceGroup.json
new file mode 100644
index 000000000000..a14d550f71bf
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_ListByResourceGroup.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "partnerRegistrationFullyQualifiedId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/ContosoCorpAccount1",
+ "endpoint": "https://partnernamespace123.centraluseuap-1.eventgrid.azure.net/api/events"
+ },
+ "location": "Central US EUAP",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2",
+ "key3": "value3"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerNamespaces/partnerNamespace123",
+ "name": "partnerNamespace123",
+ "type": "Microsoft.EventGrid/partnerNamespaces"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_ListBySubscription.json
new file mode 100644
index 000000000000..42e0ec79db37
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_ListBySubscription.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "partnerRegistrationFullyQualifiedId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/amh/providers/Microsoft.EventGrid/partnerRegistrations/ContosoCorpAccount1",
+ "endpoint": "https://partnernamespace123.centraluseuap-1.eventgrid.azure.net/api/events"
+ },
+ "location": "Central US EUAP",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2",
+ "key3": "value3"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/amh/providers/Microsoft.EventGrid/partnerNamespaces/partnerNamespace123",
+ "name": "partnerNamespace123",
+ "type": "Microsoft.EventGrid/partnerNamespaces"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_ListSharedAccessKeys.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_ListSharedAccessKeys.json
new file mode 100644
index 000000000000..ddb4feae4189
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_ListSharedAccessKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerNamespaceName": "examplePartnerNamespaceName1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "testKey1Value",
+ "key2": "testKey2Value"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_RegenerateKey.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_RegenerateKey.json
new file mode 100644
index 000000000000..0f9c8b73234d
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_RegenerateKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerNamespaceName": "examplePartnerNamespaceName1",
+ "api-version": "2021-06-01-preview",
+ "regenerateKeyRequest": {
+ "keyName": "key1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "testKey1Value",
+ "key2": "testKey2Value"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_Update.json
new file mode 100644
index 000000000000..3dc39b928401
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerNamespaces_Update.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerNamespaceName": "examplePartnerNamespaceName1",
+ "api-version": "2021-06-01-preview",
+ "partnerNamespaceUpdateParameters": {
+ "tags": {
+ "tag1": "value1"
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "partnerRegistrationFullyQualifiedId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/ContosoCorpAccount1",
+ "endpoint": "https://examplePartnerNamespaceName1.centraluseuap-1.eventgrid.azure.net/api/events"
+ },
+ "location": "Central US EUAP",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerNamespaces/examplePartnerNamespaceName1",
+ "name": "examplePartnerNamespaceName1",
+ "type": "Microsoft.EventGrid/partnerNamespaces"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_CreateOrUpdate.json
new file mode 100644
index 000000000000..06558ceee3a3
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_CreateOrUpdate.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerRegistrationName": "examplePartnerRegistrationName1",
+ "api-version": "2021-06-01-preview",
+ "partnerRegistrationInfo": {
+ "properties": {
+ "partnerName": "ContosoCorp",
+ "partnerResourceTypeName": "ContosoCorp.Accounts",
+ "partnerResourceTypeDisplayName": "ContocoCorp Accounts DisplayName Text",
+ "partnerResourceTypeDescription": "ContocoCorp Accounts Description Text",
+ "setupUri": "https://www.example.com/setup.html",
+ "logoUri": "https://www.example.com/logo.png",
+ "authorizedAzureSubscriptionIds": [
+ "d48566a8-2428-4a6c-8347-9675d09fb851"
+ ]
+ },
+ "location": "global",
+ "tags": {
+ "key1": "value1",
+ "key2": "Value2",
+ "key3": "Value3"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "partnerName": "ContosoCorp",
+ "partnerResourceTypeName": "ContosoCorp.Accounts",
+ "partnerResourceTypeDisplayName": "ContocoCorp Accounts DisplayName Text",
+ "partnerResourceTypeDescription": "ContocoCorp Accounts Description Text",
+ "setupUri": "https://www.example.com/setup.html",
+ "logoUri": "https://www.example.com/logo.png",
+ "visibilityState": "Hidden",
+ "authorizedAzureSubscriptionIds": [
+ "d48566a8-2428-4a6c-8347-9675d09fb851"
+ ]
+ },
+ "location": "global",
+ "tags": {
+ "key1": "value1",
+ "key2": "Value2",
+ "key3": "Value3"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/examplePartnerRegistrationName1",
+ "name": "examplePartnerRegistrationName1",
+ "type": "Microsoft.EventGrid/partnerRegistrations"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "partnerName": "ContosoCorp",
+ "partnerResourceTypeName": "ContosoCorp.Accounts",
+ "partnerResourceTypeDisplayName": "ContocoCorp Accounts DisplayName Text",
+ "partnerResourceTypeDescription": "ContocoCorp Accounts Description Text",
+ "setupUri": "https://www.example.com/setup.html",
+ "logoUri": "https://www.example.com/logo.png",
+ "visibilityState": "Hidden",
+ "authorizedAzureSubscriptionIds": [
+ "d48566a8-2428-4a6c-8347-9675d09fb851"
+ ]
+ },
+ "location": "global",
+ "tags": {
+ "key1": "value1",
+ "key2": "Value2",
+ "key3": "Value3"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/examplePartnerRegistrationName1",
+ "name": "examplePartnerRegistrationName1",
+ "type": "Microsoft.EventGrid/partnerRegistrations"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_Delete.json
new file mode 100644
index 000000000000..ef37d8abafca
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerRegistrationName": "examplePartnerRegistrationName1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_Get.json
new file mode 100644
index 000000000000..1d01e45b3614
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_Get.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerRegistrationName": "examplePartnerRegistrationName1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "partnerName": "ContosoCorp",
+ "partnerResourceTypeName": "ContosoCorp.Accounts",
+ "partnerResourceTypeDisplayName": "ContocoCorp Accounts DisplayName Text",
+ "partnerResourceTypeDescription": "ContocoCorp Accounts Description Text",
+ "setupUri": "https://www.example.com/setup.html",
+ "logoUri": "https://www.example.com/logo.png",
+ "visibilityState": "Hidden",
+ "authorizedAzureSubscriptionIds": [
+ "348566c8-1238-3a6c-83bb-6575d12fb00f"
+ ]
+ },
+ "location": "global",
+ "tags": {
+ "key1": "value1",
+ "key2": "Value2",
+ "key3": "Value3"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/examplePartnerRegistrationName1",
+ "name": "examplePartnerRegistrationName1",
+ "type": "Microsoft.EventGrid/partnerRegistrations"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_ListByResourceGroup.json
new file mode 100644
index 000000000000..02d40bbcfb0b
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_ListByResourceGroup.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "partnerName": "ContosoCorp",
+ "partnerResourceTypeName": "ContosoCorp.Accounts",
+ "partnerResourceTypeDisplayName": "ContocoCorp Accounts DisplayName Text",
+ "partnerResourceTypeDescription": "ContocoCorp Accounts Description Text",
+ "setupUri": "https://www.example.com/setup.html",
+ "logoUri": "https://www.example.com/logo.png",
+ "visibilityState": "Hidden",
+ "authorizedAzureSubscriptionIds": [
+ "d48566a8-2428-4a6c-8347-9675d09fb851"
+ ]
+ },
+ "location": "global",
+ "tags": {
+ "key1": "value1",
+ "key2": "Value2",
+ "key3": "Value3"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/amh/providers/Microsoft.EventGrid/partnerRegistrations/ContosoCorpAccount1",
+ "name": "ContosoCorpAccount1",
+ "type": "Microsoft.EventGrid/partnerRegistrations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_ListBySubscription.json
new file mode 100644
index 000000000000..4f0c382d932d
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_ListBySubscription.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "partnerName": "ContosoCorp",
+ "partnerResourceTypeName": "ContosoCorp.Accounts",
+ "partnerResourceTypeDisplayName": "ContocoCorp Accounts DisplayName Text",
+ "partnerResourceTypeDescription": "ContocoCorp Accounts Description Text",
+ "setupUri": "https://www.example.com/setup.html",
+ "logoUri": "https://www.example.com/logo.png",
+ "visibilityState": "Hidden",
+ "authorizedAzureSubscriptionIds": [
+ "d48566a8-2428-4a6c-8347-9675d09fb851"
+ ]
+ },
+ "location": "global",
+ "tags": {
+ "key1": "value1",
+ "key2": "Value2",
+ "key3": "Value3"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/amh/providers/Microsoft.EventGrid/partnerRegistrations/ContosoCorpAccount1",
+ "name": "ContosoCorpAccount1",
+ "type": "Microsoft.EventGrid/partnerRegistrations"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_Update.json
new file mode 100644
index 000000000000..687286a37ecf
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerRegistrations_Update.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerRegistrationName": "examplePartnerRegistrationName1",
+ "api-version": "2021-06-01-preview",
+ "partnerRegistrationUpdateParameters": {
+ "setupUri": "https://www.example.com/newsetup.html",
+ "logoUri": "https://www.example.com/newlogo.png"
+ }
+ },
+ "responses": {
+ "200": {},
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "partnerName": "ContosoCorp",
+ "partnerResourceTypeName": "ContosoCorp.Accounts",
+ "partnerResourceTypeDisplayName": "ContocoCorp Accounts DisplayName Text",
+ "partnerResourceTypeDescription": "ContocoCorp Accounts Description Text",
+ "setupUri": "https://www.example.com/newsetup.html",
+ "logoUri": "https://www.example.com/newlogo.png",
+ "visibilityState": "Hidden",
+ "authorizedAzureSubscriptionIds": [
+ "d48566a8-2428-4a6c-8347-9675d09fb851"
+ ]
+ },
+ "location": "global",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/examplePartnerRegistrationName1",
+ "name": "examplePartnerRegistrationName1",
+ "type": "Microsoft.EventGrid/partnerRegistrations"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_CreateOrUpdate.json
new file mode 100644
index 000000000000..022e17978000
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_CreateOrUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerTopicName": "examplePartnerTopic1",
+ "eventSubscriptionName": "exampleEventSubscriptionName1",
+ "api-version": "2021-06-01-preview",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": null,
+ "eventDeliverySchema": "EventGridSchema",
+ "retryPolicy": {
+ "maxDeliveryAttempts": 30,
+ "eventTimeToLiveInMinutes": 1440
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1/eventSubscriptions/exampleEventSubscriptionName1",
+ "name": "exampleEventSubscriptionName1",
+ "type": "Microsoft.EventGrid/partnerTopics/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_Delete.json
new file mode 100644
index 000000000000..dbc47e59a97d
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerTopicName": "examplePartnerTopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_Get.json
new file mode 100644
index 000000000000..501e4b2a86e8
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_Get.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerTopicName": "examplePartnerTopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1",
+ "provisioningState": "Succeeded",
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource",
+ "queueName": "que"
+ },
+ "endpointType": "StorageQueue"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix",
+ "includedEventTypes": [
+ "Microsoft.Storage.BlobCreated",
+ "Microsoft.Storage.BlobDeleted"
+ ]
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "eventDeliverySchema": "EventGridSchema",
+ "retryPolicy": {
+ "maxDeliveryAttempts": 30,
+ "eventTimeToLiveInMinutes": 1440
+ }
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/partnerTopics/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_GetDeliveryAttributes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_GetDeliveryAttributes.json
new file mode 100644
index 000000000000..676d5ad38dd9
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_GetDeliveryAttributes.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerTopicName": "examplePartnerTopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "header1",
+ "type": "Static",
+ "properties": {
+ "value": "NormalValue",
+ "isSecret": false
+ }
+ },
+ {
+ "name": "header2",
+ "type": "Dynamic",
+ "properties": {
+ "sourceField": "data.foo"
+ }
+ },
+ {
+ "name": "header3",
+ "type": "Static",
+ "properties": {
+ "value": "mySecretValue",
+ "isSecret": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_GetFullUrl.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_GetFullUrl.json
new file mode 100644
index 000000000000..029611c6550e
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_GetFullUrl.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerTopicName": "examplePartnerTopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_ListByPartnerTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_ListByPartnerTopic.json
new file mode 100644
index 000000000000..f5fdf396effa
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_ListByPartnerTopic.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerTopicName": "examplePartnerTopic1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1",
+ "provisioningState": "Succeeded",
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource",
+ "queueName": "que"
+ },
+ "endpointType": "StorageQueue"
+ },
+ "filter": {
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "labels": [],
+ "eventDeliverySchema": "EventGridSchema",
+ "retryPolicy": {
+ "maxDeliveryAttempts": 10,
+ "eventTimeToLiveInMinutes": 1440
+ }
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/partnerTopics/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1",
+ "provisioningState": "Succeeded",
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource",
+ "queueName": "que"
+ },
+ "endpointType": "StorageQueue"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix",
+ "includedEventTypes": [
+ "Microsoft.Storage.BlobCreated",
+ "Microsoft.Storage.BlobDeleted"
+ ]
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "eventDeliverySchema": "EventGridSchema",
+ "retryPolicy": {
+ "maxDeliveryAttempts": 30,
+ "eventTimeToLiveInMinutes": 1440
+ }
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/partnerTopics/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_Update.json
new file mode 100644
index 000000000000..2d6059699a8e
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopicEventSubscriptions_Update.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerTopicName": "examplePartnerTopic1",
+ "eventSubscriptionName": "exampleEventSubscriptionName1",
+ "api-version": "2021-06-01-preview",
+ "eventSubscriptionUpdateParameters": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "eventDeliverySchema": "EventGridSchema",
+ "retryPolicy": {
+ "maxDeliveryAttempts": 30,
+ "eventTimeToLiveInMinutes": 1440
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1/eventSubscriptions/exampleEventSubscriptionName1",
+ "name": "exampleEventSubscriptionName1",
+ "type": "Microsoft.EventGrid/partnerTopics/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_Activate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_Activate.json
new file mode 100644
index 000000000000..4c94c3920c6e
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_Activate.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerTopicName": "examplePartnerTopic1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "source": "ContosoCorp.Accounts.User1",
+ "provisioningState": "Succeeded",
+ "activationState": "Activated"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1",
+ "name": "examplePartnerTopic1",
+ "type": "Microsoft.EventGrid/partnerTopics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_Deactivate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_Deactivate.json
new file mode 100644
index 000000000000..fe97250d3c90
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_Deactivate.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerTopicName": "examplePartnerTopic1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "source": "ContosoCorp.Accounts.User1",
+ "provisioningState": "Succeeded",
+ "activationState": "Deactivated"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1",
+ "name": "examplePartnerTopic1",
+ "type": "Microsoft.EventGrid/partnerTopics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_Delete.json
new file mode 100644
index 000000000000..b7e9aa8eb90e
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerTopicName": "examplePartnerTopicName1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_Get.json
new file mode 100644
index 000000000000..b3fd40812cb2
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerTopicName": "examplePartnerTopicName1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "source": "ContosoCorp.Accounts.User1",
+ "provisioningState": "Succeeded",
+ "activationState": "NeverActivated"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopicName1",
+ "name": "examplePartnerTopicName1",
+ "type": "Microsoft.EventGrid/partnerTopics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_ListByResourceGroup.json
new file mode 100644
index 000000000000..315c679cb501
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_ListByResourceGroup.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "source": "ContosoCorp.Accounts.User1",
+ "provisioningState": "Succeeded",
+ "activationState": "NeverActivated"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/amh/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1",
+ "name": "examplePartnerTopic1",
+ "type": "Microsoft.EventGrid/partnerTopics"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_ListBySubscription.json
new file mode 100644
index 000000000000..672e26ad1a06
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_ListBySubscription.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "source": "ContosoCorp.Accounts.User1",
+ "provisioningState": "Succeeded",
+ "activationState": "NeverActivated"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/amh/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1",
+ "name": "examplePartnerTopic1",
+ "type": "Microsoft.EventGrid/partnerTopics"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_Update.json
new file mode 100644
index 000000000000..f7602eaddcf7
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PartnerTopics_Update.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "partnerTopicName": "examplePartnerTopicName1",
+ "api-version": "2021-06-01-preview",
+ "partnerTopicUpdateParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "201": {
+ "body": {
+ "properties": {
+ "source": "ContosoCorp.Accounts.User1",
+ "provisioningState": "Succeeded",
+ "activationState": "NeverActivated"
+ },
+ "location": "centraluseuap",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/amh/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1",
+ "name": "examplePartnerTopic1",
+ "type": "Microsoft.EventGrid/partnerTopics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateEndpointConnections_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateEndpointConnections_Delete.json
new file mode 100644
index 000000000000..7cd3e8d6efb2
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateEndpointConnections_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "parentType": "topics",
+ "parentName": "exampletopic1",
+ "privateEndpointConnectionName": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateEndpointConnections_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateEndpointConnections_Get.json
new file mode 100644
index 000000000000..47bb67a11a0f
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateEndpointConnections_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "parentType": "topics",
+ "parentName": "exampletopic1",
+ "privateEndpointConnectionName": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5"
+ },
+ "groupIds": [
+ "topic"
+ ],
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Test",
+ "actionsRequired": "None"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "type": "Microsoft.EventGrid/topics/privateEndpointConnections"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateEndpointConnections_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateEndpointConnections_ListByResource.json
new file mode 100644
index 000000000000..4f4190c89558
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateEndpointConnections_ListByResource.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "parentType": "topics",
+ "parentName": "exampletopic1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5"
+ },
+ "groupIds": [
+ "topic"
+ ],
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Test",
+ "actionsRequired": "None"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "type": "Microsoft.EventGrid/topics/privateEndpointConnections"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateEndpointConnections_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateEndpointConnections_Update.json
new file mode 100644
index 000000000000..cc68f3afca90
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateEndpointConnections_Update.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "parentType": "topics",
+ "parentName": "exampletopic1",
+ "privateEndpointConnectionName": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "api-version": "2021-06-01-preview",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approving connection",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5"
+ },
+ "groupIds": [
+ "topic"
+ ],
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approving connection",
+ "actionsRequired": "None"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "type": "Microsoft.EventGrid/topics/privateEndpointConnections"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5"
+ },
+ "groupIds": [
+ "topic"
+ ],
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approving connection",
+ "actionsRequired": "None"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "type": "Microsoft.EventGrid/topics/privateEndpointConnections"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateLinkResources_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateLinkResources_Get.json
new file mode 100644
index 000000000000..8ec4f529765e
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateLinkResources_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "parentType": "topics",
+ "parentName": "exampletopic1",
+ "privateLinkResourceName": "topic",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "groupId": "topic",
+ "displayName": "Event Grid topic",
+ "requiredMembers": [
+ "topic"
+ ],
+ "requiredZoneNames": [
+ "privatelink.eventgrid.azure.net"
+ ]
+ },
+ "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/amh/providers/Microsoft.EventGrid/topics/exampletopic1/privateLinkResources/topic",
+ "name": "topic",
+ "type": "Microsoft.EventGrid/topics/privateLinkResources"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateLinkResources_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateLinkResources_ListByResource.json
new file mode 100644
index 000000000000..5215d751b5c4
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/PrivateLinkResources_ListByResource.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "parentType": "topics",
+ "parentName": "exampletopic1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "groupId": "topic",
+ "displayName": "Event Grid topic",
+ "requiredMembers": [
+ "topic"
+ ],
+ "requiredZoneNames": [
+ "privatelink.eventgrid.azure.net"
+ ]
+ },
+ "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/amh/providers/Microsoft.EventGrid/topics/exampletopic1/privateLinkResources/topic",
+ "name": "topic",
+ "type": "Microsoft.EventGrid/topics/privateLinkResources"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_CreateOrUpdate.json
new file mode 100644
index 000000000000..d38b393dd5ea
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_CreateOrUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "eventSubscriptionName": "exampleEventSubscriptionName1",
+ "api-version": "2021-06-01-preview",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": null,
+ "eventDeliverySchema": "EventGridSchema",
+ "retryPolicy": {
+ "maxDeliveryAttempts": 30,
+ "eventTimeToLiveInMinutes": 1440
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/exampleEventSubscriptionName1",
+ "name": "exampleEventSubscriptionName1",
+ "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_Delete.json
new file mode 100644
index 000000000000..7ad62de98b14
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_Get.json
new file mode 100644
index 000000000000..92eee757b012
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_Get.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1",
+ "provisioningState": "Succeeded",
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource",
+ "queueName": "que"
+ },
+ "endpointType": "StorageQueue"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix",
+ "includedEventTypes": [
+ "Microsoft.Storage.BlobCreated",
+ "Microsoft.Storage.BlobDeleted"
+ ]
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "eventDeliverySchema": "EventGridSchema",
+ "retryPolicy": {
+ "maxDeliveryAttempts": 30,
+ "eventTimeToLiveInMinutes": 1440
+ }
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_GetDeliveryAttributes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_GetDeliveryAttributes.json
new file mode 100644
index 000000000000..3ffdace692f0
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_GetDeliveryAttributes.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "header1",
+ "type": "Static",
+ "properties": {
+ "value": "NormalValue",
+ "isSecret": false
+ }
+ },
+ {
+ "name": "header2",
+ "type": "Dynamic",
+ "properties": {
+ "sourceField": "data.foo"
+ }
+ },
+ {
+ "name": "header3",
+ "type": "Static",
+ "properties": {
+ "value": "mySecretValue",
+ "isSecret": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_GetFullUrl.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_GetFullUrl.json
new file mode 100644
index 000000000000..57e494399c58
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_GetFullUrl.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_ListBySystemTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_ListBySystemTopic.json
new file mode 100644
index 000000000000..da7268d2b4c5
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_ListBySystemTopic.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1",
+ "provisioningState": "Succeeded",
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource",
+ "queueName": "que"
+ },
+ "endpointType": "StorageQueue"
+ },
+ "filter": {
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "labels": [],
+ "eventDeliverySchema": "EventGridSchema",
+ "retryPolicy": {
+ "maxDeliveryAttempts": 10,
+ "eventTimeToLiveInMinutes": 1440
+ }
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1",
+ "provisioningState": "Succeeded",
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource",
+ "queueName": "que"
+ },
+ "endpointType": "StorageQueue"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix",
+ "includedEventTypes": [
+ "Microsoft.Storage.BlobCreated",
+ "Microsoft.Storage.BlobDeleted"
+ ]
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "eventDeliverySchema": "EventGridSchema",
+ "retryPolicy": {
+ "maxDeliveryAttempts": 30,
+ "eventTimeToLiveInMinutes": 1440
+ }
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_Update.json
new file mode 100644
index 000000000000..9bdf21f0392f
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopicEventSubscriptions_Update.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "eventSubscriptionName": "exampleEventSubscriptionName1",
+ "api-version": "2021-06-01-preview",
+ "eventSubscriptionUpdateParameters": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "eventDeliverySchema": "EventGridSchema",
+ "retryPolicy": {
+ "maxDeliveryAttempts": 30,
+ "eventTimeToLiveInMinutes": 1440
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/exampleEventSubscriptionName1",
+ "name": "exampleEventSubscriptionName1",
+ "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_CreateOrUpdate.json
new file mode 100644
index 000000000000..6f1e705dd76b
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_CreateOrUpdate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "api-version": "2021-06-01-preview",
+ "systemTopicInfo": {
+ "properties": {
+ "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e",
+ "topicType": "microsoft.storage.storageaccounts"
+ },
+ "location": "westus2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e",
+ "topicType": "microsoft.storage.storageaccounts",
+ "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2",
+ "name": "exampleSystemTopic2",
+ "type": "Microsoft.EventGrid/systemTopics"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e",
+ "topicType": "microsoft.storage.storageaccounts",
+ "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2",
+ "name": "exampleSystemTopic2",
+ "type": "Microsoft.EventGrid/systemTopics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_Delete.json
new file mode 100644
index 000000000000..4dc3bc269b6a
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_Get.json
new file mode 100644
index 000000000000..6f2ed852108a
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic2",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e",
+ "topicType": "microsoft.storage.storageaccounts",
+ "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2",
+ "name": "exampleSystemTopic2",
+ "type": "Microsoft.EventGrid/systemTopics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_ListByResourceGroup.json
new file mode 100644
index 000000000000..6532104f0d16
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_ListByResourceGroup.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e",
+ "topicType": "microsoft.storage.storageaccounts",
+ "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/pubstgrunnerb71cd29e-86fad330-7bac-4238-8cab-9e46b75165aa",
+ "name": "pubstgrunnerb71cd29e-86fad330-7bac-4238-8cab-9e46b75165aa",
+ "type": "Microsoft.EventGrid/systemTopics"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_ListBySubscription.json
new file mode 100644
index 000000000000..7bd800851db1
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_ListBySubscription.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e",
+ "topicType": "microsoft.storage.storageaccounts",
+ "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2",
+ "name": "exampleSystemTopic2",
+ "type": "Microsoft.EventGrid/systemTopics"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_Update.json
new file mode 100644
index 000000000000..77be048df27e
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/SystemTopics_Update.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "api-version": "2021-06-01-preview",
+ "systemTopicUpdateParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e",
+ "topicType": "microsoft.storage.storageaccounts",
+ "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2",
+ "name": "exampleSystemTopic2",
+ "type": "Microsoft.EventGrid/systemTopics"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e",
+ "topicType": "microsoft.storage.storageaccounts",
+ "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2",
+ "name": "exampleSystemTopic2",
+ "type": "Microsoft.EventGrid/systemTopics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/TopicTypes_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/TopicTypes_Get.json
new file mode 100644
index 000000000000..57450a57ffe1
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/TopicTypes_Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "topicTypeName": "Microsoft.Storage.StorageAccounts",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "Microsoft Storage service events.",
+ "displayName": "Storage Accounts",
+ "provider": "Microsoft.Storage",
+ "provisioningState": "Succeeded",
+ "resourceRegionType": "RegionalResource"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts",
+ "name": "Microsoft.Storage.StorageAccounts",
+ "type": "Microsoft.EventGrid/topicTypes"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/TopicTypes_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/TopicTypes_List.json
new file mode 100644
index 000000000000..157e867cd253
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/TopicTypes_List.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "Microsoft EventHubs service events.",
+ "displayName": "EventHubs Namespace",
+ "provider": "Microsoft.Eventhub",
+ "provisioningState": "Succeeded",
+ "resourceRegionType": "RegionalResource"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Eventhub.Namespaces",
+ "name": "Microsoft.Eventhub.Namespaces",
+ "type": "Microsoft.EventGrid/topicTypes"
+ },
+ {
+ "properties": {
+ "description": "Microsoft Storage service events.",
+ "displayName": "Storage Accounts",
+ "provider": "Microsoft.Storage",
+ "provisioningState": "Succeeded",
+ "resourceRegionType": "RegionalResource"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts",
+ "name": "Microsoft.Storage.StorageAccounts",
+ "type": "Microsoft.EventGrid/topicTypes"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/TopicTypes_ListEventTypes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/TopicTypes_ListEventTypes.json
new file mode 100644
index 000000000000..2f9fa4175feb
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/TopicTypes_ListEventTypes.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "topicTypeName": "Microsoft.Storage.StorageAccounts",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "displayName": "Blob Created",
+ "description": "Raised when a blob is created.",
+ "schemaUrl": "tbd"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobCreated",
+ "name": "Microsoft.Storage.BlobCreated",
+ "type": "Microsoft.EventGrid/topicTypes/eventTypes"
+ },
+ {
+ "properties": {
+ "description": "Raised when a blob is deleted.",
+ "schemaUrl": "tbd",
+ "displayName": "Blob Deleted"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobDeleted",
+ "name": "Microsoft.Storage.BlobDeleted",
+ "type": "Microsoft.EventGrid/topicTypes/eventTypes"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_CreateOrUpdate.json
new file mode 100644
index 000000000000..6b3e37934377
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_CreateOrUpdate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic1",
+ "api-version": "2021-06-01-preview",
+ "topicInfo": {
+ "location": "westus2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "publicNetworkAccess": "Enabled",
+ "inboundIpRules": [
+ {
+ "ipMask": "12.18.30.15",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "12.18.176.1",
+ "action": "Allow"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Enabled",
+ "inboundIpRules": [
+ {
+ "ipMask": "12.18.30.15",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "12.18.176.1",
+ "action": "Allow"
+ }
+ ]
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "location": "westus2",
+ "name": "exampletopic1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_CreateOrUpdateForAzureArc.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_CreateOrUpdateForAzureArc.json
new file mode 100644
index 000000000000..b9438a304eed
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_CreateOrUpdateForAzureArc.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic1",
+ "api-version": "2021-06-01-preview",
+ "topicInfo": {
+ "location": "westus2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "kind": "AzureArc",
+ "extendedLocation": {
+ "name": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.ExtendedLocation/CustomLocations/exampleCustomLocation",
+ "type": "CustomLocation"
+ },
+ "properties": {
+ "inputSchema": "CloudEventSchemaV1_0"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded",
+ "inputSchema": "CloudEventSchemaV1_0"
+ },
+ "kind": "AzureArc",
+ "extendedLocation": {
+ "name": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.ExtendedLocation/CustomLocations/exampleCustomLocation",
+ "type": "CustomLocation"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "location": "westus2",
+ "name": "exampletopic1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_Delete.json
new file mode 100644
index 000000000000..079ffbf4b810
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg1",
+ "topicName": "exampletopic1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_Get.json
new file mode 100644
index 000000000000..44982aeeb5eb
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic2",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "location": "westcentralus",
+ "name": "exampletopic2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_ListByResourceGroup.json
new file mode 100644
index 000000000000..84a7ee1b2f8d
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_ListByResourceGroup.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "location": "westus2",
+ "name": "exampletopic1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ },
+ {
+ "properties": {
+ "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "location": "westcentralus",
+ "name": "exampletopic2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_ListBySubscription.json
new file mode 100644
index 000000000000..31eb128db8c8
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_ListBySubscription.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "location": "westus2",
+ "name": "exampletopic1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ },
+ {
+ "properties": {
+ "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "location": "westcentralus",
+ "name": "exampletopic2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_ListEventTypes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_ListEventTypes.json
new file mode 100644
index 000000000000..e2321d779f39
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_ListEventTypes.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "providerNamespace": "Microsoft.Storage",
+ "resourceTypeName": "storageAccounts",
+ "resourceName": "ExampleStorageAccount",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "Raised when a blob is created.",
+ "schemaUrl": "tbd",
+ "displayName": "Blob Created"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobCreated",
+ "name": "Microsoft.Storage.BlobCreated",
+ "type": "Microsoft.EventGrid/topicTypes/eventTypes"
+ },
+ {
+ "properties": {
+ "description": "Raised when a blob is deleted.",
+ "schemaUrl": "tbd",
+ "displayName": "Blob Deleted"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobDeleted",
+ "name": "Microsoft.Storage.BlobDeleted",
+ "type": "Microsoft.EventGrid/topicTypes/eventTypes"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_ListSharedAccessKeys.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_ListSharedAccessKeys.json
new file mode 100644
index 000000000000..e3e7fec736ef
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_ListSharedAccessKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic2",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "testKey1Value",
+ "key2": "testKey2Value"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_RegenerateKey.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_RegenerateKey.json
new file mode 100644
index 000000000000..c32eb540c026
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_RegenerateKey.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic2",
+ "api-version": "2021-06-01-preview",
+ "regenerateKeyRequest": {
+ "keyName": "key1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "testKey1Value",
+ "key2": "testKey2Value"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_Update.json
new file mode 100644
index 000000000000..9effd99e3082
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-06-01-preview/examples/Topics_Update.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic1",
+ "api-version": "2021-06-01-preview",
+ "topicUpdateParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "publicNetworkAccess": "Enabled",
+ "inboundIpRules": [
+ {
+ "ipMask": "12.18.30.15",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "12.18.176.1",
+ "action": "Allow"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "201": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Enabled",
+ "inboundIpRules": [
+ {
+ "ipMask": "12.18.30.15",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "12.18.176.1",
+ "action": "Allow"
+ }
+ ]
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "location": "westus2",
+ "name": "exampletopic1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/readme.go.md b/specification/eventgrid/resource-manager/readme.go.md
index 343b062224b5..c8aae0a7a32d 100644
--- a/specification/eventgrid/resource-manager/readme.go.md
+++ b/specification/eventgrid/resource-manager/readme.go.md
@@ -13,6 +13,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-06-preview
- tag: package-2020-10-preview
- tag: package-2020-06
- tag: package-2020-04-preview
@@ -26,6 +27,15 @@ batch:
- tag: package-2017-09-preview
- tag: package-2017-06-preview
```
+### Tag: package-2021-06-preview and go
+
+These settings apply only when `--tag=package-2021-06-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-06-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-06-01-preview/$(namespace)
+```
+
### Tag: package-2020-10-preview and go
These settings apply only when `--tag=package-2020-10-preview --go` is specified on the command line.
diff --git a/specification/eventgrid/resource-manager/readme.java.md b/specification/eventgrid/resource-manager/readme.java.md
index cbfdd684e562..8cd94d1c8eeb 100644
--- a/specification/eventgrid/resource-manager/readme.java.md
+++ b/specification/eventgrid/resource-manager/readme.java.md
@@ -16,6 +16,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-eventgrid
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2021-06-preview
- tag: package-2020-10-preview
- tag: package-2020-06
- tag: package-2020-04-preview
@@ -27,6 +28,20 @@ batch:
- tag: package-2018-05-preview
- tag: package-2018-01
```
+### Tag: package-2021-06-preview and java
+
+These settings apply only when `--tag=package-2021-06-preview --java` is specified on the command line.
+
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2021-06-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.eventgrid.v2021_06_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/eventgrid/mgmt-v2021_06_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2020-10-preview and java
These settings apply only when `--tag=package-2020-10-preview --java` is specified on the command line.
@@ -41,6 +56,8 @@ regenerate-manager: true
generate-interface: true
```
+
+
### Tag: package-2020-06 and java
These settings apply only when `--tag=package-2020-06 --java` is specified on the command line.
diff --git a/specification/eventgrid/resource-manager/readme.md b/specification/eventgrid/resource-manager/readme.md
index 5877c8a4782f..c02c12905022 100644
--- a/specification/eventgrid/resource-manager/readme.md
+++ b/specification/eventgrid/resource-manager/readme.md
@@ -26,7 +26,16 @@ These are the global settings for the Azure EventGrid API.
``` yaml
openapi-type: arm
-tag: package-2020-10-preview
+tag: package-2021-06-preview
+```
+
+### Tag: package-2021-06-preview
+
+These settings apply only when `--tag=package-2021-06-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-06-preview'
+input-file:
+- Microsoft.EventGrid/preview/2021-06-01-preview/EventGrid.json
```
### Tag: package-2020-10-preview
@@ -174,7 +183,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
diff --git a/specification/eventgrid/resource-manager/readme.python.md b/specification/eventgrid/resource-manager/readme.python.md
index 3fd4e976dac2..ddacd2b0f8a2 100644
--- a/specification/eventgrid/resource-manager/readme.python.md
+++ b/specification/eventgrid/resource-manager/readme.python.md
@@ -4,18 +4,8 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python) && !$(track2)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 1
- namespace: azure.mgmt.eventgrid
- package-name: azure-mgmt-eventgrid
- package-version: 2.2.0
- clear-output-folder: true
-```
-``` yaml $(python) && $(track2)
+
+``` yaml $(python)
python-mode: create
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
@@ -25,17 +15,6 @@ package-version: 2.2.0
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/eventgrid/azure-mgmt-eventgrid/azure/mgmt/eventgrid
-```
-
-``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/eventgrid/azure-mgmt-eventgrid
-```
``` yaml $(python) && $(python-mode) == 'update' && $(track2)
no-namespace-folders: true
output-folder: $(python-sdks-folder)/eventgrid/azure-mgmt-eventgrid/azure/mgmt/eventgrid
@@ -45,4 +24,3 @@ output-folder: $(python-sdks-folder)/eventgrid/azure-mgmt-eventgrid/azure/mgmt/e
basic-setup-py: true
output-folder: $(python-sdks-folder)/eventgrid/azure-mgmt-eventgrid
```
-
diff --git a/specification/eventgrid/resource-manager/readme.ruby.md b/specification/eventgrid/resource-manager/readme.ruby.md
index d2f99ff67a05..4c22c30b24bc 100644
--- a/specification/eventgrid/resource-manager/readme.ruby.md
+++ b/specification/eventgrid/resource-manager/readme.ruby.md
@@ -12,6 +12,7 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2021-06-preview
- tag: package-2020-10-preview
- tag: package-2020-06
- tag: package-2020-04-preview
@@ -25,6 +26,16 @@ batch:
- tag: package-2017-09-preview
- tag: package-2017-06-preview
```
+### Tag: package-2021-06-preview and ruby
+These settings apply only when `--tag=package-2021-06-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-06-preview' && $(ruby)
+
+namespace: "Azure::EventGrid::Mgmt::V2021_06_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_grid/lib
+```
+
### Tag: package-2020-10-preview and ruby
These settings apply only when `--tag=package-2020-10-preview --ruby` is specified on the command line.
Please also specify `--ruby-sdks-folder=`.
@@ -35,6 +46,7 @@ namespace: "Azure::EventGrid::Mgmt::V2020_10_15_preview"
output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_grid/lib
```
+
### Tag: package-2020-06 and ruby
These settings apply only when `--tag=package-2020-06 --ruby` is specified on the command line.
Please also specify `--ruby-sdks-folder=`.
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 9300b0e7a82a..54fa3cdb8dfe 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
@@ -383,7 +383,6 @@
},
"capacity": {
"format": "int32",
- "maximum": 32,
"minimum": 1,
"type": "integer",
"description": "The quantity of Event Hubs Cluster Capacity Units contained in this cluster."
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 02608d7b5225..d478155de650 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
@@ -615,6 +615,11 @@
"type": "string",
"description": "Provisioning state of the Namespace."
},
+ "status": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Status of the Namespace."
+ },
"createdAt": {
"readOnly": true,
"format": "date-time",
@@ -704,7 +709,6 @@
},
"capacity": {
"format": "int32",
- "maximum": 20,
"minimum": 0,
"type": "integer",
"description": "The Event Hubs throughput units, value should be 0 to 20 throughput units."
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-01-01-preview/namespaces-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-01-01-preview/namespaces-preview.json
index 9d2ae9f568aa..27229f88fa20 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-01-01-preview/namespaces-preview.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-01-01-preview/namespaces-preview.json
@@ -614,6 +614,11 @@
"type": "string",
"description": "Provisioning state of the Namespace."
},
+ "status": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Status of the Namespace."
+ },
"createdAt": {
"readOnly": true,
"format": "date-time",
@@ -712,7 +717,6 @@
},
"capacity": {
"format": "int32",
- "maximum": 20,
"minimum": 0,
"type": "integer",
"description": "The Event Hubs throughput units for Basic or Standard tiers, where value should be 0 to 20 throughput units. The Event Hubs premium units for Premium tier, where value should be 0 to 10 premium units."
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/AuthorizationRules.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/AuthorizationRules.json
new file mode 100644
index 000000000000..641e0f3b5df7
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/AuthorizationRules.json
@@ -0,0 +1,891 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2021-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.EventHub/namespaces/{namespaceName}/authorizationRules": {
+ "get": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_ListAuthorizationRules",
+ "x-ms-examples": {
+ "ListAuthorizationRules": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleListAll.json"
+ }
+ },
+ "description": "Gets a list of authorization rules for a Namespace.",
+ "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": "Namespace AuthorizationRule successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub 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}/authorizationRules/{authorizationRuleName}": {
+ "put": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_CreateOrUpdateAuthorizationRule",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleCreate": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleCreate.json"
+ }
+ },
+ "description": "Creates or updates an AuthorizationRule for a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ },
+ "description": "The shared access AuthorizationRule."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace AuthorizationRule created",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_DeleteAuthorizationRule",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleDelete": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleDelete.json"
+ }
+ },
+ "description": "Deletes an AuthorizationRule for a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace AuthorizationRule successfully deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_GetAuthorizationRule",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleGet": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleGet.json"
+ }
+ },
+ "description": "Gets an AuthorizationRule for a Namespace by rule name.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace AuthorizationRule returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ }
+ },
+ "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}/authorizationRules/{authorizationRuleName}/listKeys": {
+ "post": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_ListKeys",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleListKey": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleListKey.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "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}/authorizationRules/{authorizationRuleName}/regenerateKeys": {
+ "post": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_RegenerateKeys",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleRegenerateKey": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleRegenerateKey.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateAccessKeyParameters"
+ },
+ "description": "Parameters required to regenerate the connection string."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings regenerated successfully.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "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}/disasterRecoveryConfigs/{alias}/authorizationRules": {
+ "get": {
+ "tags": [
+ "AuthorizationRules DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_ListAuthorizationRules",
+ "x-ms-examples": {
+ "ListAuthorizationRules": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListAll.json"
+ }
+ },
+ "description": "Gets a list of authorization rules for a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace AuthorizationRule successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub 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}/disasterRecoveryConfigs/{alias}/authorizationRules/{authorizationRuleName}": {
+ "get": {
+ "tags": [
+ "AuthorizationRules DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_GetAuthorizationRule",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleGet": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleGet.json"
+ }
+ },
+ "description": "Gets an AuthorizationRule for a Namespace by rule name.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Alias Namespace AuthorizationRule returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ }
+ },
+ "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}/disasterRecoveryConfigs/{alias}/authorizationRules/{authorizationRuleName}/listKeys": {
+ "post": {
+ "tags": [
+ "AuthorizationRules DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_ListKeys",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleListKey": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListKey.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "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}/eventhubs/{eventHubName}/authorizationRules": {
+ "get": {
+ "tags": [
+ "AuthorizationRules EventHubs"
+ ],
+ "operationId": "EventHubs_ListAuthorizationRules",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleListAll": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleListAll.json"
+ }
+ },
+ "description": "Gets the authorization rules for an Event Hub.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub AuthorizationRule returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub 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}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}": {
+ "put": {
+ "tags": [
+ "AuthorizationRules EventHubs"
+ ],
+ "operationId": "EventHubs_CreateOrUpdateAuthorizationRule",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleCreate": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleCreate.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ },
+ "description": "The shared access AuthorizationRule."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub AuthorizationRule successfully created.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_GetAuthorizationRule",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleGet": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleGet.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub AuthorizationRule successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_DeleteAuthorizationRule",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleDelete": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleDelete.json"
+ }
+ },
+ "description": "Deletes an Event Hub AuthorizationRule.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub AuthorizationRule successfully deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "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}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/listKeys": {
+ "post": {
+ "tags": [
+ "AuthorizationRules EventHubs"
+ ],
+ "operationId": "EventHubs_ListKeys",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleListKey": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleListKey.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "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}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/regenerateKeys": {
+ "post": {
+ "tags": [
+ "AuthorizationRules EventHubs"
+ ],
+ "operationId": "EventHubs_RegenerateKeys",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleRegenerateKey": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleRegenerateKey.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateAccessKeyParameters"
+ },
+ "description": "Parameters supplied to regenerate the AuthorizationRule Keys (PrimaryKey/SecondaryKey)."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings successfully regenerated.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AuthorizationRuleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AuthorizationRule"
+ },
+ "description": "Result of the List Authorization Rules operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains an incomplete list of Authorization Rules"
+ }
+ },
+ "description": "The response from the List namespace operation."
+ },
+ "AuthorizationRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "rights": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Manage",
+ "Send",
+ "Listen"
+ ],
+ "x-ms-enum": {
+ "name": "AccessRights",
+ "modelAsString": true
+ }
+ },
+ "description": "The rights associated with the rule."
+ }
+ },
+ "required": [
+ "rights"
+ ],
+ "description": "Properties supplied to create or update AuthorizationRule"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../common/v1/definitions.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "Single item in a List or Get AuthorizationRule operation"
+ },
+ "AccessKeys": {
+ "properties": {
+ "primaryConnectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Primary connection string of the created namespace AuthorizationRule."
+ },
+ "secondaryConnectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Secondary connection string of the created namespace AuthorizationRule."
+ },
+ "aliasPrimaryConnectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Primary connection string of the alias if GEO DR is enabled"
+ },
+ "aliasSecondaryConnectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Secondary connection string of the alias if GEO DR is enabled"
+ },
+ "primaryKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token."
+ },
+ "secondaryKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token."
+ },
+ "keyName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A string that describes the AuthorizationRule."
+ }
+ },
+ "description": "Namespace/EventHub Connection String"
+ },
+ "RegenerateAccessKeyParameters": {
+ "properties": {
+ "keyType": {
+ "type": "string",
+ "description": "The access key to regenerate.",
+ "enum": [
+ "PrimaryKey",
+ "SecondaryKey"
+ ],
+ "x-ms-enum": {
+ "name": "KeyType",
+ "modelAsString": false
+ }
+ },
+ "key": {
+ "type": "string",
+ "description": "Optional, if the key value provided, is set for KeyType or autogenerated Key value set for keyType"
+ }
+ },
+ "required": [
+ "keyType"
+ ],
+ "description": "Parameters supplied to the Regenerate Authorization Rule operation, specifies which key needs to be reset."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/CheckNameAvailability.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/CheckNameAvailability.json
new file mode 100644
index 000000000000..dcd81b5cf627
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/CheckNameAvailability.json
@@ -0,0 +1,132 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2021-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}/providers/Microsoft.EventHub/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CheckNameAvailability Namespaces"
+ ],
+ "operationId": "Namespaces_CheckNameAvailability",
+ "x-ms-examples": {
+ "NamespacesCheckNameAvailability": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceCheckNameAvailability.json"
+ }
+ },
+ "description": "Check the give Namespace name availability.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityParameter"
+ },
+ "description": "Parameters to check availability of the given Namespace name"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "check availability returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "UnavailableReason": {
+ "type": "string",
+ "enum": [
+ "None",
+ "InvalidName",
+ "SubscriptionIsDisabled",
+ "NameInUse",
+ "NameInLockdown",
+ "TooManyNamespaceInCurrentSubscription"
+ ],
+ "x-ms-enum": {
+ "name": "UnavailableReason",
+ "modelAsString": false
+ },
+ "description": "Specifies the reason for the unavailability of the service."
+ },
+ "CheckNameAvailabilityParameter": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name to check the namespace name availability"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Parameter supplied to check Namespace name availability operation "
+ },
+ "CheckNameAvailabilityResult": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The detailed info regarding the reason associated with the Namespace."
+ },
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Value indicating Namespace is availability, true if the Namespace is available; otherwise, false."
+ },
+ "reason": {
+ "$ref": "#/definitions/UnavailableReason",
+ "description": "The reason for unavailability of a Namespace."
+ }
+ },
+ "description": "The Result of the CheckNameAvailability operation"
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/consumergroups.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/consumergroups.json
new file mode 100644
index 000000000000..03e7ed51d766
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/consumergroups.json
@@ -0,0 +1,297 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2021-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.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}": {
+ "put": {
+ "tags": [
+ "ConsumerGroups"
+ ],
+ "operationId": "ConsumerGroups_CreateOrUpdate",
+ "x-ms-examples": {
+ "ConsumerGroupCreate": {
+ "$ref": "./examples/ConsumerGroup/EHConsumerGroupCreate.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConsumerGroup"
+ },
+ "description": "Parameters supplied to create or update a consumer group resource."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Consumer group successfully created.",
+ "schema": {
+ "$ref": "#/definitions/ConsumerGroup"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ConsumerGroups"
+ ],
+ "operationId": "ConsumerGroups_Delete",
+ "x-ms-examples": {
+ "ConsumerGroupDelete": {
+ "$ref": "./examples/ConsumerGroup/EHConsumerGroupDelete.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Consumer group deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ConsumerGroups"
+ ],
+ "operationId": "ConsumerGroups_Get",
+ "x-ms-examples": {
+ "ConsumerGroupGet": {
+ "$ref": "./examples/ConsumerGroup/EHConsumerGroupGet.json"
+ }
+ },
+ "description": "Gets a description for the specified consumer group.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the consumer group description.",
+ "schema": {
+ "$ref": "#/definitions/ConsumerGroup"
+ }
+ },
+ "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}/eventhubs/{eventHubName}/consumergroups": {
+ "get": {
+ "tags": [
+ "ConsumerGroups"
+ ],
+ "operationId": "ConsumerGroups_ListByEventHub",
+ "x-ms-examples": {
+ "ConsumerGroupsListAll": {
+ "$ref": "./examples/ConsumerGroup/EHConsumerGroupListByEventHub.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of consumer groups.",
+ "schema": {
+ "$ref": "#/definitions/ConsumerGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConsumerGroup": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "createdAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "Exact time the message was created."
+ },
+ "updatedAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "The exact time the message was updated."
+ },
+ "userMetadata": {
+ "type": "string",
+ "description": "User Metadata is a placeholder to store user-defined string data with maximum length 1024. e.g. it can be used to store descriptive data, such as list of teams and their contact information also user-defined configuration settings can be stored."
+ }
+ },
+ "description": "Single item in List or Get Consumer group operation"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../common/v1/definitions.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "Single item in List or Get Consumer group operation"
+ },
+ "ConsumerGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConsumerGroup"
+ },
+ "description": "Result of the List Consumer Group operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of Consumer Group"
+ }
+ },
+ "description": "The result to the List Consumer Group operation."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/disasterRecoveryConfigs.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/disasterRecoveryConfigs.json
new file mode 100644
index 000000000000..e0901c9318c3
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/disasterRecoveryConfigs.json
@@ -0,0 +1,487 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2021-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.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CheckNameAvailability DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_CheckNameAvailability",
+ "x-ms-examples": {
+ "NamespacesCheckNameAvailability": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasCheckNameAvailability.json"
+ }
+ },
+ "description": "Check the give Namespace name availability.",
+ "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"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityParameter"
+ },
+ "description": "Parameters to check availability of the given Alias name"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "check availability returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ },
+ "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}/disasterRecoveryConfigs": {
+ "get": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_List",
+ "x-ms-examples": {
+ "EHAliasList": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasList.json"
+ }
+ },
+ "description": "Gets all Alias(Disaster Recovery configurations)",
+ "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": "Successfully retrieved the list of Alias(Disaster Recovery configurations) for eventhub namespace",
+ "schema": {
+ "$ref": "#/definitions/ArmDisasterRecoveryListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub 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}/disasterRecoveryConfigs/{alias}": {
+ "put": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_CreateOrUpdate",
+ "x-ms-examples": {
+ "EHAliasCreate": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasCreate.json"
+ }
+ },
+ "description": "Creates or updates a new Alias(Disaster Recovery configuration)",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ArmDisasterRecovery"
+ },
+ "description": "Parameters required to create an Alias(Disaster Recovery configuration)"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Alias(Disaster Recovery configuration) successfully created",
+ "schema": {
+ "$ref": "#/definitions/ArmDisasterRecovery"
+ }
+ },
+ "201": {
+ "description": "Alias(Disaster Recovery configuration) creation request received"
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_Delete",
+ "x-ms-examples": {
+ "EHAliasDelete": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasDelete.json"
+ }
+ },
+ "description": "Deletes an Alias(Disaster Recovery configuration)",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete Alias(Disaster Recovery configuration) request accepted"
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_Get",
+ "x-ms-examples": {
+ "EHAliasGet": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasGet.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the Alias(Disaster Recovery configurations)",
+ "schema": {
+ "$ref": "#/definitions/ArmDisasterRecovery"
+ }
+ },
+ "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}/disasterRecoveryConfigs/{alias}/breakPairing": {
+ "post": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_BreakPairing",
+ "x-ms-examples": {
+ "EHAliasBreakPairing": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasBreakPairing.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Break-Pairing operation is successful."
+ },
+ "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}/disasterRecoveryConfigs/{alias}/failover": {
+ "post": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_FailOver",
+ "x-ms-examples": {
+ "EHAliasFailOver": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasFailOver.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Failover operation is successful."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "UnavailableReason": {
+ "type": "string",
+ "enum": [
+ "None",
+ "InvalidName",
+ "SubscriptionIsDisabled",
+ "NameInUse",
+ "NameInLockdown",
+ "TooManyNamespaceInCurrentSubscription"
+ ],
+ "x-ms-enum": {
+ "name": "UnavailableReason",
+ "modelAsString": false
+ },
+ "description": "Specifies the reason for the unavailability of the service."
+ },
+ "CheckNameAvailabilityParameter": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name to check the namespace name availability"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Parameter supplied to check Namespace name availability operation "
+ },
+ "CheckNameAvailabilityResult": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The detailed info regarding the reason associated with the Namespace."
+ },
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Value indicating Namespace is availability, true if the Namespace is available; otherwise, false."
+ },
+ "reason": {
+ "$ref": "#/definitions/UnavailableReason",
+ "description": "The reason for unavailability of a Namespace."
+ }
+ },
+ "description": "The Result of the CheckNameAvailability operation"
+ },
+ "ArmDisasterRecovery": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Provisioning state of the Alias(Disaster Recovery configuration) - possible values 'Accepted' or 'Succeeded' or 'Failed'",
+ "enum": [
+ "Accepted",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningStateDR",
+ "modelAsString": false
+ }
+ },
+ "partnerNamespace": {
+ "type": "string",
+ "description": "ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairing"
+ },
+ "alternateName": {
+ "type": "string",
+ "description": "Alternate name specified when alias and namespace names are same."
+ },
+ "role": {
+ "readOnly": true,
+ "type": "string",
+ "description": "role of namespace in GEO DR - possible values 'Primary' or 'PrimaryNotReplicating' or 'Secondary'",
+ "enum": [
+ "Primary",
+ "PrimaryNotReplicating",
+ "Secondary"
+ ],
+ "x-ms-enum": {
+ "name": "RoleDisasterRecovery",
+ "modelAsString": false
+ }
+ },
+ "pendingReplicationOperationsCount": {
+ "readOnly": true,
+ "format": "int64",
+ "type": "integer",
+ "description": "Number of entities pending to be replicated."
+ }
+ },
+ "description": "Properties required to the Create Or Update Alias(Disaster Recovery configurations)"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../common/v1/definitions.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "Single item in List or Get Alias(Disaster Recovery configuration) operation"
+ },
+ "ArmDisasterRecoveryListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ArmDisasterRecovery"
+ },
+ "description": "List of Alias(Disaster Recovery configurations)"
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of Alias(Disaster Recovery configuration)"
+ }
+ },
+ "description": "The result of the List Alias(Disaster Recovery configuration) operation."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/eventhubs.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/eventhubs.json
new file mode 100644
index 000000000000..7358d881becb
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/eventhubs.json
@@ -0,0 +1,394 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2021-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.EventHub/namespaces/{namespaceName}/eventhubs": {
+ "get": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_ListByNamespace",
+ "x-ms-examples": {
+ "EventHubsListAll": {
+ "$ref": "./examples/EventHubs/EHEventHubListByNameSpace.json"
+ }
+ },
+ "description": "Gets all the Event Hubs in a Namespace.",
+ "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/SkipParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of Event Hubs.",
+ "schema": {
+ "$ref": "#/definitions/EventHubListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub 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}/eventhubs/{eventHubName}": {
+ "put": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_CreateOrUpdate",
+ "x-ms-examples": {
+ "EventHubCreate": {
+ "$ref": "./examples/EventHubs/EHEventHubCreate.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Eventhub"
+ },
+ "description": "Parameters supplied to create an Event Hub resource."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub successfully created.",
+ "schema": {
+ "$ref": "#/definitions/Eventhub"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_Delete",
+ "x-ms-examples": {
+ "EventHubDelete": {
+ "$ref": "./examples/EventHubs/EHEventHubDelete.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub successfully deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_Get",
+ "x-ms-examples": {
+ "EventHubGet": {
+ "$ref": "./examples/EventHubs/EHEventHubGet.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the Event Hub description.",
+ "schema": {
+ "$ref": "#/definitions/Eventhub"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CaptureDescription": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "A value that indicates whether capture description is enabled. "
+ },
+ "encoding": {
+ "type": "string",
+ "description": "Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be deprecated in New API Version",
+ "enum": [
+ "Avro",
+ "AvroDeflate"
+ ],
+ "x-ms-enum": {
+ "name": "EncodingCaptureDescription",
+ "modelAsString": false
+ }
+ },
+ "intervalInSeconds": {
+ "format": "int32",
+ "type": "integer",
+ "maximum": 900,
+ "minimum": 60,
+ "description": "The time window allows you to set the frequency with which the capture to Azure Blobs will happen, value should between 60 to 900 seconds"
+ },
+ "sizeLimitInBytes": {
+ "format": "int32",
+ "type": "integer",
+ "maximum": 524288000,
+ "minimum": 10485760,
+ "description": "The size window defines the amount of data built up in your Event Hub before an capture operation, value should be between 10485760 to 524288000 bytes"
+ },
+ "destination": {
+ "$ref": "#/definitions/Destination",
+ "description": "Properties of Destination where capture will be stored. (Storage Account, Blob Names)"
+ },
+ "skipEmptyArchives": {
+ "type": "boolean",
+ "description": "A value that indicates whether to Skip Empty Archives"
+ }
+ },
+ "description": "Properties to configure capture description for eventhub"
+ },
+ "Eventhub": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "partitionIds": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Current number of shards on the Event Hub."
+ },
+ "createdAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "Exact time the Event Hub was created."
+ },
+ "updatedAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "The exact time the message was updated."
+ },
+ "messageRetentionInDays": {
+ "format": "int64",
+ "type": "integer",
+ "minimum": 1,
+ "description": "Number of days to retain the events for this Event Hub, value should be 1 to 7 days"
+ },
+ "partitionCount": {
+ "format": "int64",
+ "type": "integer",
+ "minimum": 1,
+ "description": "Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions."
+ },
+ "status": {
+ "type": "string",
+ "description": "Enumerates the possible values for the status of the Event Hub.",
+ "enum": [
+ "Active",
+ "Disabled",
+ "Restoring",
+ "SendDisabled",
+ "ReceiveDisabled",
+ "Creating",
+ "Deleting",
+ "Renaming",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "EntityStatus",
+ "modelAsString": false
+ }
+ },
+ "captureDescription": {
+ "$ref": "#/definitions/CaptureDescription",
+ "description": "Properties of capture description"
+ }
+ },
+ "description": "Properties supplied to the Create Or Update Event Hub operation."
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../common/v1/definitions.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "Single item in List or Get Event Hub operation"
+ },
+ "EventHubListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Eventhub"
+ },
+ "description": "Result of the List EventHubs operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of EventHubs."
+ }
+ },
+ "description": "The result of the List EventHubs operation."
+ },
+ "Destination": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name for capture destination"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "storageAccountResourceId": {
+ "type": "string",
+ "description": "Resource id of the storage account to be used to create the blobs"
+ },
+ "blobContainer": {
+ "type": "string",
+ "description": "Blob container Name"
+ },
+ "archiveNameFormat": {
+ "type": "string",
+ "description": "Blob naming convention for archive, e.g. {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters (Namespace,EventHub .. etc) are mandatory irrespective of order"
+ }
+ },
+ "description": "Properties describing the storage account, blob container and archive name format for capture destination"
+ }
+ },
+ "description": "Capture storage details for capture description"
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/ConsumerGroup/EHConsumerGroupCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/ConsumerGroup/EHConsumerGroupCreate.json
new file mode 100644
index 000000000000..255a140555b6
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/ConsumerGroup/EHConsumerGroupCreate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-2661",
+ "eventHubName": "sdk-EventHub-6681",
+ "consumerGroupName": "sdk-ConsumerGroup-5563",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "properties": {
+ "userMetadata": "New consumergroup"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2661/eventhubs/sdk-EventHub-6681/consumergroups/sdk-ConsumerGroup-5563",
+ "name": "sdk-ConsumerGroup-5563",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/ConsumerGroups",
+ "properties": {
+ "createdAt": "2017-05-25T03:43:09.4536234Z",
+ "updatedAt": "2017-05-25T03:43:09.4536234Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/ConsumerGroup/EHConsumerGroupDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/ConsumerGroup/EHConsumerGroupDelete.json
new file mode 100644
index 000000000000..d98c7f893c62
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/ConsumerGroup/EHConsumerGroupDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-2661",
+ "eventHubName": "sdk-EventHub-6681",
+ "consumerGroupName": "sdk-ConsumerGroup-5563",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/ConsumerGroup/EHConsumerGroupGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/ConsumerGroup/EHConsumerGroupGet.json
new file mode 100644
index 000000000000..35a01a3cea90
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/ConsumerGroup/EHConsumerGroupGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-2661",
+ "eventHubName": "sdk-EventHub-6681",
+ "consumerGroupName": "sdk-ConsumerGroup-5563",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2661/eventhubs/sdk-EventHub-6681/consumergroups/sdk-ConsumerGroup-5563",
+ "name": "sdk-ConsumerGroup-5563",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/ConsumerGroups",
+ "properties": {
+ "createdAt": "2017-05-25T03:43:08.7152556Z",
+ "updatedAt": "2017-05-25T03:43:08.7152556Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/ConsumerGroup/EHConsumerGroupListByEventHub.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/ConsumerGroup/EHConsumerGroupListByEventHub.json
new file mode 100644
index 000000000000..124dc4fb7eea
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/ConsumerGroup/EHConsumerGroupListByEventHub.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-2661",
+ "eventHubName": "sdk-EventHub-6681",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2661/eventhubs/sdk-EventHub-6681/consumergroups/$Default",
+ "name": "$Default",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/ConsumerGroups",
+ "properties": {
+ "createdAt": "2017-05-25T03:42:52.287Z",
+ "updatedAt": "2017-05-25T03:42:52.287Z"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2661/eventhubs/sdk-EventHub-6681/consumergroups/sdk-consumergroup-5563",
+ "name": "sdk-consumergroup-5563",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/ConsumerGroups",
+ "properties": {
+ "createdAt": "2017-05-25T03:43:09.314Z",
+ "updatedAt": "2017-05-25T03:43:09.314Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EHOperations_List.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EHOperations_List.json
new file mode 100644
index 000000000000..87b2a2f3a793
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EHOperations_List.json
@@ -0,0 +1,213 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.EventHub/checkNameAvailability/action",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "Non Resource Operation",
+ "operation": "Get namespace availability."
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/register/action",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub Resource Provider",
+ "operation": "Registers the EventHub Resource Provider"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/write",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "Namespace",
+ "operation": "Create Or Update Namespace "
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/read",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "Namespace",
+ "operation": "Get Namespace Resource"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/Delete",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "Namespace",
+ "operation": "Delete Namespace"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/authorizationRules/read",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "AuthorizationRules",
+ "operation": "Get Namespace Authorization Rules"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/authorizationRules/write",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "AuthorizationRules",
+ "operation": "Create or Update Namespace Authorization Rules"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/authorizationRules/delete",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "AuthorizationRules",
+ "operation": "Delete Namespace Authorization Rule"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/authorizationRules/listkeys/action",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "AuthorizationRules",
+ "operation": "Get Namespace Listkeys"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/authorizationRules/regenerateKeys/action",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "AuthorizationRules",
+ "operation": "Resource Regeneratekeys"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventhubs/write",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub",
+ "operation": "Create or Update EventHub"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventhubs/read",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub",
+ "operation": "Get EventHub"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventhubs/Delete",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub",
+ "operation": "Delete EventHub"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventhubs/authorizationRules/read",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub AuthorizationRules",
+ "operation": " Get EventHub Authorization Rules"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventhubs/authorizationRules/write",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub AuthorizationRules",
+ "operation": "Create or Update EventHub Authorization Rule"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventhubs/authorizationRules/delete",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub AuthorizationRules",
+ "operation": "Delete EventHub Authorization Rules"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventhubs/authorizationRules/listkeys/action",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub AuthorizationRules",
+ "operation": "List EventHub keys"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventhubs/authorizationRules/regenerateKeys/action",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub AuthorizationRules",
+ "operation": "Resource Regeneratekeys"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventHubs/consumergroups/write",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "ConsumerGroup",
+ "operation": "Create or Update ConsumerGroup"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventHubs/consumergroups/read",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "ConsumerGroup",
+ "operation": "Get ConsumerGroup"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventHubs/consumergroups/Delete",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "ConsumerGroup",
+ "operation": "Delete ConsumerGroup"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "Namespace metrics",
+ "operation": "Get Namespace metrics"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "Namespace diagnostic settings",
+ "operation": "Get Namespace diagnostic settings"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "Namespace diagnostic settings",
+ "operation": "Create or Update Namespace diagnostic settings"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "Namespace logs",
+ "operation": "Get Namespace logs"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleCreate.json
new file mode 100644
index 000000000000..61d5347f1af7
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleCreate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "authorizationRuleName": "sdk-Authrules-2513",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-960/eventhubs/sdk-EventHub-532/authorizationRules/sdk-Authrules-2513",
+ "name": "sdk-Authrules-2513",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleDelete.json
new file mode 100644
index 000000000000..c0b2911a041b
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "authorizationRuleName": "sdk-Authrules-2513",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleGet.json
new file mode 100644
index 000000000000..11ad7b5e2824
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "authorizationRuleName": "sdk-Authrules-2513",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-960/eventhubs/sdk-EventHub-532/authorizationRules/sdk-Authrules-2513",
+ "name": "sdk-Authrules-2513",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleListAll.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleListAll.json
new file mode 100644
index 000000000000..0e0cf8dc8ae9
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleListAll.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-960/eventhubs/sdk-EventHub-532/authorizationRules/sdk-Authrules-2513",
+ "name": "sdk-Authrules-2513",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleListKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleListKey.json
new file mode 100644
index 000000000000..e8333e37993c
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleListKey.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "authorizationRuleName": "sdk-Authrules-2513",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-960.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-2513;SharedAccessKey=############################################;EntityPath=sdk-EventHub-532",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-960.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-2513;SharedAccessKey=############################################;EntityPath=sdk-EventHub-532",
+ "primaryKey": "############################################",
+ "secondaryKey": "############################################",
+ "keyName": "sdk-Authrules-2513"
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleRegenerateKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleRegenerateKey.json
new file mode 100644
index 000000000000..d5a453a9727e
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubAuthorizationRuleRegenerateKey.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "authorizationRuleName": "sdk-Authrules-1534",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "keyType": "PrimaryKey"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-9027.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-1534;SharedAccessKey=#############################################;EntityPath=sdk-EventHub-1647",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-9027.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-1534;SharedAccessKey=#############################################;EntityPath=sdk-EventHub-1647",
+ "primaryKey": "#############################################",
+ "secondaryKey": "#############################################",
+ "keyName": "sdk-Authrules-1534"
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubCreate.json
new file mode 100644
index 000000000000..8da3ef2218fe
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5357",
+ "resourceGroupName": "Default-NotificationHubs-AustraliaEast",
+ "eventHubName": "sdk-EventHub-6547",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "properties": {
+ "messageRetentionInDays": 4,
+ "partitionCount": 4,
+ "status": "Active",
+ "captureDescription": {
+ "enabled": true,
+ "encoding": "Avro",
+ "intervalInSeconds": 120,
+ "sizeLimitInBytes": 10485763,
+ "destination": {
+ "name": "EventHubArchive.AzureBlockBlob",
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/arjunteststorage",
+ "blobContainer": "container",
+ "archiveNameFormat": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-NotificationHubs-AustraliaEast/providers/Microsoft.EventHub/namespaces/sdk-Namespace-716/eventhubs/sdk-EventHub-10",
+ "name": "sdk-EventHub-10",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs",
+ "properties": {
+ "messageRetentionInDays": 4,
+ "partitionCount": 4,
+ "status": "Active",
+ "createdAt": "2017-06-28T02:45:55.877Z",
+ "updatedAt": "2017-06-28T02:46:05.877Z",
+ "partitionIds": [
+ "0",
+ "1",
+ "2",
+ "3"
+ ],
+ "captureDescription": {
+ "enabled": true,
+ "encoding": "Avro",
+ "destination": {
+ "name": "EventHubArchive.AzureBlockBlob",
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/arjunteststorage",
+ "blobContainer": "container",
+ "archiveNameFormat": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}"
+ }
+ },
+ "intervalInSeconds": 120,
+ "sizeLimitInBytes": 10485763
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubDelete.json
new file mode 100644
index 000000000000..81e15cf93422
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5357",
+ "resourceGroupName": "ArunMonocle",
+ "eventHubName": "sdk-EventHub-6547",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubGet.json
new file mode 100644
index 000000000000..7e92cca06784
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-716",
+ "resourceGroupName": "Default-NotificationHubs-AustraliaEast",
+ "eventHubName": "sdk-EventHub-10",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "e2f361f0-3b27-4503-a9cc-21cfba380093"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-NotificationHubs-AustraliaEast/providers/Microsoft.EventHub/namespaces/sdk-Namespace-716/eventhubs/sdk-EventHub-10",
+ "name": "sdk-EventHub-10",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs",
+ "properties": {
+ "messageRetentionInDays": 4,
+ "partitionCount": 4,
+ "status": "Active",
+ "createdAt": "2017-06-28T02:45:55.877Z",
+ "updatedAt": "2017-06-28T02:46:05.877Z",
+ "partitionIds": [
+ "0",
+ "1",
+ "2",
+ "3"
+ ],
+ "captureDescription": {
+ "enabled": true,
+ "encoding": "Avro",
+ "destination": {
+ "name": "EventHubArchive.AzureBlockBlob",
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/arjunteststorage",
+ "blobContainer": "container",
+ "archiveNameFormat": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}"
+ }
+ },
+ "intervalInSeconds": 120,
+ "sizeLimitInBytes": 10485763
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubListByNameSpace.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubListByNameSpace.json
new file mode 100644
index 000000000000..18d529883898
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/EventHubs/EHEventHubListByNameSpace.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5357",
+ "resourceGroupName": "Default-NotificationHubs-AustraliaEast",
+ "api-version": "2021-06-01-preview",
+ "eventHubName": "sdk-eventhub-10",
+ "subscriptionId": "e2f361f0-3b27-4503-a9cc-21cfba380093"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-NotificationHubs-AustraliaEast/providers/Microsoft.EventHub/namespaces/sdk-Namespace-716/eventhubs/sdk-eventhub-10",
+ "name": "sdk-eventhub-10",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs",
+ "properties": {
+ "messageRetentionInDays": 4,
+ "partitionCount": 4,
+ "status": "Active",
+ "createdAt": "2017-06-28T02:45:55.877Z",
+ "updatedAt": "2017-06-28T02:46:05.877Z",
+ "partitionIds": [
+ "0",
+ "1",
+ "2",
+ "3"
+ ],
+ "captureDescription": {
+ "enabled": true,
+ "encoding": "Avro",
+ "destination": {
+ "name": "EventHubArchive.AzureBlockBlob",
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/arjunteststorage",
+ "blobContainer": "container",
+ "archiveNameFormat": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}"
+ }
+ },
+ "intervalInSeconds": 120,
+ "sizeLimitInBytes": 10485763
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleCreate.json
new file mode 100644
index 000000000000..f5c3834d12db
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleCreate.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2702",
+ "authorizationRuleName": "sdk-Authrules-1746",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2702/AuthorizationRules/sdk-Authrules-1746",
+ "name": "sdk-Authrules-1746",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleDelete.json
new file mode 100644
index 000000000000..d4b4aa728754
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8980",
+ "authorizationRuleName": "sdk-Authrules-8929",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleGet.json
new file mode 100644
index 000000000000..8ac18ec69b19
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2702",
+ "authorizationRuleName": "sdk-Authrules-1746",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2702/AuthorizationRules/sdk-Authrules-1746",
+ "name": "sdk-Authrules-1746",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleListAll.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleListAll.json
new file mode 100644
index 000000000000..a7fdca1276da
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleListAll.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2702",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2702/AuthorizationRules?api-version=2017-04-01/RootManageSharedAccessKey",
+ "name": "RootManageSharedAccessKey",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Manage",
+ "Send"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2702/AuthorizationRules?api-version=2017-04-01/sdk-Authrules-1746",
+ "name": "sdk-Authrules-1746",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleListKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleListKey.json
new file mode 100644
index 000000000000..1222e51cfd82
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleListKey.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2702",
+ "authorizationRuleName": "sdk-Authrules-1746",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-2702.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-1746;SharedAccessKey=############################################",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-2702.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-1746;SharedAccessKey=############################################",
+ "primaryKey": "############################################",
+ "secondaryKey": "############################################",
+ "keyName": "sdk-Authrules-1746"
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleRegenerateKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleRegenerateKey.json
new file mode 100644
index 000000000000..79ddb11ef97a
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceAuthorizationRuleRegenerateKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8980",
+ "authorizationRuleName": "sdk-Authrules-8929",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "keyType": "PrimaryKey"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-8980.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-8929;SharedAccessKey=############################################",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-8980.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-8929;SharedAccessKey=############################################",
+ "primaryKey": "############################################",
+ "secondaryKey": "############################################",
+ "keyName": "sdk-Authrules-8929"
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceCheckNameAvailability.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceCheckNameAvailability.json
new file mode 100644
index 000000000000..c05db6978e98
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceCheckNameAvailability.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "name": "sdk-Namespace-8458"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "None",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceCreate.json
new file mode 100644
index 000000000000..6f61f018b3f7
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceCreate.json
@@ -0,0 +1,148 @@
+{
+ "parameters": {
+ "namespaceName": "NamespaceSample",
+ "resourceGroupName": "ResurceGroupSample",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "SampleSubscription",
+ "parameters": {
+ "location": "East US",
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": {},
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": {}
+ }
+ },
+ "properties": {
+ "encryption": {
+ "keyVaultProperties": [
+ {
+ "keyName": "Samplekey",
+ "keyVaultUri": "https://aprao-keyvault-user.vault-int.azure-int.net/",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1"
+ }
+ }
+ ],
+ "keySource": "Microsoft.KeyVault"
+ },
+ "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample",
+ "name": "NamespaceSample",
+ "type": "Microsoft.EventHub/Namespaces",
+ "location": "East US",
+ "tags": {},
+ "identity": {
+ "principalId": "PrincipalIdGUID",
+ "tenantId": "TenantIdGUID",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": {
+ "clientId": "ClientIdGUID",
+ "principalId": "PrincipalIdGUID"
+ },
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": {
+ "clientId": "6a35400f-6ccb-4817-8f1a-ce19ea4523bc",
+ "principalId": "ce2d5953-5c15-40ca-9d51-cc3f4a63b0f5"
+ }
+ }
+ },
+ "properties": {
+ "zoneRedundant": false,
+ "isAutoInflateEnabled": false,
+ "disableLocalAuth": false,
+ "maximumThroughputUnits": 0,
+ "encryption": {
+ "keySource": "Microsoft.KeyVault",
+ "keyVaultProperties": [
+ {
+ "keyName": "Samplekey",
+ "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net",
+ "keyVersion": "",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1"
+ }
+ }
+ ],
+ "requireInfrastructureEncryption": false
+ },
+ "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test",
+ "kafkaEnabled": false,
+ "provisioningState": "Succeeded",
+ "metricId": "MetricGUID:NamespaceSample",
+ "createdAt": "2021-02-16T22:36:06.107Z",
+ "updatedAt": "2021-02-16T22:37:42.29Z",
+ "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample",
+ "name": "NamespaceSample",
+ "type": "Microsoft.EventHub/Namespaces",
+ "location": "East US",
+ "tags": {},
+ "identity": {
+ "principalId": "PrincipalIdGUID",
+ "tenantId": "TenantIdGUID",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": {
+ "clientId": "ClientIdGUID",
+ "principalId": "PrincipalIdGUID"
+ },
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": {
+ "clientId": "6a35400f-6ccb-4817-8f1a-ce19ea4523bc",
+ "principalId": "ce2d5953-5c15-40ca-9d51-cc3f4a63b0f5"
+ }
+ }
+ },
+ "properties": {
+ "zoneRedundant": false,
+ "isAutoInflateEnabled": false,
+ "disableLocalAuth": false,
+ "maximumThroughputUnits": 0,
+ "encryption": {
+ "keySource": "Microsoft.KeyVault",
+ "keyVaultProperties": [
+ {
+ "keyName": "Samplekey",
+ "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net",
+ "keyVersion": "",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1"
+ }
+ }
+ ],
+ "requireInfrastructureEncryption": false
+ },
+ "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test",
+ "kafkaEnabled": false,
+ "provisioningState": "Succeeded",
+ "metricId": "MetricGUID:NamespaceSample",
+ "createdAt": "2021-02-16T22:36:06.107Z",
+ "updatedAt": "2021-02-16T22:37:42.29Z",
+ "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceDelete.json
new file mode 100644
index 000000000000..20ad8440c9dd
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "namespaceName": "NamespaceSample",
+ "resourceGroupName": "ResurceGroupSample",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "SampleSubscription"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceGet.json
new file mode 100644
index 000000000000..3d222c312ab1
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceGet.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "namespaceName": "NamespaceSample",
+ "resourceGroupName": "ResurceGroupSample",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "SampleSubscription"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample",
+ "name": "NamespaceSample",
+ "type": "Microsoft.EventHub/Namespaces",
+ "location": "East US",
+ "tags": {},
+ "identity": {
+ "principalId": "PrincipalIdGUID",
+ "tenantId": "TenantIdGUID",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": {
+ "clientId": "ClientIdGUID",
+ "principalId": "PrincipalIdGUID"
+ },
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": {
+ "clientId": "6a35400f-6ccb-4817-8f1a-ce19ea4523bc",
+ "principalId": "ce2d5953-5c15-40ca-9d51-cc3f4a63b0f5"
+ }
+ }
+ },
+ "properties": {
+ "isAutoInflateEnabled": false,
+ "disableLocalAuth": false,
+ "maximumThroughputUnits": 0,
+ "zoneRedundant": false,
+ "encryption": {
+ "keySource": "Microsoft.KeyVault",
+ "keyVaultProperties": [
+ {
+ "keyName": "Samplekey",
+ "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net",
+ "keyVersion": "",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1"
+ }
+ }
+ ],
+ "requireInfrastructureEncryption": false
+ },
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample/privateEndpointConnections/privateEndpointConnectionName",
+ "name": "privateEndpointConnectionName",
+ "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.Network/privateEndpoints/NamespaceSample"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test",
+ "metricId": "MetricGUID:NamespaceSample",
+ "createdAt": "2021-01-30T00:28:38.963Z",
+ "updatedAt": "2021-01-30T00:30:55.143Z",
+ "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceList.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceList.json
new file mode 100644
index 000000000000..d323e3c8adcf
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceList.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "SampleSubscription"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 0
+ },
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample",
+ "name": "NamespaceSample",
+ "type": "Microsoft.EventHub/Namespaces",
+ "location": "East US",
+ "tags": {},
+ "identity": {
+ "principalId": "PrincipalIdGUID",
+ "tenantId": "TenantIdGUID",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": {
+ "clientId": "ClientIdGUID",
+ "principalId": "PrincipalIdGUID"
+ },
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": {
+ "clientId": "6a35400f-6ccb-4817-8f1a-ce19ea4523bc",
+ "principalId": "ce2d5953-5c15-40ca-9d51-cc3f4a63b0f5"
+ }
+ }
+ },
+ "properties": {
+ "isAutoInflateEnabled": false,
+ "disableLocalAuth": false,
+ "maximumThroughputUnits": 0,
+ "zoneRedundant": false,
+ "encryption": {
+ "keySource": "Microsoft.KeyVault",
+ "keyVaultProperties": [
+ {
+ "keyName": "Samplekey",
+ "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net",
+ "keyVersion": "",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1"
+ }
+ }
+ ],
+ "requireInfrastructureEncryption": false
+ },
+ "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test",
+ "provisioningState": "Succeeded",
+ "metricId": "MetricGUID:NamespaceSample",
+ "createdAt": "2021-01-30T00:28:38.963Z",
+ "updatedAt": "2021-01-30T00:30:55.143Z",
+ "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceListByResourceGroup.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceListByResourceGroup.json
new file mode 100644
index 000000000000..c9a1d76af344
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceListByResourceGroup.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "SampleSubscription",
+ "resourceGroupName": "ResurceGroupSample"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample",
+ "name": "NamespaceSample",
+ "type": "Microsoft.EventHub/Namespaces",
+ "location": "East US",
+ "tags": {},
+ "identity": {
+ "principalId": "PrincipalIdGUID",
+ "tenantId": "TenantIdGUID",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": {
+ "clientId": "ClientIdGUID",
+ "principalId": "PrincipalIdGUID"
+ },
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": {
+ "clientId": "6a35400f-6ccb-4817-8f1a-ce19ea4523bc",
+ "principalId": "ce2d5953-5c15-40ca-9d51-cc3f4a63b0f5"
+ }
+ }
+ },
+ "properties": {
+ "isAutoInflateEnabled": false,
+ "disableLocalAuth": false,
+ "maximumThroughputUnits": 0,
+ "zoneRedundant": false,
+ "encryption": {
+ "keySource": "Microsoft.KeyVault",
+ "keyVaultProperties": [
+ {
+ "keyName": "Samplekey",
+ "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net",
+ "keyVersion": "",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1"
+ }
+ }
+ ],
+ "requireInfrastructureEncryption": false
+ },
+ "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test",
+ "provisioningState": "Succeeded",
+ "metricId": "MetricGUID:NamespaceSample",
+ "createdAt": "2021-01-30T00:28:38.963Z",
+ "updatedAt": "2021-01-30T00:30:55.143Z",
+ "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceUpdate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceUpdate.json
new file mode 100644
index 000000000000..68a8e3359d41
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/EHNameSpaceUpdate.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "namespaceName": "NamespaceSample",
+ "resourceGroupName": "ResurceGroupSample",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "SampleSubscription",
+ "parameters": {
+ "location": "East US",
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": null
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample",
+ "name": "NamespaceSample",
+ "type": "Microsoft.EventHub/Namespaces",
+ "location": "East US",
+ "tags": {},
+ "identity": {
+ "principalId": "PrincipalIdGUID",
+ "tenantId": "TenantIdGUID",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": {
+ "clientId": "ClientIdGUID",
+ "principalId": "PrincipalIdGUID"
+ }
+ }
+ },
+ "properties": {
+ "isAutoInflateEnabled": false,
+ "disableLocalAuth": false,
+ "maximumThroughputUnits": 0,
+ "zoneRedundant": false,
+ "encryption": {
+ "keySource": "Microsoft.KeyVault",
+ "keyVaultProperties": [
+ {
+ "keyName": "Samplekey",
+ "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net",
+ "keyVersion": "",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1"
+ }
+ }
+ ],
+ "requireInfrastructureEncryption": false
+ },
+ "provisioningState": "ActivatingIdentity",
+ "metricId": "MetricGUID:NamespaceSample",
+ "createdAt": "2021-01-30T00:28:38.963Z",
+ "updatedAt": "2021-01-30T00:31:13.657Z",
+ "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample",
+ "name": "NamespaceSample",
+ "type": "Microsoft.EventHub/Namespaces",
+ "location": "East US",
+ "tags": {},
+ "identity": {
+ "principalId": "PrincipalIdGUID",
+ "tenantId": "TenantIdGUID",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": {
+ "clientId": "ClientIdGUID",
+ "principalId": "PrincipalIdGUID"
+ }
+ }
+ },
+ "properties": {
+ "isAutoInflateEnabled": false,
+ "disableLocalAuth": false,
+ "maximumThroughputUnits": 0,
+ "zoneRedundant": false,
+ "encryption": {
+ "keySource": "Microsoft.KeyVault",
+ "keyVaultProperties": [
+ {
+ "keyName": "Samplekey",
+ "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net",
+ "keyVersion": "",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1"
+ }
+ }
+ ],
+ "requireInfrastructureEncryption": false
+ },
+ "provisioningState": "ActivatingIdentity",
+ "metricId": "MetricGUID:NamespaceSample",
+ "createdAt": "2021-01-30T00:28:38.963Z",
+ "updatedAt": "2021-01-30T00:31:13.657Z",
+ "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json
new file mode 100644
index 000000000000..e7d1d75d4169
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2924",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2021-06-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/2021-06-01-preview/examples/NameSpaces/PrivateEndPointConnectionDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/PrivateEndPointConnectionDelete.json
new file mode 100644
index 000000000000..4b705e98710b
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-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": "2021-06-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json
new file mode 100644
index 000000000000..0f01a1974f97
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5828",
+ "resourceGroupName": "SDK-EventHub-4794",
+ "privateEndpointConnectionName": "privateEndpointConnectionName",
+ "api-version": "2021-06-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/2021-06-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json
new file mode 100644
index 000000000000..3a46e3a81b28
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5828",
+ "resourceGroupName": "SDK-EventHub-4794",
+ "api-version": "2021-06-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/2021-06-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json
new file mode 100644
index 000000000000..9f660479e22d
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2924",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2021-06-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/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json
new file mode 100644
index 000000000000..c3c70fec0a0c
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-6019",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "Subscription",
+ "parameters": {
+ "properties": {
+ "defaultAction": "Deny",
+ "virtualNetworkRules": [
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2"
+ },
+ "ignoreMissingVnetServiceEndpoint": true
+ },
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3"
+ },
+ "ignoreMissingVnetServiceEndpoint": false
+ },
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6"
+ },
+ "ignoreMissingVnetServiceEndpoint": false
+ }
+ ],
+ "ipRules": [
+ {
+ "ipMask": "1.1.1.1",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.2",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.3",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.4",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.5",
+ "action": "Allow"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/854d368f-1828-428f-8f3c-f2affa9b2f7d/resourceGroups/resourcegroupid/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9659/networkruleset/default",
+ "name": "default",
+ "type": "Microsoft.EventHub/Namespaces/NetworkRuleSet",
+ "properties": {
+ "defaultAction": "Deny",
+ "virtualNetworkRules": [
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2"
+ },
+ "ignoreMissingVnetServiceEndpoint": true
+ },
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3"
+ },
+ "ignoreMissingVnetServiceEndpoint": false
+ },
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6"
+ },
+ "ignoreMissingVnetServiceEndpoint": false
+ }
+ ],
+ "ipRules": [
+ {
+ "ipMask": "1.1.1.1",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.2",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.3",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.4",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.5",
+ "action": "Allow"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json
new file mode 100644
index 000000000000..4fa99e95009f
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-6019",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "Subscription"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionid/resourceGroups/resourcegroupid/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9659/networkruleset/default",
+ "name": "default",
+ "type": "Microsoft.EventHub/Namespaces/NetworkRuleSet",
+ "properties": {
+ "defaultAction": "Deny",
+ "virtualNetworkRules": [
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2"
+ },
+ "ignoreMissingVnetServiceEndpoint": true
+ },
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3"
+ },
+ "ignoreMissingVnetServiceEndpoint": false
+ },
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6"
+ },
+ "ignoreMissingVnetServiceEndpoint": false
+ }
+ ],
+ "ipRules": [
+ {
+ "ipMask": "1.1.1.1",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.2",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.3",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.4",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.5",
+ "action": "Allow"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleGet.json
new file mode 100644
index 000000000000..aff119039086
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-9080",
+ "authorizationRuleName": "sdk-Authrules-4879",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-4879",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-4879",
+ "name": "sdk-Authrules-4879",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListAll.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListAll.json
new file mode 100644
index 000000000000..340255dc3e90
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListAll.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-9080",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-4047",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/RootManageSharedAccessKey",
+ "name": "RootManageSharedAccessKey",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Manage",
+ "Send"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-1067",
+ "name": "sdk-Authrules-1067",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-1684",
+ "name": "sdk-Authrules-1684",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-4879",
+ "name": "sdk-Authrules-4879",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListKey.json
new file mode 100644
index 000000000000..9aa48545d854
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListKey.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2702",
+ "authorizationRuleName": "sdk-Authrules-1746",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-4047",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "aliasPrimaryConnectionString": "Endpoint=sb://sdk-disasterrecovery-4047.servicebus.windows-int.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=############################################",
+ "aliasSecondaryConnectionString": "Endpoint=sb://sdk-disasterrecovery-4047.servicebus.windows-int.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=############################################",
+ "primaryKey": "############################################",
+ "secondaryKey": "############################################",
+ "keyName": "sdk-Authrules-1746"
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasBreakPairing.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasBreakPairing.json
new file mode 100644
index 000000000000..10039f048ee9
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasBreakPairing.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8859",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasCheckNameAvailability.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasCheckNameAvailability.json
new file mode 100644
index 000000000000..854546cc867f
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasCheckNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "exampleSubscriptionId",
+ "namespaceName": "sdk-Namespace-9080",
+ "resourceGroupName": "exampleResourceGroup",
+ "parameters": {
+ "name": "sdk-DisasterRecovery-9474"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "None",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasCreate.json
new file mode 100644
index 000000000000..dfc226d5e534
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasCreate.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8859",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "exampleSubscriptionId",
+ "parameters": {
+ "properties": {
+ "partnerNamespace": "sdk-Namespace-37"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/exampleResourceGroup/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-8859/disasterRecoveryConfig/sdk-DisasterRecovery-3814",
+ "name": "sdk-DisasterRecovery-3814",
+ "type": "Microsoft.EventHub/Namespaces/DisasterRecoveryConfig",
+ "properties": {
+ "provisioningState": "Accepted",
+ "partnerNamespace": "sdk-Namespace-37",
+ "role": "Primary"
+ }
+ }
+ },
+ "201": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasDelete.json
new file mode 100644
index 000000000000..f88865d6f1a4
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5849",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasFailOver.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasFailOver.json
new file mode 100644
index 000000000000..10039f048ee9
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasFailOver.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8859",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasGet.json
new file mode 100644
index 000000000000..1739689593bc
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8859",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-37/disasterRecoveryConfig/sdk-DisasterRecovery-3814",
+ "name": "sdk-DisasterRecovery-3814",
+ "type": "Microsoft.EventHub/Namespaces/DisasterRecoveryConfig",
+ "properties": {
+ "provisioningState": "Accepted",
+ "partnerNamespace": "sdk-Namespace-8859",
+ "role": "Secondary",
+ "pendingReplicationOperationsCount": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasList.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasList.json
new file mode 100644
index 000000000000..f103739a6c8a
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/disasterRecoveryConfigs/EHAliasList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8859",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2021-06-01-preview",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-8859/disasterRecoveryConfig/sdk-DisasterRecovery-3814",
+ "name": "sdk-DisasterRecovery-3814",
+ "type": "Microsoft.EventHub/Namespaces/DisasterRecoveryConfig",
+ "properties": {
+ "provisioningState": "Accepted",
+ "partnerNamespace": "sdk-Namespace-37",
+ "role": "Primary"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/namespaces-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/namespaces-preview.json
new file mode 100644
index 000000000000..3974547f8d99
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/namespaces-preview.json
@@ -0,0 +1,1012 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client for managing namespaces.",
+ "version": "2021-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}/providers/Microsoft.EventHub/namespaces": {
+ "get": {
+ "tags": [
+ "Namespaces"
+ ],
+ "operationId": "Namespaces_List",
+ "x-ms-examples": {
+ "NamespacesListBySubscription": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceList.json"
+ }
+ },
+ "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/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespaces returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/EHNamespaceListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub 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": {
+ "get": {
+ "tags": [
+ "Namespaces"
+ ],
+ "operationId": "Namespaces_ListByResourceGroup",
+ "x-ms-examples": {
+ "NamespaceListByResourceGroup": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceListByResourceGroup.json"
+ }
+ },
+ "description": "Lists the available Namespaces within a resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespaces returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/EHNamespaceListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub 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}": {
+ "put": {
+ "tags": [
+ "Namespaces"
+ ],
+ "operationId": "Namespaces_CreateOrUpdate",
+ "x-ms-examples": {
+ "NamespaceCreate": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceCreate.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EHNamespace",
+ "required": [
+ "location"
+ ]
+ },
+ "description": "Parameters for creating a namespace resource."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace successfully created.",
+ "schema": {
+ "$ref": "#/definitions/EHNamespace"
+ }
+ },
+ "201": {
+ "description": "Namespace create request accepted.",
+ "schema": {
+ "$ref": "#/definitions/EHNamespace"
+ }
+ },
+ "202": {
+ "description": "Namespace create or update request accepted."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Namespaces"
+ ],
+ "operationId": "Namespaces_Delete",
+ "x-ms-examples": {
+ "NameSpaceDelete": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceDelete.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace successfully deleted."
+ },
+ "202": {
+ "description": "Namespace 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"
+ ],
+ "operationId": "Namespaces_Get",
+ "x-ms-examples": {
+ "NameSpaceGet": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceGet.json"
+ }
+ },
+ "description": "Gets the description of the specified namespace.",
+ "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": "Namespace returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/EHNamespace"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Namespaces"
+ ],
+ "operationId": "Namespaces_Update",
+ "x-ms-examples": {
+ "NamespacesUpdate": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceUpdate.json"
+ }
+ },
+ "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/NamespaceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EHNamespace"
+ },
+ "description": "Parameters for updating a namespace resource."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/EHNamespace"
+ }
+ },
+ "201": {
+ "description": "Namespace update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/EHNamespace"
+ }
+ },
+ "202": {
+ "description": "Namespace create or update request accepted."
+ },
+ "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}/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"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "EHNamespaceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EHNamespace"
+ },
+ "description": "Result of the List Namespace operation"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of namespaces."
+ }
+ },
+ "description": "The response of the List Namespace operation"
+ },
+ "EHNamespace": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "Properties of sku resource"
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "Properties of BYOK Identity description"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../common/v1/definitions.json#/definitions/systemData"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Provisioning state of the Namespace."
+ },
+ "status": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Status of the Namespace."
+ },
+ "createdAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "The time the Namespace was created."
+ },
+ "updatedAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "The time the Namespace was updated."
+ },
+ "serviceBusEndpoint": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Endpoint you can use to perform Service Bus operations."
+ },
+ "clusterArmId": {
+ "type": "string",
+ "description": "Cluster ARM ID of the Namespace."
+ },
+ "metricId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Identifier for Azure Insights metrics."
+ },
+ "isAutoInflateEnabled": {
+ "type": "boolean",
+ "description": "Value that indicates whether AutoInflate is enabled for eventhub namespace."
+ },
+ "maximumThroughputUnits": {
+ "format": "int32",
+ "type": "integer",
+ "maximum": 20,
+ "minimum": 0,
+ "description": "Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 throughput units. ( '0' if AutoInflateEnabled = true)"
+ },
+ "kafkaEnabled": {
+ "type": "boolean",
+ "description": "Value that indicates whether Kafka is enabled for eventhub namespace."
+ },
+ "zoneRedundant": {
+ "type": "boolean",
+ "description": "Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones."
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Properties of BYOK Encryption description"
+ },
+ "privateEndpointConnections": {
+ "description": "List of private endpoint connections.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "disableLocalAuth": {
+ "type": "boolean",
+ "description": "This property disables SAS authentication for the Event Hubs namespace."
+ }
+ },
+ "description": "Namespace properties supplied for create namespace operation."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Single Namespace item in List or Get Operation"
+ },
+ "Sku": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of this SKU.",
+ "enum": [
+ "Basic",
+ "Standard",
+ "Premium"
+ ],
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "The billing tier of this particular SKU.",
+ "enum": [
+ "Basic",
+ "Standard",
+ "Premium"
+ ],
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "format": "int32",
+ "minimum": 0,
+ "type": "integer",
+ "description": "The Event Hubs throughput units for Basic or Standard tiers, where value should be 0 to 20 throughput units. The Event Hubs premium units for Premium tier, where value should be 0 to 10 premium units."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "SKU parameters supplied to the create namespace operation"
+ },
+ "Identity": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "ObjectId from the KeyVault",
+ "readOnly": true
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "TenantId from the KeyVault",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of managed service identity.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedServiceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ },
+ "description": "Properties for User Assigned Identities"
+ }
+ },
+ "description": "Properties to configure Identity for Bring your Own Keys"
+ },
+ "UserAssignedIdentity": {
+ "description": "Recognized Dictionary value.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "Principal Id of user assigned identity",
+ "type": "string",
+ "x-ms-client-name": "PrincipalId",
+ "readOnly": true
+ },
+ "clientId": {
+ "description": "Client Id of user assigned identity",
+ "type": "string",
+ "x-ms-client-name": "ClientId",
+ "readOnly": true
+ }
+ }
+ },
+ "Encryption": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "keyVaultProperties": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyVaultProperties"
+ },
+ "x-ms-client-name": "KeyVaultProperties",
+ "description": "Properties of KeyVault"
+ },
+ "keySource": {
+ "type": "string",
+ "description": "Enumerates the possible value of keySource for Encryption",
+ "default": "Microsoft.KeyVault",
+ "enum": [
+ "Microsoft.KeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "keySource",
+ "modelAsString": false
+ }
+ },
+ "requireInfrastructureEncryption": {
+ "type": "boolean",
+ "description": "Enable Infrastructure Encryption (Double Encryption)"
+ }
+ },
+ "description": "Properties to configure Encryption"
+ },
+ "KeyVaultProperties": {
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "description": "Name of the Key from KeyVault",
+ "x-ms-client-name": "KeyName"
+ },
+ "keyVaultUri": {
+ "type": "string",
+ "description": "Uri of KeyVault",
+ "x-ms-client-name": "KeyVaultUri"
+ },
+ "keyVersion": {
+ "type": "string",
+ "description": "Key Version",
+ "x-ms-client-name": "KeyVersion"
+ },
+ "identity": {
+ "$ref": "#/definitions/userAssignedIdentityProperties"
+ }
+ },
+ "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
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../common/v1/definitions.json#/definitions/systemData"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "userAssignedIdentityProperties": {
+ "x-ms-client-flatten": true,
+ "type": "object",
+ "properties": {
+ "userAssignedIdentity": {
+ "type": "string",
+ "description": "ARM ID of user Identity selected for encryption"
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/networkrulessets-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/networkrulessets-preview.json
new file mode 100644
index 000000000000..96be2dbc0787
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/networkrulessets-preview.json
@@ -0,0 +1,240 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client for managing Event Hubs Cluster, IPFilter Rules and VirtualNetworkRules resources.",
+ "version": "2021-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.EventHub/namespaces/{namespaceName}/networkRuleSets/default": {
+ "put": {
+ "tags": [
+ "NetworkRuleSets"
+ ],
+ "x-ms-examples": {
+ "NameSpaceNetworkRuleSetCreate": {
+ "$ref": "./examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json"
+ }
+ },
+ "operationId": "Namespaces_CreateOrUpdateNetworkRuleSet",
+ "description": "Create or update NetworkRuleSet for a Namespace.",
+ "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"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NetworkRuleSet"
+ },
+ "description": "The Namespace IpFilterRule."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace NetworkRuleSet successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/NetworkRuleSet"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "NetworkRuleSets"
+ ],
+ "x-ms-examples": {
+ "NameSpaceNetworkRuleSetGet": {
+ "$ref": "./examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json"
+ }
+ },
+ "operationId": "Namespaces_GetNetworkRuleSet",
+ "description": "Gets NetworkRuleSet for a Namespace.",
+ "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": "Namespace NetworkRuleSet successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/NetworkRuleSet"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Subnet": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID of Virtual Network Subnet"
+ }
+ },
+ "description": "Properties supplied for Subnet"
+ },
+ "NWRuleSetIpRules": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "ipMask": {
+ "type": "string",
+ "description": "IP Mask"
+ },
+ "action": {
+ "type": "string",
+ "description": "The IP Filter Action",
+ "enum": [
+ "Allow"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkRuleIPAction",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "The response from the List namespace operation."
+ },
+ "NWRuleSetVirtualNetworkRules": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "subnet": {
+ "$ref": "#/definitions/Subnet",
+ "description": "Subnet properties"
+ },
+ "ignoreMissingVnetServiceEndpoint": {
+ "type": "boolean",
+ "description": "Value that indicates whether to ignore missing Vnet Service Endpoint"
+ }
+ },
+ "description": "The response from the List namespace operation."
+ },
+ "NetworkRuleSet": {
+ "properties": {
+ "properties": {
+ "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",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "DefaultAction",
+ "modelAsString": true
+ }
+ },
+ "virtualNetworkRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NWRuleSetVirtualNetworkRules"
+ },
+ "description": "List VirtualNetwork Rules"
+ },
+ "ipRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NWRuleSetIpRules"
+ },
+ "description": "List of IpRules"
+ },
+ "publicNetworkAccess": {
+ "description": "This determines if traffic is allowed over public network. By default it is enabled.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccessFlag",
+ "modelAsString": true
+ },
+ "default": "Enabled"
+ }
+ }
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../common/v1/definitions.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "description": "Description of topic resource."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/operations.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/operations.json
new file mode 100644
index 000000000000..25689096809e
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/operations.json
@@ -0,0 +1,126 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2021-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": {
+ "/providers/Microsoft.EventHub/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "EHOperations_List": {
+ "$ref": "./examples/EHOperations_List.json"
+ }
+ },
+ "description": "Lists all of the available Event Hub REST API operations.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "description": "Result of the request to list Event Hub operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "description": "List of Event Hub operations supported by the Microsoft.EventHub 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": "A Event Hub REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation name: {provider}/{resource}/{operation}"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Service provider: Microsoft.EventHub"
+ },
+ "resource": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource on which the operation is performed: Invoice, etc."
+ },
+ "operation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation type: Read, write, delete, etc."
+ }
+ }
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/readme.md b/specification/eventhub/resource-manager/readme.md
index 25d78e03d8fb..d8172ead515d 100644
--- a/specification/eventhub/resource-manager/readme.md
+++ b/specification/eventhub/resource-manager/readme.md
@@ -90,6 +90,21 @@ input-file:
- Microsoft.EventHub/preview/2021-01-01-preview/CheckNameAvailability.json
```
+### Tag: package-2021-06-preview
+
+These settings apply only when `--tag=package-2021-06-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-06-preview'
+input-file:
+- Microsoft.EventHub/preview/2021-06-01-preview/namespaces-preview.json
+- Microsoft.EventHub/preview/2021-06-01-preview/operations.json
+- Microsoft.EventHub/preview/2021-06-01-preview/eventhubs.json
+- Microsoft.EventHub/preview/2021-06-01-preview/disasterRecoveryConfigs.json
+- Microsoft.EventHub/preview/2021-06-01-preview/networkrulessets-preview.json
+- Microsoft.EventHub/preview/2021-06-01-preview/AuthorizationRules.json
+- Microsoft.EventHub/preview/2021-06-01-preview/consumergroups.json
+- Microsoft.EventHub/preview/2021-06-01-preview/CheckNameAvailability.json
+```
### Tag: package-2018-01-preview
diff --git a/specification/eventhub/resource-manager/readme.typescript.md b/specification/eventhub/resource-manager/readme.typescript.md
index 718d2424d623..4270eaf12fc9 100644
--- a/specification/eventhub/resource-manager/readme.typescript.md
+++ b/specification/eventhub/resource-manager/readme.typescript.md
@@ -3,7 +3,7 @@
These settings apply only when `--typescript` is specified on the command line.
Please also specify `--typescript-sdks-folder=`.
-``` yaml $(typescript) && !$(profile)
+``` yaml $(typescript) && !$(profile-content)
typescript:
azure-arm: true
package-name: "@azure/arm-eventhub"
@@ -14,9 +14,9 @@ typescript:
### Profile: profile-hybrid-2020-09-01
-These settings apply only when `--profile=profile-hybrid-2020-09-01` is specified on the command line.
+These settings apply only when `--profile-content=profile-hybrid-2020-09-01` is specified on the command line.
-``` yaml $(profile)=='profile-hybrid-2020-09-01'
+``` yaml $(profile-content)=='profile-hybrid-2020-09-01'
typescript:
package-name: "@azure/arm-eventhub-profile-2020-09-01-hybrid"
output-folder: "$(typescript-sdks-folder)/sdk/eventhub/arm-eventhub-profile-2020-09-01-hybrid"
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServerOperations.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServerOperations.json
new file mode 100644
index 000000000000..641bd75a3f61
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServerOperations.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-03-12-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.FluidRelay/fluidRelayServers/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.FluidRelay",
+ "resource": "fluidRelayServers",
+ "operation": "Get/List fluid relay server resources",
+ "description": "Read fluid relay server"
+ }
+ },
+ {
+ "name": "Microsoft.FluidRelay/fluidRelayServers/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.FluidRelay",
+ "resource": "fluidRelayServers",
+ "operation": "Create/Update fluid relay server resources",
+ "description": "Write fluid relay server"
+ }
+ },
+ {
+ "name": "Microsoft.FluidRelay/fluidRelayServers/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.FluidRelay",
+ "resource": "fluidRelayServers",
+ "operation": "Delete fluid relay server resources",
+ "description": "Delete fluid relay server"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_CreateOrUpdate.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_CreateOrUpdate.json
new file mode 100644
index 000000000000..57593977cfb2
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_CreateOrUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxx-xxxx-xxxx-xxxx",
+ "resourceGroup": "myResourceGroup",
+ "name": "myFluidRelayServer",
+ "api-version": "2021-03-12",
+ "resource": {
+ "location": "west-us",
+ "tags": {
+ "Category": "sales"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer",
+ "name": "myFluidRelayServer",
+ "type": "Microsoft.FluidRelay/fluidRelayServers",
+ "location": "west-us",
+ "properties": {
+ "frsTenantId": "yyyy-yyyy-yyyyy-yyyy",
+ "fluidRelayEndpoints": {
+ "ordererEndpoints": [
+ "https://www.contoso.org/orderer"
+ ],
+ "storageEndpoints": [
+ "https://www.contoso.org/storage"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_Delete.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_Delete.json
new file mode 100644
index 000000000000..00a2a0bc50a1
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxx-xxxx-xxxx-xxxx",
+ "resourceGroup": "myResourceGroup",
+ "name": "myFluidRelayServer",
+ "api-version": "2021-03-12"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_Get.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_Get.json
new file mode 100644
index 000000000000..1b5e124323de
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_Get.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxx-xxxx-xxxx-xxxx",
+ "resourceGroup": "myResourceGroup",
+ "name": "myFluidRelayServer",
+ "api-version": "2021-03-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer",
+ "name": "myFluidRelayServer",
+ "type": "Microsoft.FluidRelay/fluidRelayServers",
+ "location": "west-us",
+ "properties": {
+ "frsTenantId": "yyyy-yyyy-yyyyy-yyyy",
+ "fluidRelayEndpoints": {
+ "ordererEndpoints": [
+ "https://www.contoso.org/orderer"
+ ],
+ "storageEndpoints": [
+ "https://www.contoso.org/storage"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_GetKeys.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_GetKeys.json
new file mode 100644
index 000000000000..56afddca2d2f
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_GetKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxx-xxxx-xxxx-xxxx",
+ "resourceGroup": "myResourceGroup",
+ "name": "myFluidRelayServer",
+ "api-version": "2021-03-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "xxx-xxxx-xxxxx-xxxx",
+ "key2": "yyy-yyyy-yyyyy-yyyy"
+ }
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_ListByResourceGroup.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_ListByResourceGroup.json
new file mode 100644
index 000000000000..66b93693ed9f
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_ListByResourceGroup.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxx-xxxx-xxxx-xxxx",
+ "resourceGroup": "myResourceGroup",
+ "api-version": "2021-03-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer",
+ "name": "myFluidRelayServer",
+ "type": "Microsoft.FluidRelay/fluidRelayServers",
+ "location": "west-us",
+ "properties": {
+ "frsTenantId": "yyyy-yyyy-yyyyy-yyyy",
+ "fluidRelayEndpoints": {
+ "ordererEndpoints": [
+ "https://www.contoso.org/orderer"
+ ],
+ "storageEndpoints": [
+ "https://www.contoso.org/storage"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_ListBySubscription.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_ListBySubscription.json
new file mode 100644
index 000000000000..c9c6f17cef00
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_ListBySubscription.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxx-xxxx-xxxx-xxxx",
+ "api-version": "2021-03-12"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer",
+ "name": "myFluidRelayServer",
+ "type": "Microsoft.FluidRelay/fluidRelayServers",
+ "location": "west-us",
+ "properties": {
+ "frsTenantId": "yyyy-yyyy-yyyyy-yyyy",
+ "fluidRelayEndpoints": {
+ "ordererEndpoints": [
+ "https://www.contoso.org/orderer"
+ ],
+ "storageEndpoints": [
+ "https://www.contoso.org/storage"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_RegenerateKeys.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_RegenerateKeys.json
new file mode 100644
index 000000000000..9ebefbce902d
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_RegenerateKeys.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxx-xxxx-xxxx-xxxx",
+ "resourceGroup": "myResourceGroup",
+ "name": "myFluidRelayServer",
+ "api-version": "2021-03-12",
+ "parameters": {
+ "keyName": "key1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "xxx-xxxx-xxxxx-xxxx",
+ "key2": "yyy-yyyy-yyyyy-yyyy"
+ }
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_Update.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_Update.json
new file mode 100644
index 000000000000..5da7acddedd5
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/examples/FluidRelayServers_Update.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxx-xxxx-xxxx-xxxx",
+ "resourceGroup": "myResourceGroup",
+ "name": "myFluidRelayServer",
+ "api-version": "2021-03-12",
+ "resource": {
+ "tags": {
+ "Category": "sales"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer",
+ "name": "myFluidRelayServer",
+ "type": "Microsoft.FluidRelay/fluidRelayServers",
+ "location": "west-us",
+ "properties": {
+ "frsTenantId": "yyyy-yyyy-yyyyy-yyyy",
+ "fluidRelayEndpoints": {
+ "ordererEndpoints": [
+ "https://www.contoso.org/orderer"
+ ],
+ "storageEndpoints": [
+ "https://www.contoso.org/storage"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "Category": "sales"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/fluidrelay.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/fluidrelay.json
new file mode 100644
index 000000000000..fe9779896abc
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-03-12-preview/fluidrelay.json
@@ -0,0 +1,718 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Fluid Relay",
+ "version": "2021-03-12-preview"
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.FluidRelay/operations": {
+ "get": {
+ "tags": [
+ "FluidRelayOperations"
+ ],
+ "summary": "List all operations provided by Microsoft.FluidRelay.",
+ "operationId": "FluidRelayOperations_List",
+ "x-ms-examples": {
+ "List Fluid Relay server operations": {
+ "$ref": "./examples/FluidRelayServerOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed synchronously.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.FluidRelay/fluidRelayServers/{name}": {
+ "get": {
+ "operationId": "FluidRelayServers_Get",
+ "tags": [
+ "FluidRelayServers"
+ ],
+ "summary": "Get a Fluid Relay server.",
+ "x-ms-examples": {
+ "Get Fluid Relay server details": {
+ "$ref": "./examples/FluidRelayServers_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServer"
+ },
+ "description": "Request completed synchronously."
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ }
+ },
+ "put": {
+ "operationId": "FluidRelayServers_CreateOrUpdate",
+ "tags": [
+ "FluidRelayServers"
+ ],
+ "summary": "Create or Update a Fluid Relay server.",
+ "x-ms-examples": {
+ "Create a Fluid Relay server": {
+ "$ref": "./examples/FluidRelayServers_CreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServer"
+ },
+ "description": "The details of the Fluid Relay server resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServer"
+ },
+ "description": "Request completed synchronously.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "type": "string"
+ },
+ "x-ms-correlation-request-id": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ }
+ },
+ "patch": {
+ "operationId": "FluidRelayServers_Update",
+ "tags": [
+ "FluidRelayServers"
+ ],
+ "summary": "Update a Fluid Relay server.",
+ "x-ms-examples": {
+ "Create a Fluid Relay server": {
+ "$ref": "./examples/FluidRelayServers_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServerUpdate"
+ },
+ "description": "The updatable details of the Fluid Relay server resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServer"
+ },
+ "description": "Request Completed Synchronously.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "type": "string"
+ },
+ "x-ms-correlation-request-id": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ }
+ },
+ "delete": {
+ "operationId": "FluidRelayServers_Delete",
+ "tags": [
+ "FluidRelayServers"
+ ],
+ "summary": "Delete a Fluid Relay server.",
+ "x-ms-examples": {
+ "Delete a Fluid Relay server": {
+ "$ref": "./examples/FluidRelayServers_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request completed Synchronously.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "type": "string"
+ },
+ "x-ms-correlation-request-id": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Request completed Synchronously.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "type": "string"
+ },
+ "x-ms-correlation-request-id": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.FluidRelay/fluidRelayServers/{name}/regenerateKey": {
+ "post": {
+ "operationId": "FluidRelayServers_RegenerateKey",
+ "summary": "Regenerate the primary or secondary key for this server.",
+ "x-ms-examples": {
+ "Regenerate keys for a Fluid Relay server": {
+ "$ref": "./examples/FluidRelayServers_RegenerateKeys.json"
+ }
+ },
+ "tags": [
+ "FluidRelayServers"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateKeyRequest"
+ },
+ "description": "The details of which keys to generate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServerKeys"
+ },
+ "description": "Request Completed Synchronously.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "type": "string"
+ },
+ "x-ms-correlation-request-id": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.FluidRelay/fluidRelayServers/{name}/getKeys": {
+ "post": {
+ "operationId": "FluidRelayServers_GetKeys",
+ "summary": "Regenerate the primary or secondary key for this server.",
+ "x-ms-examples": {
+ "Get keys for a Fluid Relay server": {
+ "$ref": "./examples/FluidRelayServers_GetKeys.json"
+ }
+ },
+ "tags": [
+ "FluidRelayServers"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServerKeys"
+ },
+ "description": "Request Completed Synchronously.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "type": "string"
+ },
+ "x-ms-correlation-request-id": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.FluidRelay/fluidRelayServers": {
+ "get": {
+ "operationId": "FluidRelayServers_ListBySubscription",
+ "summary": "List all Fluid Relay servers in a subscription.",
+ "x-ms-examples": {
+ "List all Fluid Relay servers in a subscription": {
+ "$ref": "./examples/FluidRelayServers_ListBySubscription.json"
+ }
+ },
+ "tags": [
+ "FluidRelayServers"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServerList"
+ },
+ "description": "Paged response"
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.FluidRelay/fluidRelayServers": {
+ "get": {
+ "operationId": "FluidRelayServers_ListByResourceGroup",
+ "tags": [
+ "FluidRelayServers"
+ ],
+ "summary": "List all Fluid Relay servers in a resource group.",
+ "x-ms-examples": {
+ "List all Fluid Relay servers in a resource group": {
+ "$ref": "./examples/FluidRelayServers_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServerList"
+ },
+ "description": "Paged response"
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationDisplay": {
+ "description": "The object that represents the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft.FluidRelay",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Type on which the operation is performed, e.g., 'servers'.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type, e.g., read, write, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation, e.g., 'Write confluent'.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationResult": {
+ "description": "A FluidRelay REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "$ref": "#/definitions/OperationDisplay"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of GET request to list FluidRelay operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of FluidRelay operations supported by the Microsoft.FluidRelay provider.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationResult"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of operation list results if there are any.",
+ "type": "string"
+ }
+ }
+ },
+ "FluidRelayServerUpdate": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": false,
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ }
+ },
+ "description": "The updatable properties of a Fluid Relay server"
+ },
+ "FluidRelayServerList": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FluidRelayServer"
+ },
+ "description": "A sequence of FluidRelay servers.",
+ "x-adl-name": "FluidRelayServer[]"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "A link to the next page of results, if any."
+ }
+ },
+ "description": "Paged response",
+ "required": [
+ "value"
+ ],
+ "x-adl-name": "Page"
+ },
+ "FluidRelayServer": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FluidRelayServerProperties",
+ "description": "The resource-specific properties for this resource.",
+ "readOnly": false,
+ "x-ms-client-flatten": true,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "System meta data for this resource, including creation and modification information.",
+ "readOnly": true
+ }
+ },
+ "description": "A FluidRelay Server.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "x-ms-azure-resource": true
+ },
+ "FluidRelayServerKeys": {
+ "type": "object",
+ "properties": {
+ "key1": {
+ "type": "string",
+ "format": "password",
+ "description": "The primary key for this server",
+ "readOnly": true
+ },
+ "key2": {
+ "type": "string",
+ "format": "password",
+ "description": "The secondary key for this server",
+ "readOnly": true
+ }
+ },
+ "description": "The set of available keys for this server."
+ },
+ "RegenerateKeyRequest": {
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "enum": [
+ "key1",
+ "key2"
+ ],
+ "x-ms-enum": {
+ "modelAsString": false,
+ "name": "KeyName"
+ },
+ "x-adl-name": "key1 | key2",
+ "description": "The key to regenerate."
+ }
+ },
+ "description": "Specifies which key should be generated.",
+ "required": [
+ "keyName"
+ ]
+ },
+ "FluidRelayServerProperties": {
+ "type": "object",
+ "properties": {
+ "frsTenantId": {
+ "type": "string",
+ "description": "The Fluid tenantId for this server",
+ "readOnly": true
+ },
+ "fluidRelayEndpoints": {
+ "$ref": "#/definitions/FluidRelayEndpoints",
+ "description": "The Fluid Relay Service endpoints for this server.",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "description": "Provision states for FluidRelay RP",
+ "title": "ProvisioningState",
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "The properties of a Fluid Relay Service resource."
+ },
+ "FluidRelayEndpoints": {
+ "type": "object",
+ "properties": {
+ "ordererEndpoints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Fluid Relay Orderer endpoints.",
+ "readOnly": true
+ },
+ "storageEndpoints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Fluid Relay storage endpoints.",
+ "readOnly": true
+ }
+ },
+ "description": "The Fluid Relay endpoints for this server"
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "type": "string",
+ "required": true,
+ "description": "The subscription id (GUID) for this resource."
+ },
+ "ResourceGroup": {
+ "name": "resourceGroup",
+ "in": "path",
+ "type": "string",
+ "required": true,
+ "description": "The resource group containing the resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceName": {
+ "name": "name",
+ "in": "path",
+ "type": "string",
+ "required": true,
+ "description": "The resource name.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServerOperations.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServerOperations.json
new file mode 100644
index 000000000000..251313c16cb6
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServerOperations.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-06-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.FluidRelay/fluidRelayServers/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.FluidRelay",
+ "resource": "fluidRelayServers",
+ "operation": "Get/List fluid relay server resources",
+ "description": "Read fluid relay server"
+ }
+ },
+ {
+ "name": "Microsoft.FluidRelay/fluidRelayServers/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.FluidRelay",
+ "resource": "fluidRelayServers",
+ "operation": "Create/Update fluid relay server resources",
+ "description": "Write fluid relay server"
+ }
+ },
+ {
+ "name": "Microsoft.FluidRelay/fluidRelayServers/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.FluidRelay",
+ "resource": "fluidRelayServers",
+ "operation": "Delete fluid relay server resources",
+ "description": "Delete fluid relay server"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_CreateOrUpdate.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_CreateOrUpdate.json
new file mode 100644
index 000000000000..1987050bb71e
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_CreateOrUpdate.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxx-xxxx-xxxx-xxxx",
+ "resourceGroup": "myResourceGroup",
+ "name": "myFluidRelayServer",
+ "api-version": "2021-06-15",
+ "resource": {
+ "location": "west-us",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "tags": {
+ "Category": "sales"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer",
+ "name": "myFluidRelayServer",
+ "type": "Microsoft.FluidRelay/fluidRelayServers",
+ "location": "west-us",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "tenantId": "00000000-0000-0000-0000-000000000000"
+ },
+ "properties": {
+ "frsTenantId": "yyyy-yyyy-yyyyy-yyyy",
+ "fluidRelayEndpoints": {
+ "ordererEndpoints": [
+ "https://www.contoso.org/orderer"
+ ],
+ "storageEndpoints": [
+ "https://www.contoso.org/storage"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_Delete.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_Delete.json
new file mode 100644
index 000000000000..1762d4372c30
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxx-xxxx-xxxx-xxxx",
+ "resourceGroup": "myResourceGroup",
+ "name": "myFluidRelayServer",
+ "api-version": "2021-06-15"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_Get.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_Get.json
new file mode 100644
index 000000000000..064effbcdfbe
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_Get.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxx-xxxx-xxxx-xxxx",
+ "resourceGroup": "myResourceGroup",
+ "name": "myFluidRelayServer",
+ "api-version": "2021-06-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer",
+ "name": "myFluidRelayServer",
+ "type": "Microsoft.FluidRelay/fluidRelayServers",
+ "location": "west-us",
+ "properties": {
+ "frsTenantId": "yyyy-yyyy-yyyyy-yyyy",
+ "fluidRelayEndpoints": {
+ "ordererEndpoints": [
+ "https://www.contoso.org/orderer"
+ ],
+ "storageEndpoints": [
+ "https://www.contoso.org/storage"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_GetKeys.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_GetKeys.json
new file mode 100644
index 000000000000..4fba06f060f0
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_GetKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxx-xxxx-xxxx-xxxx",
+ "resourceGroup": "myResourceGroup",
+ "name": "myFluidRelayServer",
+ "api-version": "2021-06-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "xxx-xxxx-xxxxx-xxxx",
+ "key2": "yyy-yyyy-yyyyy-yyyy"
+ }
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_ListByResourceGroup.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_ListByResourceGroup.json
new file mode 100644
index 000000000000..1475dfdad975
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_ListByResourceGroup.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxx-xxxx-xxxx-xxxx",
+ "resourceGroup": "myResourceGroup",
+ "api-version": "2021-06-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer",
+ "name": "myFluidRelayServer",
+ "type": "Microsoft.FluidRelay/fluidRelayServers",
+ "location": "west-us",
+ "properties": {
+ "frsTenantId": "yyyy-yyyy-yyyyy-yyyy",
+ "fluidRelayEndpoints": {
+ "ordererEndpoints": [
+ "https://www.contoso.org/orderer"
+ ],
+ "storageEndpoints": [
+ "https://www.contoso.org/storage"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_ListBySubscription.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_ListBySubscription.json
new file mode 100644
index 000000000000..9de4f8549caa
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_ListBySubscription.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxx-xxxx-xxxx-xxxx",
+ "api-version": "2021-06-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer",
+ "name": "myFluidRelayServer",
+ "type": "Microsoft.FluidRelay/fluidRelayServers",
+ "location": "west-us",
+ "properties": {
+ "frsTenantId": "yyyy-yyyy-yyyyy-yyyy",
+ "fluidRelayEndpoints": {
+ "ordererEndpoints": [
+ "https://www.contoso.org/orderer"
+ ],
+ "storageEndpoints": [
+ "https://www.contoso.org/storage"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_RegenerateKeys.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_RegenerateKeys.json
new file mode 100644
index 000000000000..4289e93b21f7
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_RegenerateKeys.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxx-xxxx-xxxx-xxxx",
+ "resourceGroup": "myResourceGroup",
+ "name": "myFluidRelayServer",
+ "api-version": "2021-06-15",
+ "parameters": {
+ "keyName": "key1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "xxx-xxxx-xxxxx-xxxx",
+ "key2": "yyy-yyyy-yyyyy-yyyy"
+ }
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_Update.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_Update.json
new file mode 100644
index 000000000000..d196b1cb5f1a
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/examples/FluidRelayServers_Update.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "xxxx-xxxx-xxxx-xxxx",
+ "resourceGroup": "myResourceGroup",
+ "name": "myFluidRelayServer",
+ "api-version": "2021-06-15",
+ "resource": {
+ "tags": {
+ "Category": "sales"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer",
+ "name": "myFluidRelayServer",
+ "type": "Microsoft.FluidRelay/fluidRelayServers",
+ "location": "west-us",
+ "properties": {
+ "frsTenantId": "yyyy-yyyy-yyyyy-yyyy",
+ "fluidRelayEndpoints": {
+ "ordererEndpoints": [
+ "https://www.contoso.org/orderer"
+ ],
+ "storageEndpoints": [
+ "https://www.contoso.org/storage"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "Category": "sales"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/fluidrelay.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/fluidrelay.json
new file mode 100644
index 000000000000..989b0254c064
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/preview/2021-06-15-preview/fluidrelay.json
@@ -0,0 +1,754 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Fluid Relay",
+ "version": "2021-06-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": {
+ "/providers/Microsoft.FluidRelay/operations": {
+ "get": {
+ "tags": [
+ "FluidRelayOperations"
+ ],
+ "summary": "List all operations provided by Microsoft.FluidRelay.",
+ "operationId": "FluidRelayOperations_List",
+ "x-ms-examples": {
+ "List Fluid Relay server operations": {
+ "$ref": "./examples/FluidRelayServerOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed synchronously.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.FluidRelay/fluidRelayServers/{name}": {
+ "get": {
+ "operationId": "FluidRelayServers_Get",
+ "tags": [
+ "FluidRelayServers"
+ ],
+ "summary": "Get a Fluid Relay server.",
+ "x-ms-examples": {
+ "Get Fluid Relay server details": {
+ "$ref": "./examples/FluidRelayServers_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServer"
+ },
+ "description": "Request completed synchronously."
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ }
+ },
+ "put": {
+ "operationId": "FluidRelayServers_CreateOrUpdate",
+ "tags": [
+ "FluidRelayServers"
+ ],
+ "summary": "Create or Update a Fluid Relay server.",
+ "x-ms-examples": {
+ "Create a Fluid Relay server": {
+ "$ref": "./examples/FluidRelayServers_CreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServer"
+ },
+ "description": "The details of the Fluid Relay server resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServer"
+ },
+ "description": "Request completed synchronously.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "type": "string"
+ },
+ "x-ms-correlation-request-id": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ }
+ },
+ "patch": {
+ "operationId": "FluidRelayServers_Update",
+ "tags": [
+ "FluidRelayServers"
+ ],
+ "summary": "Update a Fluid Relay server.",
+ "x-ms-examples": {
+ "Create a Fluid Relay server": {
+ "$ref": "./examples/FluidRelayServers_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServerUpdate"
+ },
+ "description": "The updatable details of the Fluid Relay server resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServer"
+ },
+ "description": "Request Completed Synchronously.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "type": "string"
+ },
+ "x-ms-correlation-request-id": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ }
+ },
+ "delete": {
+ "operationId": "FluidRelayServers_Delete",
+ "tags": [
+ "FluidRelayServers"
+ ],
+ "summary": "Delete a Fluid Relay server.",
+ "x-ms-examples": {
+ "Delete a Fluid Relay server": {
+ "$ref": "./examples/FluidRelayServers_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request completed Synchronously.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "type": "string"
+ },
+ "x-ms-correlation-request-id": {
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Request completed Synchronously.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "type": "string"
+ },
+ "x-ms-correlation-request-id": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.FluidRelay/fluidRelayServers/{name}/regenerateKey": {
+ "post": {
+ "operationId": "FluidRelayServers_RegenerateKey",
+ "summary": "Regenerate the primary or secondary key for this server.",
+ "x-ms-examples": {
+ "Regenerate keys for a Fluid Relay server": {
+ "$ref": "./examples/FluidRelayServers_RegenerateKeys.json"
+ }
+ },
+ "tags": [
+ "FluidRelayServers"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateKeyRequest"
+ },
+ "description": "The details of which keys to generate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServerKeys"
+ },
+ "description": "Request Completed Synchronously.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "type": "string"
+ },
+ "x-ms-correlation-request-id": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.FluidRelay/fluidRelayServers/{name}/getKeys": {
+ "post": {
+ "operationId": "FluidRelayServers_GetKeys",
+ "summary": "Regenerate the primary or secondary key for this server.",
+ "x-ms-examples": {
+ "Get keys for a Fluid Relay server": {
+ "$ref": "./examples/FluidRelayServers_GetKeys.json"
+ }
+ },
+ "tags": [
+ "FluidRelayServers"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServerKeys"
+ },
+ "description": "Request Completed Synchronously.",
+ "headers": {
+ "x-ms-client-request-id": {
+ "type": "string"
+ },
+ "x-ms-correlation-request-id": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.FluidRelay/fluidRelayServers": {
+ "get": {
+ "operationId": "FluidRelayServers_ListBySubscription",
+ "summary": "List all Fluid Relay servers in a subscription.",
+ "x-ms-examples": {
+ "List all Fluid Relay servers in a subscription": {
+ "$ref": "./examples/FluidRelayServers_ListBySubscription.json"
+ }
+ },
+ "tags": [
+ "FluidRelayServers"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServerList"
+ },
+ "description": "Paged response"
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.FluidRelay/fluidRelayServers": {
+ "get": {
+ "operationId": "FluidRelayServers_ListByResourceGroup",
+ "tags": [
+ "FluidRelayServers"
+ ],
+ "summary": "List all Fluid Relay servers in a resource group.",
+ "x-ms-examples": {
+ "List all Fluid Relay servers in a resource group": {
+ "$ref": "./examples/FluidRelayServers_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroup"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/FluidRelayServerList"
+ },
+ "description": "Paged response"
+ },
+ "default": {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ },
+ "description": "Error in operation."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationDisplay": {
+ "description": "The object that represents the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft.FluidRelay",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Type on which the operation is performed, e.g., 'servers'.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type, e.g., read, write, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation, e.g., 'Write confluent'.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationResult": {
+ "description": "A FluidRelay REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "$ref": "#/definitions/OperationDisplay"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of GET request to list FluidRelay operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of FluidRelay operations supported by the Microsoft.FluidRelay provider.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationResult"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of operation list results if there are any.",
+ "type": "string"
+ }
+ }
+ },
+ "FluidRelayServerUpdate": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": false,
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The type of identity used for the resource."
+ }
+ },
+ "description": "The updatable properties of a Fluid Relay server"
+ },
+ "FluidRelayServerList": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FluidRelayServer"
+ },
+ "description": "A sequence of FluidRelay servers.",
+ "x-adl-name": "FluidRelayServer[]"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "A link to the next page of results, if any."
+ }
+ },
+ "description": "Paged response",
+ "required": [
+ "value"
+ ],
+ "x-adl-name": "Page"
+ },
+ "FluidRelayServer": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FluidRelayServerProperties",
+ "description": "The resource-specific properties for this resource.",
+ "readOnly": false,
+ "x-ms-client-flatten": true,
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "System meta data for this resource, including creation and modification information.",
+ "readOnly": true
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The type of identity used for the resource."
+ }
+ },
+ "description": "A FluidRelay Server.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "FluidRelayServerKeys": {
+ "type": "object",
+ "properties": {
+ "key1": {
+ "type": "string",
+ "format": "password",
+ "description": "The primary key for this server",
+ "readOnly": true
+ },
+ "key2": {
+ "type": "string",
+ "format": "password",
+ "description": "The secondary key for this server",
+ "readOnly": true
+ }
+ },
+ "description": "The set of available keys for this server."
+ },
+ "RegenerateKeyRequest": {
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "enum": [
+ "key1",
+ "key2"
+ ],
+ "x-ms-enum": {
+ "modelAsString": false,
+ "name": "KeyName"
+ },
+ "x-adl-name": "key1 | key2",
+ "description": "The key to regenerate."
+ }
+ },
+ "description": "Specifies which key should be generated.",
+ "required": [
+ "keyName"
+ ]
+ },
+ "Identity": {
+ "description": "Identity for the resource.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource."
+ },
+ "type": {
+ "enum": [
+ "SystemAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The identity type."
+ }
+ }
+ },
+ "FluidRelayServerProperties": {
+ "type": "object",
+ "properties": {
+ "frsTenantId": {
+ "type": "string",
+ "description": "The Fluid tenantId for this server",
+ "readOnly": true
+ },
+ "fluidRelayEndpoints": {
+ "$ref": "#/definitions/FluidRelayEndpoints",
+ "description": "The Fluid Relay Service endpoints for this server.",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "description": "Provision states for FluidRelay RP",
+ "title": "ProvisioningState",
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "The properties of a Fluid Relay Service resource."
+ },
+ "FluidRelayEndpoints": {
+ "type": "object",
+ "properties": {
+ "ordererEndpoints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Fluid Relay Orderer endpoints.",
+ "readOnly": true
+ },
+ "storageEndpoints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Fluid Relay storage endpoints.",
+ "readOnly": true
+ }
+ },
+ "description": "The Fluid Relay endpoints for this server"
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "type": "string",
+ "required": true,
+ "description": "The subscription id (GUID) for this resource."
+ },
+ "ResourceGroup": {
+ "name": "resourceGroup",
+ "in": "path",
+ "type": "string",
+ "required": true,
+ "description": "The resource group containing the resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceName": {
+ "name": "name",
+ "in": "path",
+ "type": "string",
+ "required": true,
+ "description": "The resource name.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/fluidrelay/resource-manager/readme.csharp.md b/specification/fluidrelay/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..af83703c9e40
--- /dev/null
+++ b/specification/fluidrelay/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.FluidRelay
+ output-folder: $(csharp-sdks-folder)/fluidrelay/management/Microsoft.FluidRelay/GeneratedProtocol
+```
diff --git a/specification/fluidrelay/resource-manager/readme.go.md b/specification/fluidrelay/resource-manager/readme.go.md
new file mode 100644
index 000000000000..6619e71cc2ee
--- /dev/null
+++ b/specification/fluidrelay/resource-manager/readme.go.md
@@ -0,0 +1,37 @@
+## 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-2021-03-12-preview
+ - tag: package-2021-06-15-preview
+```
+
+### Tag: package-2021-03-12-preview and go
+
+These settings apply only when `--tag=package-2021-03-12-preview --go` is specified on the command line.
+Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-2021-03-12-preview' && $(go)
+namespace: fluidrelay
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-03-12-preview/$(namespace)
+```
+
+### Tag: package-2021-06-15-preview and go
+
+These settings apply only when `--tag=package-2021-06-15-preview --go` is specified on the command line.
+Please also specify `--go-sdks-folder=